[Python-Dev] test___all__ polluting sys.modules? (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Sun Dec 30 02:34:23 CET 2012
- Previous message: [Python-Dev] test___all__ polluting sys.modules?
- Next message: [Python-Dev] test___all__ polluting sys.modules?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Dec 30, 2012 at 10:46 AM, Benjamin Peterson <benjamin at python.org> wrote:
2012/12/29 Eli Bendersky <eliben at gmail.com>:
Hi,
This came up while investigating some test-order-dependency failures in issue 16076. test_all goes over modules that have
_all_
in them and does 'from_ import *' on them. This leaves a lot of modules in sys.modules, which may interfere with some tests that do fancy things with sys,modules. In particular, the ElementTree tests have trouble with it because they carefully set up the imports to get the C or the Python version of etree (see issues 15083 and 15075). Would it make sense to save the sys.modules state and restore it in test_all so that sys.modules isn't affected by this test?_ Sounds reasonable to me.
I've tried this as an inherent property of regrtest before (to resolve some problems with test_pydoc), and it didn't work - we have too many modules with non-local side effects (IIRC, mostly related to the copy and pickle registries).
Given that it checks the whole standard library, test___all__ is likely to run into the same problem.
Hence test.support.import_fresh_module - it can ensure you get the module you want, regardless of the preexisting contents of sys.modules. (http://docs.python.org/dev/library/test#test.support.import_fresh_module)
Cheers, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-Dev] test___all__ polluting sys.modules?
- Next message: [Python-Dev] test___all__ polluting sys.modules?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]