SVN: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/ Move garbage collection to the feature setup phase.

Christian Theune <[email protected]>
Newsgroups gmane.comp.web.zope.zope3.cvs
Message-ID <20080504090438.A5F8239997__12328.7029251971$1209891968$gmane$org@mail.zope.org>
Log message for revision 86319:
  Move garbage collection to the feature setup phase.
  

Changed:
  U   zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/runner.py
  U   zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/testrunner-gc.txt

-=-
Modified: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/runner.py
===================================================================
--- zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/runner.py	2008-05-04 08:56:30 UTC (rev 86318)
+++ zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/runner.py	2008-05-04 09:04:38 UTC (rev 86319)
@@ -175,6 +175,30 @@
             self.late_initializers.append(self.profiler.enable)
             self.early_shutdown.append(self.profiler.disable)
 
+        # Setup garbage collection threshold
+        self.old_threshold = gc.get_threshold()
+        if self.options.gc:
+            if len(self.options.gc) > 3:
+                output.error("Too many --gc options")
+                sys.exit(1)
+            if self.options.gc[0]:
+                self.options.output.info(
+                    "Cyclic garbage collection threshold set to: %s" %
+                    repr(tuple(self.options.gc)))
+            else:
+                self.options.output.info(
+                    "Cyclic garbage collection is disabled.")
+
+            gc.set_threshold(*self.options.gc)
+
+        # Set garbage collection debug flags
+        self.old_flags = gc.get_debug()
+        if self.options.gc_option:
+            new_flags = 0
+            for op in self.options.gc_option:
+                new_flags |= getattr(gc, op)
+            gc.set_debug(new_flags)
+
     def find_tests(self):
         pass
 
@@ -205,26 +229,6 @@
                 msg = "Running tests at level %d" % self.options.at_level
             output.info(msg)
 
-        old_threshold = gc.get_threshold()
-        if self.options.gc:
-            if len(self.options.gc) > 3:
-                output.error("Too many --gc options")
-                sys.exit(1)
-            if self.options.gc[0]:
-                output.info("Cyclic garbage collection threshold set to: %s" %
-                            repr(tuple(self.options.gc)))
-            else:
-                output.info("Cyclic garbage collection is disabled.")
-
-            gc.set_threshold(*self.options.gc)
-
-        old_flags = gc.get_debug()
-        if self.options.gc_option:
-            new_flags = 0
-            for op in self.options.gc_option:
-                new_flags |= getattr(gc, op)
-            gc.set_debug(new_flags)
-
         self.old_reporting_flags = doctest.set_unittest_reportflags(0)
         reporting_flags = 0
         if self.options.ndiff:
@@ -247,7 +251,6 @@
         else:
             doctest.set_unittest_reportflags(self.old_reporting_flags)
 
-
         # Add directories to the path
         for path in self.options.path:
             if path not in sys.path:
@@ -356,10 +359,10 @@
         doctest.set_unittest_reportflags(self.old_reporting_flags)
 
         if self.options.gc_option:
-            gc.set_debug(old_flags)
+            gc.set_debug(self.old_flags)
 
         if self.options.gc:
-            gc.set_threshold(*old_threshold)
+            gc.set_threshold(*self.old_threshold)
 
         self.failed = bool(import_errors or failures or errors)
 

Modified: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/testrunner-gc.txt
===================================================================
--- zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/testrunner-gc.txt	2008-05-04 08:56:30 UTC (rev 86318)
+++ zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/testrunner-gc.txt	2008-05-04 09:04:38 UTC (rev 86319)
@@ -18,8 +18,8 @@
     
     >>> sys.argv = 'test --tests-pattern ^gc0$ --gc 0 -vv'.split()
     >>> _ = testrunner.run(defaults)
+    Cyclic garbage collection is disabled.
     Running tests at level 1
-    Cyclic garbage collection is disabled.
     Running unit tests:
       Running:
         make_sure_gc_is_disabled (gc0)
@@ -31,8 +31,8 @@
     
     >>> sys.argv = 'test --tests-pattern ^gc1$ --gc 1 -vv'.split()
     >>> _ = testrunner.run(defaults)
+    Cyclic garbage collection threshold set to: (1,)
     Running tests at level 1
-    Cyclic garbage collection threshold set to: (1,)
     Running unit tests:
       Running:
         make_sure_gc_threshold_is_one (gc1)
@@ -45,8 +45,8 @@
     >>> sys.argv = ('test --tests-pattern ^gcset$ --gc 701 --gc 11 --gc 9 -vv'
     ...             .split())
     >>> _ = testrunner.run(defaults)
+    Cyclic garbage collection threshold set to: (701, 11, 9)
     Running tests at level 1
-    Cyclic garbage collection threshold set to: (701, 11, 9)
     Running unit tests:
       Running:
         make_sure_gc_threshold_is_701_11_9 (gcset)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.