On Sun, Dec 30, 2012 at 6:06 AM, Eli Bendersky <eli...@gmail.com> wrote:

>
>
>
> On Sun, Dec 30, 2012 at 5:54 AM, Stefan Krah <ste...@bytereef.org> wrote:
>
>> Eli Bendersky <eli...@gmail.com> wrote:
>> > Yes, this is the solution currently used in test_xml_etree. However,
>> once
>> > pickling tests are added things stop working. Pickle uses __import__ to
>> import
>> > the module a class belongs to, bypassing all such trickery. So if
>> test___all__
>> > got _elementtree into sys.modules, pickle's __import__ finds it even if
>> all the
>> > tests in test_xml_etree manage to ignore it for the Python version
>> because they
>> > use import_fresh_module.
>>
>> I ran into the same problem for test_decimal. The only thing that appears
>> to work is to set sys.modules['decimal'] explicitly before calling
>> dumps()/loads(). See:
>>
>>    PythonAPItests.test_pickle()
>>    ContextAPItests.test_pickle()
>>
>>
>> test_decimal ruthlessly switches sys.modules['decimal'] many times. At the
>> end of all tests there is a sanity check that asserts that the number of
>> changes were in fact balanced.
>
>
> Thank you, I'll try this. I'm also experimenting with other approaches.
>
> By the way, from clean default checkout:
>
> $ ./python -mtest test___all__ test_int
> [1/2] test___all__
> [2/2] test_int
> test test_int failed -- Traceback (most recent call last):
>   File "/home/eliben/python-src/default/Lib/test/test_int.py", line 236,
> in test_keyword_args
>     self.assertRaises(TypeError, int, base=10)
> AssertionError: TypeError not raised by int
>
> 1 test OK.
> 1 test failed:
>     test_int
>
> Should this really fail? [I haven't investigated the root cause yet]
>

This is a false alarm, sorry. Please ignore this report (I had some stale
build artifacts).

Eli
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to