| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  | """Miscellaneous bsddb module test cases
 | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  | """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  | import unittest | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-01-28 17:20:44 +00:00
										 |  |  | try: | 
					
						
							|  |  |  |     # For Python 2.3 | 
					
						
							|  |  |  |     from bsddb import db, dbshelve | 
					
						
							|  |  |  | except ImportError: | 
					
						
							|  |  |  |     # For earlier Pythons w/distutils pybsddb | 
					
						
							|  |  |  |     from bsddb3 import db, dbshelve | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | from test.test_support import verbose | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MiscTestCase(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 | 
					
						
							| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  |         try: | 
					
						
							|  |  |  |             os.mkdir(homeDir) | 
					
						
							|  |  |  |         except OSError: | 
					
						
							|  |  |  |             pass | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def tearDown(self): | 
					
						
							| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  |         try: | 
					
						
							|  |  |  |             os.remove(self.filename) | 
					
						
							|  |  |  |         except OSError: | 
					
						
							|  |  |  |             pass | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  |         import glob | 
					
						
							|  |  |  |         files = glob.glob(os.path.join(self.homeDir, '*')) | 
					
						
							|  |  |  |         for file in files: | 
					
						
							|  |  |  |             os.remove(file) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test01_badpointer(self): | 
					
						
							|  |  |  |         dbs = dbshelve.open(self.filename) | 
					
						
							|  |  |  |         dbs.close() | 
					
						
							|  |  |  |         self.assertRaises(db.DBError, dbs.get, "foo") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test02_db_home(self): | 
					
						
							|  |  |  |         env = db.DBEnv() | 
					
						
							|  |  |  |         # check for crash fixed when db_home is used before open() | 
					
						
							|  |  |  |         assert env.db_home is None | 
					
						
							|  |  |  |         env.open(self.homeDir, db.DB_CREATE) | 
					
						
							|  |  |  |         assert self.homeDir == env.db_home | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  | #---------------------------------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  | def test_suite(): | 
					
						
							| 
									
										
										
										
											2002-11-19 17:47:07 +00:00
										 |  |  |     return unittest.makeSuite(MiscTestCase) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							| 
									
										
										
										
											2002-12-30 20:53:52 +00:00
										 |  |  |     unittest.main(defaultTest='test_suite') |