[Python-checkins] python/dist/src/Lib/test test_bsddb.py,1.9,1.10

anthonybaxter@sourceforge.net anthonybaxter@sourceforge.net
Mon, 22 Apr 2002 19:11:11 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv29550/Lib/test

Modified Files:
	test_bsddb.py 
Log Message:
SF patch  [ 545523 ] patch for 514433 bsddb.dbopen (NULL)
closes SF #514433
 
can now pass 'None' as the filename for the bsddb.*open functions,
and you'll get an in-memory temporary store.
 
docs are ripped out of the bsddb dbopen man page. Fred may want to
clean them up. 

Considering this for 2.2, but not 2.1.


Index: test_bsddb.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_bsddb.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** test_bsddb.py	7 Dec 2001 16:43:19 -0000	1.9
--- test_bsddb.py	23 Apr 2002 02:11:03 -0000	1.10
***************
*** 3,7 ****
     Roger E. Masse
  """
- 
  import os
  import bsddb
--- 3,6 ----
***************
*** 10,19 ****
  from test_support import verbose, verify
  
! def test(openmethod, what):
  
      if verbose:
!         print '\nTesting: ', what
  
!     fname = tempfile.mktemp()
      f = openmethod(fname, 'c')
      verify(f.keys() == [])
--- 9,21 ----
  from test_support import verbose, verify
  
! def test(openmethod, what, ondisk=1):
  
      if verbose:
!         print '\nTesting: ', what, (ondisk and "on disk" or "in memory")
  
!     if ondisk:
!         fname = tempfile.mktemp()
!     else:
!         fname = None
      f = openmethod(fname, 'c')
      verify(f.keys() == [])
***************
*** 48,71 ****
      f.sync()
      f.close()
!     if verbose:
!         print 'modification...'
!     f = openmethod(fname, 'w')
!     f['d'] = 'discovered'
  
-     if verbose:
-         print 'access...'
-     for key in f.keys():
-         word = f[key]
          if verbose:
!             print word
  
!     f.close()
!     try:
!         os.remove(fname)
!     except os.error:
!         pass
  
  types = [(bsddb.btopen, 'BTree'),
           (bsddb.hashopen, 'Hash Table'),
           # (bsddb.rnopen,'Record Numbers'), 'put' for RECNO for bsddb 1.85
           #                                   appears broken... at least on
--- 50,78 ----
      f.sync()
      f.close()
!     if ondisk:
!         # if we're using an in-memory only db, we can't reopen it
!         # so finish here.
!         if verbose:
!             print 'modification...'
!         f = openmethod(fname, 'w')
!         f['d'] = 'discovered'
  
          if verbose:
!             print 'access...'
!         for key in f.keys():
!             word = f[key]
!             if verbose:
!                 print word
  
!         f.close()
!         try:
!             os.remove(fname)
!         except os.error:
!             pass
  
  types = [(bsddb.btopen, 'BTree'),
           (bsddb.hashopen, 'Hash Table'),
+          (bsddb.btopen, 'BTree', 0),
+          (bsddb.hashopen, 'Hash Table', 0),
           # (bsddb.rnopen,'Record Numbers'), 'put' for RECNO for bsddb 1.85
           #                                   appears broken... at least on
***************
*** 74,76 ****
  
  for type in types:
!     test(type[0], type[1])
--- 81,83 ----
  
  for type in types:
!     test(*type)