[Python-Dev] [Python-checkins] cpython: Issue #11798: fix tests for regrtest -R :

Eli Bendersky eliben at gmail.com
Mon Sep 2 00:58:54 CEST 2013


On Sat, Aug 31, 2013 at 9:58 PM, andrew.svetlov
<python-checkins at python.org>wrote:

> http://hg.python.org/cpython/rev/39781c3737f8
> changeset:   85490:39781c3737f8
> user:        Andrew Svetlov <andrew.svetlov at gmail.com>
> date:        Sun Sep 01 07:58:41 2013 +0300
> summary:
>   Issue #11798: fix tests for regrtest -R :
>
> files:
>   Lib/test/regrtest.py            |  5 +++++
>   Lib/unittest/suite.py           |  8 ++++++--
>   Lib/unittest/test/test_suite.py |  8 ++++++++
>   3 files changed, 19 insertions(+), 2 deletions(-)
>
>
>
Hi Andrew,

It would help if you could add more details into the commit message. This
would make both post-commit reviews and future code archeology simpler.

Eli



> diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
> --- a/Lib/test/regrtest.py
> +++ b/Lib/test/regrtest.py
> @@ -496,6 +496,8 @@
>
>      if ns.slaveargs is not None:
>          args, kwargs = json.loads(ns.slaveargs)
> +        if kwargs.get('huntrleaks'):
> +            unittest.BaseTestSuite._cleanup = False
>          try:
>              result = runtest(*args, **kwargs)
>          except KeyboardInterrupt:
> @@ -528,6 +530,9 @@
>              #gc.set_debug(gc.DEBUG_SAVEALL)
>              found_garbage = []
>
> +    if ns.huntrleaks:
> +        unittest.BaseTestSuite._cleanup = False
> +
>      if ns.single:
>          filename = os.path.join(TEMPDIR, 'pynexttest')
>          try:
> diff --git a/Lib/unittest/suite.py b/Lib/unittest/suite.py
> --- a/Lib/unittest/suite.py
> +++ b/Lib/unittest/suite.py
> @@ -16,6 +16,8 @@
>  class BaseTestSuite(object):
>      """A simple test suite that doesn't provide class or module shared
> fixtures.
>      """
> +    _cleanup = True
> +
>      def __init__(self, tests=()):
>          self._tests = []
>          self.addTests(tests)
> @@ -61,7 +63,8 @@
>              if result.shouldStop:
>                  break
>              test(result)
> -            self._removeTestAtIndex(index)
> +            if self._cleanup:
> +                self._removeTestAtIndex(index)
>          return result
>
>      def _removeTestAtIndex(self, index):
> @@ -115,7 +118,8 @@
>              else:
>                  test.debug()
>
> -            self._removeTestAtIndex(index)
> +            if self._cleanup:
> +                self._removeTestAtIndex(index)
>
>          if topLevel:
>              self._tearDownPreviousClass(None, result)
> diff --git a/Lib/unittest/test/test_suite.py
> b/Lib/unittest/test/test_suite.py
> --- a/Lib/unittest/test/test_suite.py
> +++ b/Lib/unittest/test/test_suite.py
> @@ -303,6 +303,9 @@
>          suite.run(unittest.TestResult())
>
>      def test_remove_test_at_index(self):
> +        if not unittest.BaseTestSuite._cleanup:
> +            raise unittest.SkipTest("Suite cleanup is disabled")
> +
>          suite = unittest.TestSuite()
>
>          suite._tests = [1, 2, 3]
> @@ -311,6 +314,9 @@
>          self.assertEqual([1, None, 3], suite._tests)
>
>      def test_remove_test_at_index_not_indexable(self):
> +        if not unittest.BaseTestSuite._cleanup:
> +            raise unittest.SkipTest("Suite cleanup is disabled")
> +
>          suite = unittest.TestSuite()
>          suite._tests = None
>
> @@ -318,6 +324,8 @@
>          suite._removeTestAtIndex(2)
>
>      def assert_garbage_collect_test_after_run(self, TestSuiteClass):
> +        if not unittest.BaseTestSuite._cleanup:
> +            raise unittest.SkipTest("Suite cleanup is disabled")
>
>          class Foo(unittest.TestCase):
>              def test_nothing(self):
>
> --
> Repository URL: http://hg.python.org/cpython
>
> _______________________________________________
> Python-checkins mailing list
> Python-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-checkins
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20130901/71a4d40b/attachment.html>


More information about the Python-Dev mailing list