[Python-checkins] r88368 - in python/branches/py3k: Lib/test/test_zipimport_support.py Misc/NEWS

nick.coghlan python-checkins at python.org
Mon Feb 7 14:43:07 CET 2011


Author: nick.coghlan
Date: Mon Feb  7 14:43:07 2011
New Revision: 88368

Log:
Issue 10971: Make test_zipimport_support once again compatible with refleak hunting

Modified:
   python/branches/py3k/Lib/test/test_zipimport_support.py
   python/branches/py3k/Misc/NEWS

Modified: python/branches/py3k/Lib/test/test_zipimport_support.py
==============================================================================
--- python/branches/py3k/Lib/test/test_zipimport_support.py	(original)
+++ python/branches/py3k/Lib/test/test_zipimport_support.py	Mon Feb  7 14:43:07 2011
@@ -93,7 +93,10 @@
             os.remove(init_name)
             sys.path.insert(0, zip_name)
             import zip_pkg
-            self.assertEqual(inspect.getsource(zip_pkg.foo), test_src)
+            try:
+                self.assertEqual(inspect.getsource(zip_pkg.foo), test_src)
+            finally:
+                del sys.modules["zip_pkg"]
 
     def test_doctest_issue4197(self):
         # To avoid having to keep two copies of the doctest module's
@@ -128,53 +131,56 @@
             os.remove(script_name)
             sys.path.insert(0, zip_name)
             import test_zipped_doctest
-            # Some of the doc tests depend on the colocated text files
-            # which aren't available to the zipped version (the doctest
-            # module currently requires real filenames for non-embedded
-            # tests). So we're forced to be selective about which tests
-            # to run.
-            # doctest could really use some APIs which take a text
-            # string or a file object instead of a filename...
-            known_good_tests = [
-                test_zipped_doctest.SampleClass,
-                test_zipped_doctest.SampleClass.NestedClass,
-                test_zipped_doctest.SampleClass.NestedClass.__init__,
-                test_zipped_doctest.SampleClass.__init__,
-                test_zipped_doctest.SampleClass.a_classmethod,
-                test_zipped_doctest.SampleClass.a_property,
-                test_zipped_doctest.SampleClass.a_staticmethod,
-                test_zipped_doctest.SampleClass.double,
-                test_zipped_doctest.SampleClass.get,
-                test_zipped_doctest.SampleNewStyleClass,
-                test_zipped_doctest.SampleNewStyleClass.__init__,
-                test_zipped_doctest.SampleNewStyleClass.double,
-                test_zipped_doctest.SampleNewStyleClass.get,
-                test_zipped_doctest.sample_func,
-                test_zipped_doctest.test_DocTest,
-                test_zipped_doctest.test_DocTestParser,
-                test_zipped_doctest.test_DocTestRunner.basics,
-                test_zipped_doctest.test_DocTestRunner.exceptions,
-                test_zipped_doctest.test_DocTestRunner.option_directives,
-                test_zipped_doctest.test_DocTestRunner.optionflags,
-                test_zipped_doctest.test_DocTestRunner.verbose_flag,
-                test_zipped_doctest.test_Example,
-                test_zipped_doctest.test_debug,
-                test_zipped_doctest.test_pdb_set_trace,
-                test_zipped_doctest.test_pdb_set_trace_nested,
-                test_zipped_doctest.test_testsource,
-                test_zipped_doctest.test_trailing_space_in_test,
-                test_zipped_doctest.test_DocTestSuite,
-                test_zipped_doctest.test_DocTestFinder,
-            ]
-            # These remaining tests are the ones which need access
-            # to the data files, so we don't run them
-            fail_due_to_missing_data_files = [
-                test_zipped_doctest.test_DocFileSuite,
-                test_zipped_doctest.test_testfile,
-                test_zipped_doctest.test_unittest_reportflags,
-            ]
-            for obj in known_good_tests:
-                _run_object_doctest(obj, test_zipped_doctest)
+            try:
+                # Some of the doc tests depend on the colocated text files
+                # which aren't available to the zipped version (the doctest
+                # module currently requires real filenames for non-embedded
+                # tests). So we're forced to be selective about which tests
+                # to run.
+                # doctest could really use some APIs which take a text
+                # string or a file object instead of a filename...
+                known_good_tests = [
+                    test_zipped_doctest.SampleClass,
+                    test_zipped_doctest.SampleClass.NestedClass,
+                    test_zipped_doctest.SampleClass.NestedClass.__init__,
+                    test_zipped_doctest.SampleClass.__init__,
+                    test_zipped_doctest.SampleClass.a_classmethod,
+                    test_zipped_doctest.SampleClass.a_property,
+                    test_zipped_doctest.SampleClass.a_staticmethod,
+                    test_zipped_doctest.SampleClass.double,
+                    test_zipped_doctest.SampleClass.get,
+                    test_zipped_doctest.SampleNewStyleClass,
+                    test_zipped_doctest.SampleNewStyleClass.__init__,
+                    test_zipped_doctest.SampleNewStyleClass.double,
+                    test_zipped_doctest.SampleNewStyleClass.get,
+                    test_zipped_doctest.sample_func,
+                    test_zipped_doctest.test_DocTest,
+                    test_zipped_doctest.test_DocTestParser,
+                    test_zipped_doctest.test_DocTestRunner.basics,
+                    test_zipped_doctest.test_DocTestRunner.exceptions,
+                    test_zipped_doctest.test_DocTestRunner.option_directives,
+                    test_zipped_doctest.test_DocTestRunner.optionflags,
+                    test_zipped_doctest.test_DocTestRunner.verbose_flag,
+                    test_zipped_doctest.test_Example,
+                    test_zipped_doctest.test_debug,
+                    test_zipped_doctest.test_pdb_set_trace,
+                    test_zipped_doctest.test_pdb_set_trace_nested,
+                    test_zipped_doctest.test_testsource,
+                    test_zipped_doctest.test_trailing_space_in_test,
+                    test_zipped_doctest.test_DocTestSuite,
+                    test_zipped_doctest.test_DocTestFinder,
+                ]
+                # These remaining tests are the ones which need access
+                # to the data files, so we don't run them
+                fail_due_to_missing_data_files = [
+                    test_zipped_doctest.test_DocFileSuite,
+                    test_zipped_doctest.test_testfile,
+                    test_zipped_doctest.test_unittest_reportflags,
+                ]
+                for obj in known_good_tests:
+                    _run_object_doctest(obj, test_zipped_doctest)
+            finally:
+                del sys.modules["test_zipped_doctest"]
 
     def test_doctest_main_issue4197(self):
         test_src = textwrap.dedent("""\

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Mon Feb  7 14:43:07 2011
@@ -31,6 +31,12 @@
 
 - Issue #11121: Fix building with --enable-shared.
 
+Tests
+-----
+
+- Issue #10971:test_zipimport_support is once again compatible with the
+  refleak hunter feature of test.regrtest.
+
 
 What's New in Python 3.2 Release Candidate 2?
 =============================================


More information about the Python-checkins mailing list