[Python-Dev] test_bsddb185 failing under OS X (original) (raw)

Brett C. drifty@alum.berkeley.edu
Sat, 17 May 2003 11:13:15 -0700


Skip Montanaro wrote:

Brett,

I goofed a bit in my (private) note to you yesterday. anydbm.name isn't of interest. It's anydbm.defaultmod.

anydbm._defaultmod <module 'dbm' from '/Users/drifty/cvs_code/lib/python2.3/lib-dynload/dbm.so'>

On my system, if I mv Lib/bsddb to Lib/bsddb- I no longer have the bsddb package available (as you said you didn't). In that situation, for me, anydbm.defaultmod is the gdbm module. All three tests succeed:

% ./python.exe ../Lib/test/testbsddb185.py testanydbmcreate (main.Bsddb185Tests) ... ok testopenexistinghash (main.Bsddb185Tests) ... ok testwhichdb (main.Bsddb185Tests) ... ok If I delete gdbm.so I get dbm as anydbm.defaultmod. Again, success: % ./python.exe ../Lib/test/testbsddb185.py testanydbmcreate (main.Bsddb185Tests) ... ok testopenexistinghash (main.Bsddb185Tests) ... ok testwhichdb (main.Bsddb185Tests) ... ok Delete dbm.so. Run again. Now dumbdbm is anydbm.defaultmod. Run again. Success again:

No success for me when it is using dumbdbm:

====================================================================== ERROR: test_anydbm_create (main.Bsddb185Tests)

Traceback (most recent call last): File "Lib/test/test_bsddb185.py", line 39, in test_anydbm_create os.rmdir(tmpdir) OSError: [Errno 66] Directory not empty: '/tmp/tmpkiVKcZ'


Looks like foo.dat and foo.dir are left (files used by the DB?). I will fix the test again to be more agressive about deleting files.

... done. Just used shutil.rmtree instead of the nested 'try' statements that called os.unlink and os.rmdir . Now the tests pass for dumbdbm. So it seems to be dbm.so for some reason.

I will see what I can figure out or at least get as much info as I can that I think can help in debugging this.

-Brett