[Python-checkins] python/dist/src/Lib/bsddb/test test_associate.py, 1.9, 1.10
greg@users.sourceforge.net
greg at users.sourceforge.net
Mon Jun 6 12:26:27 CEST 2005
Update of /cvsroot/python/python/dist/src/Lib/bsddb/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2717/test
Modified Files:
test_associate.py
Log Message:
test case for pybsddb SF bug id 1215432
Index: test_associate.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/bsddb/test/test_associate.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- test_associate.py 6 Jun 2005 09:52:10 -0000 1.9
+++ test_associate.py 6 Jun 2005 10:26:25 -0000 1.10
@@ -88,6 +88,54 @@
#----------------------------------------------------------------------
+class AssociateErrorTestCase(unittest.TestCase):
+ def setUp(self):
+ self.filename = self.__class__.__name__ + '.db'
+ homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home')
+ self.homeDir = homeDir
+ try: os.mkdir(homeDir)
+ except os.error: pass
+ self.env = db.DBEnv()
+ self.env.open(homeDir, db.DB_CREATE | db.DB_INIT_MPOOL)
+
+ def tearDown(self):
+ self.env.close()
+ import glob
+ files = glob.glob(os.path.join(self.homeDir, '*'))
+ for file in files:
+ os.remove(file)
+
+
+ def test00_associateDBError(self):
+ if verbose:
+ print '\n', '-=' * 30
+ print "Running %s.test00_associateDBError..." % \
+ self.__class__.__name__
+
+ dupDB = db.DB(self.env)
+ dupDB.set_flags(db.DB_DUP)
+ dupDB.open(self.filename, "primary", db.DB_BTREE, db.DB_CREATE)
+
+ secDB = db.DB(self.env)
+ secDB.open(self.filename, "secondary", db.DB_BTREE, db.DB_CREATE)
+
+ # dupDB has been configured to allow duplicates, it can't
+ # associate with a secondary. BerkeleyDB will return an error.
+ try:
+ dupDB.associate(secDB, lambda a, b: a+b)
+ except db.DBError:
+ # good
+ secDB.close()
+ dupDB.close()
+ else:
+ secDB.close()
+ dupDB.close()
+ self.fail("DBError exception was expected")
+
+
+
+#----------------------------------------------------------------------
+
class AssociateTestCase(unittest.TestCase):
keytype = ''
@@ -363,6 +411,8 @@
suite = unittest.TestSuite()
if db.version() >= (3, 3, 11):
+ suite.addTest(unittest.makeSuite(AssociateErrorTestCase))
+
suite.addTest(unittest.makeSuite(AssociateHashTestCase))
suite.addTest(unittest.makeSuite(AssociateBTreeTestCase))
suite.addTest(unittest.makeSuite(AssociateRecnoTestCase))
More information about the Python-checkins
mailing list