On Sat, Aug 31, 2013 at 9:58 PM, andrew.svetlov <python-check...@python.org>wrote:
> http://hg.python.org/cpython/rev/39781c3737f8 > changeset: 85490:39781c3737f8 > user: Andrew Svetlov <andrew.svet...@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-check...@python.org > http://mail.python.org/mailman/listinfo/python-checkins > >
_______________________________________________ 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