[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

AltStyle によって変換されたページ (->オリジナル) /