- 
                Notifications
    You must be signed in to change notification settings 
- Fork 139
Open
Description
Hi,
There is a test error while testing in Debian autopkgtest testsuite.
_____________ XMLTestRunnerTestCase.test_xmlrunner_hold_traceback ______________
self = <tests.testsuite.XMLTestRunnerTestCase testMethod=test_xmlrunner_hold_traceback>
    @unittest.skipIf(not hasattr(sys, 'getrefcount'),
                     'skip - PyPy does not have sys.getrefcount.')
    @unittest.skipIf((3, 0) <= sys.version_info < (3, 4),
                     'skip - test not garbage collected. '
                     'https://bugs.python.org/issue11798.')
    def test_xmlrunner_hold_traceback(self):
        suite = unittest.TestSuite()
        suite.addTest(self.DummyRefCountTest('test_fail'))
        countBeforeTest = sys.getrefcount(self.DummyRefCountTest.dummy)
        runner = self._test_xmlrunner(suite)
        countAfterTest = sys.getrefcount(self.DummyRefCountTest.dummy)
>       self.assertEqual(countBeforeTest, countAfterTest)
E       AssertionError: 5 != 6
tests/testsuite.py:810: AssertionError
I have created a patch to address this error,
--- a/tests/testsuite.py
+++ b/tests/testsuite.py
@@ -802,10 +802,16 @@ class XMLTestRunnerTestCase(unittest.Tes
                      'skip - test not garbage collected. '
                      'https://bugs.python.org/issue11798.')
     def test_xmlrunner_hold_traceback(self):
+        import gc
         suite = unittest.TestSuite()
         suite.addTest(self.DummyRefCountTest('test_fail'))
         countBeforeTest = sys.getrefcount(self.DummyRefCountTest.dummy)
         runner = self._test_xmlrunner(suite)
+
+        gc.collect()
+        for obj in gc.get_referrers(self.DummyRefCountTest.dummy):
+            print("Referrer:", obj)
+
         countAfterTest = sys.getrefcount(self.DummyRefCountTest.dummy)
         self.assertEqual(countBeforeTest, countAfterTest)
 
Metadata
Metadata
Assignees
Labels
No labels