So Deform is trying to resolve a table schema at import. I don't know
about Deform schemas, but what's probably happening is that with
pserve, the engine is configured and bound before the view scan is
called, but in the test environment it's importing the model looking
for tests, and thus triggering the code before main() has been called.
This often happens in unit tests, in Pylons and other frameworks. The
general solution is to move the code into a function or arrange for
that module not to be scanned, but I don't know how to apply this to
Deform.

On Mon, Mar 5, 2012 at 2:31 AM, Benjamin Sims <benjamins...@gmail.com> wrote:
> Thanks for the help,
>
> Relevant section of the traceback is as follows:
>
>
> File
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py",
> line 91, in loadTestsFromName
>     module = __import__('.'.join(parts_copy))
>   File "/Users/benjamin/Project/app/dev/Project/project/schemas.py", line
> 171, in <module>
>     class TheSchema(colander.Schema):
>   File "/Users/benjamin/Project/app/dev/Project/project/schemas.py", line
> 176, in TheSchema
>     widget = deform.widget.SelectWidget(values=helper()),
>   File "/Users/benjamin/Project/app/dev/Project/project/schemas.py", line
> 168, in helper
>     # SQLA query is done here
>
> It seems that the unittest loader is loading the schema class as one of its
> tests, which then makes the helper call and fails.
>
> Commenting out the TheSchema class allows the test to run as normal.
>
> Thanks,
> Ben
>
> On 2 March 2012 19:05, Mike Orr <sluggos...@gmail.com> wrote:
>>
>> On Fri, Mar 2, 2012 at 3:16 AM, Benjamin Sims <benjamins...@gmail.com>
>> wrote:
>> > on the grounds that there is no bind for DBSession in helper() above. I
>> > understand that there is no bind, but helper is not called explicitly
>> > nor
>> > required by anything in the tests.
>>
>> Does the traceback say who called helper()? What happens if you
>> comment out the helper function?
>>
>> --
>> Mike Orr <sluggos...@gmail.com>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "pylons-discuss" group.
>> To post to this group, send email to pylons-discuss@googlegroups.com.
>> To unsubscribe from this group, send email to
>> pylons-discuss+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/pylons-discuss?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "pylons-discuss" group.
> To post to this group, send email to pylons-discuss@googlegroups.com.
> To unsubscribe from this group, send email to
> pylons-discuss+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/pylons-discuss?hl=en.



-- 
Mike Orr <sluggos...@gmail.com>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to