From: Thomas Wouters Date: Sun, 12 Mar 2006 00:13:09 +0000 (+0000) Subject: Plug the last 657 referenceleaks in test_bsddb3: a circular reference X-Git-Tag: v2.5a0~275 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=318af47512176fed74a3d7e0e51cdb1347418a98;p=python Plug the last 657 referenceleaks in test_bsddb3: a circular reference between a TestCase instance, the database it opened (or a cursor to a database) and a bound method as a registered database callback, and a lack of GC-handling in bsddb caused the TestCases to linger. Fix the test, for now, as backward compatibility makes adding GC to bsddb annoying. --- diff --git a/Lib/bsddb/test/test_associate.py b/Lib/bsddb/test/test_associate.py index 0015b53941..05ef83cb6f 100644 --- a/Lib/bsddb/test/test_associate.py +++ b/Lib/bsddb/test/test_associate.py @@ -105,6 +105,7 @@ class AssociateErrorTestCase(unittest.TestCase): def tearDown(self): self.env.close() + self.env = None import glob files = glob.glob(os.path.join(self.homeDir, '*')) for file in files: @@ -166,6 +167,7 @@ class AssociateTestCase(unittest.TestCase): def tearDown(self): self.closeDB() self.env.close() + self.env = None import glob files = glob.glob(os.path.join(self.homeDir, '*')) for file in files: @@ -192,9 +194,12 @@ class AssociateTestCase(unittest.TestCase): def closeDB(self): if self.cur: self.cur.close() + self.cur = None if self.secDB: self.secDB.close() + self.secDB = None self.primary.close() + self.primary = None def getDB(self): return self.primary