def test00_version(self): info = db.version() if verbose: print '\n', '-=' * 20 print 'bsddb.db.version(): %s' % (info, ) print db.DB_VERSION_STRING print '-=' * 20 assert info == (db.DB_VERSION_MAJOR, db.DB_VERSION_MINOR, db.DB_VERSION_PATCH)
def test06_Truncate(self): if db.version() < (3, 3): # truncate is a feature of BerkeleyDB 3.3 and above return d = self.d if verbose: print '\n', '-=' * 30 print "Running %s.test99_Truncate..." % self.__class__.__name__ d.put("abcde", "ABCDE") num = d.truncate() assert num >= 1, "truncate returned <= 0 on non-empty database" num = d.truncate() assert num == 0, "truncate on empty DB returned nonzero (%s)" % ` num `
def test06_Truncate(self): if db.version() < (3,3): # truncate is a feature of BerkeleyDB 3.3 and above return d = self.d if verbose: print '\n', '-=' * 30 print "Running %s.test99_Truncate..." % self.__class__.__name__ d.put("abcde", "ABCDE"); num = d.truncate() assert num >= 1, "truncate returned <= 0 on non-empty database" num = d.truncate() assert num == 0, "truncate on empty DB returned nonzero (%s)" % `num`
def print_versions(): try: # For Python 2.3 from bsddb import db except ImportError: # For earlier Pythons w/distutils pybsddb from bsddb3 import db print print '-=' * 38 print db.DB_VERSION_STRING print 'bsddb.db.version(): %s' % (db.version(), ) print 'bsddb.db.__version__: %s' % db.__version__ print 'bsddb.db.cvsid: %s' % db.cvsid print 'python version: %s' % sys.version print 'My pid: %s' % os.getpid() print '-=' * 38
def test_suite(): suite = unittest.TestSuite() if db.version() >= (3, 3, 11): suite.addTest(unittest.makeSuite(AssociateHashTestCase)) suite.addTest(unittest.makeSuite(AssociateBTreeTestCase)) suite.addTest(unittest.makeSuite(AssociateRecnoTestCase)) suite.addTest(unittest.makeSuite(ShelveAssociateHashTestCase)) suite.addTest(unittest.makeSuite(ShelveAssociateBTreeTestCase)) suite.addTest(unittest.makeSuite(ShelveAssociateRecnoTestCase)) if have_threads: suite.addTest(unittest.makeSuite(ThreadedAssociateHashTestCase)) suite.addTest(unittest.makeSuite(ThreadedAssociateBTreeTestCase)) suite.addTest(unittest.makeSuite(ThreadedAssociateRecnoTestCase)) return suite
def test02_basicPost32(self): # Basic Queue tests using the new DB.consume method in DB 3.2+ # (No cursor needed) if verbose: print '\n', '-=' * 30 print "Running %s.test02_basicPost32..." % self.__class__.__name__ if db.version() < (3, 2, 0): if verbose: print "Test not run, DB not new enough..." return d = db.DB() d.set_re_len(40) # Queues must be fixed length d.open(self.filename, db.DB_QUEUE, db.DB_CREATE) if verbose: print "before appends" + '-' * 30 pprint(d.stat()) for x in string.letters: d.append(x * 40) assert len(d) == 52 d.put(100, "some more data") d.put(101, "and some more ") d.put(75, "out of order") d.put(1, "replacement data") assert len(d) == 55 if verbose: print "before close" + '-' * 30 pprint(d.stat()) d.close() del d d = db.DB() d.open(self.filename) #d.set_get_returns_none(true) if verbose: print "after open" + '-' * 30 pprint(d.stat()) d.append("one more") if verbose: print "after append" + '-' * 30 pprint(d.stat()) rec = d.consume() while rec: if verbose: print rec rec = d.consume() if verbose: print "after consume loop" + '-' * 30 pprint(d.stat()) d.close()
import warnings from bsddb import db from urllib import pathname2url from os import mkdir from os.path import exists, abspath from rdflib import URIRef from rdflib.store import Store, VALID_STORE, CORRUPTED_STORE, NO_STORE, UNKNOWN SUPPORT_MULTIPLE_STORE_ENVIRON = False warnings.warn( "The BDBOptimized store is experimental and not yet recommended for production." ) if db.version() < (4, 3, 29): warnings.warn("Your BDB library may not be supported.") import logging _logger = logging.getLogger(__name__) # TODO: performance testing? class NamespaceIndex: def __init__(self, db_env): self.__db_env = db_env self.__namespace = db.DB(db_env) self.__namespace.open('namespace.db', None, db.DB_BTREE, db.DB_CREATE | db.DB_AUTO_COMMIT)
'test_sequence', 'test_cursor_pget_bug', ] alltests = unittest.TestSuite() for name in test_modules: module = __import__("bsddb.test." + name, globals(), locals(), name) #print module,name alltests.addTest(module.test_suite()) return alltests # For invocation through regrtest def test_main(): tests = suite() run_suite(tests) # For invocation as a script if __name__ == '__main__': from bsddb import db print '-=' * 38 print db.DB_VERSION_STRING print 'bsddb.db.version(): %s' % (db.version(), ) print 'bsddb.db.__version__: %s' % db.__version__ print 'bsddb.db.cvsid: %s' % db.cvsid print 'python version: %s' % sys.version print '-=' * 38 unittest.main(defaultTest='suite')
def test02_basicPost32(self): # Basic Queue tests using the new DB.consume method in DB 3.2+ # (No cursor needed) if verbose: print "\n", "-=" * 30 print "Running %s.test02_basicPost32..." % self.__class__.__name__ if db.version() < (3, 2, 0): if verbose: print "Test not run, DB not new enough..." return d = db.DB() d.set_re_len(40) # Queues must be fixed length d.open(self.filename, db.DB_QUEUE, db.DB_CREATE) if verbose: print "before appends" + "-" * 30 pprint(d.stat()) for x in string.letters: d.append(x * 40) assert len(d) == 52 d.put(100, "some more data") d.put(101, "and some more ") d.put(75, "out of order") d.put(1, "replacement data") assert len(d) == 55 if verbose: print "before close" + "-" * 30 pprint(d.stat()) d.close() del d d = db.DB() d.open(self.filename) # d.set_get_returns_none(true) if verbose: print "after open" + "-" * 30 pprint(d.stat()) d.append("one more") if verbose: print "after append" + "-" * 30 pprint(d.stat()) rec = d.consume() while rec: if verbose: print rec rec = d.consume() if verbose: print "after consume loop" + "-" * 30 pprint(d.stat()) d.close()
from os.path import join from rdflib.term import URIRef from rdflib.store import Store from rdflib.store import NO_STORE from rdflib.store import CORRUPTED_STORE from rdflib.store import UNKNOWN from rdflib.store import VALID_STORE SUPPORT_MULTIPLE_STORE_ENVIRON = False warnings.warn( "The BDBOptimized store is experimental and not recommended for production.") if db.version() < (4,3,29): warnings.warn("Your BDB library may not be supported.") import logging _logger = logging.getLogger(__name__) # TODO: performance testing? class NamespaceIndex: def __init__(self, db_env): self.__db_env = db_env self.__namespace = db.DB(db_env) self.__namespace.open('namespace.db', None, db.DB_BTREE, db.DB_CREATE | db.DB_AUTO_COMMIT) self.__prefix = db.DB(db_env)
'test_sequence', 'test_cursor_pget_bug', ] alltests = unittest.TestSuite() for name in test_modules: module = __import__("bsddb.test."+name, globals(), locals(), name) #print module,name alltests.addTest(module.test_suite()) return alltests # For invocation through regrtest def test_main(): tests = suite() run_suite(tests) # For invocation as a script if __name__ == '__main__': from bsddb import db print '-=' * 38 print db.DB_VERSION_STRING print 'bsddb.db.version(): %s' % (db.version(),) print 'bsddb.db.__version__: %s' % db.__version__ print 'bsddb.db.cvsid: %s' % db.cvsid print 'python version: %s' % sys.version print '-=' * 38 unittest.main(defaultTest='suite')