Index: Lib/bsddb/test/test_misc.py =================================================================== --- Lib/bsddb/test/test_misc.py (revision 50594) +++ Lib/bsddb/test/test_misc.py (working copy) @@ -4,6 +4,7 @@ import os import sys import unittest +import tempfile try: # For Pythons w/distutils pybsddb @@ -17,7 +18,7 @@ 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') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) Index: Lib/bsddb/test/test_dbshelve.py =================================================================== --- Lib/bsddb/test/test_dbshelve.py (revision 50594) +++ Lib/bsddb/test/test_dbshelve.py (working copy) @@ -231,7 +231,7 @@ class BasicEnvShelveTestCase(DBShelveTestCase): def do_open(self): self.homeDir = homeDir = os.path.join( - os.path.dirname(sys.argv[0]), 'db_home') + tempfile.gettempdir(), 'db_home') try: os.mkdir(homeDir) except os.error: pass self.env = db.DBEnv() Index: Lib/bsddb/test/test_join.py =================================================================== --- Lib/bsddb/test/test_join.py (revision 50594) +++ Lib/bsddb/test/test_join.py (working copy) @@ -49,7 +49,7 @@ def setUp(self): self.filename = self.__class__.__name__ + '.db' - homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) except os.error: pass Index: Lib/bsddb/test/test_basics.py =================================================================== --- Lib/bsddb/test/test_basics.py (revision 50594) +++ Lib/bsddb/test/test_basics.py (working copy) @@ -54,7 +54,7 @@ def setUp(self): if self.useEnv: - homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: shutil.rmtree(homeDir) Index: Lib/bsddb/test/test_recno.py =================================================================== --- Lib/bsddb/test/test_recno.py (revision 50594) +++ Lib/bsddb/test/test_recno.py (working copy) @@ -203,10 +203,10 @@ just a line in the file, but you can set a different record delimiter if needed. """ - source = os.path.join(os.path.dirname(sys.argv[0]), - 'db_home/test_recno.txt') - if not os.path.isdir('db_home'): - os.mkdir('db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') + source = os.path.join(homeDir, 'test_recno.txt') + if not os.path.isdir(homeDir): + os.mkdir(homeDir) f = open(source, 'w') # create the file f.close() Index: Lib/bsddb/test/test_thread.py =================================================================== --- Lib/bsddb/test/test_thread.py (revision 50594) +++ Lib/bsddb/test/test_thread.py (working copy) @@ -53,7 +53,7 @@ if verbose: dbutils._deadlock_VerboseFile = sys.stdout - homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) Index: Lib/bsddb/test/test_associate.py =================================================================== --- Lib/bsddb/test/test_associate.py (revision 50594) +++ Lib/bsddb/test/test_associate.py (working copy) @@ -91,7 +91,7 @@ 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') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) Index: Lib/bsddb/test/test_env_close.py =================================================================== --- Lib/bsddb/test/test_env_close.py (revision 50594) +++ Lib/bsddb/test/test_env_close.py (working copy) @@ -33,7 +33,7 @@ class DBEnvClosedEarlyCrash(unittest.TestCase): def setUp(self): - self.homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + self.homeDir = os.path.join(tempfile.gettempdir(), 'db_home') try: os.mkdir(self.homeDir) except os.error: pass tempfile.tempdir = self.homeDir Index: Lib/bsddb/test/test_dbtables.py =================================================================== --- Lib/bsddb/test/test_dbtables.py (revision 50594) +++ Lib/bsddb/test/test_dbtables.py (working copy) @@ -26,6 +26,7 @@ pickle = cPickle except ImportError: import pickle +import tempfile import unittest from test_all import verbose @@ -46,7 +47,7 @@ db_name = 'test-table.db' def setUp(self): - homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) except os.error: pass Index: Lib/bsddb/test/test_dbobj.py =================================================================== --- Lib/bsddb/test/test_dbobj.py (revision 50594) +++ Lib/bsddb/test/test_dbobj.py (working copy) @@ -2,6 +2,7 @@ import sys, os, string import unittest import glob +import tempfile try: # For Pythons w/distutils pybsddb @@ -19,7 +20,7 @@ db_name = 'test-dbobj.db' def setUp(self): - homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) except os.error: pass Index: Lib/bsddb/test/test_lock.py =================================================================== --- Lib/bsddb/test/test_lock.py (revision 50594) +++ Lib/bsddb/test/test_lock.py (working copy) @@ -30,7 +30,7 @@ class LockingTestCase(unittest.TestCase): def setUp(self): - homeDir = os.path.join(os.path.dirname(sys.argv[0]), 'db_home') + homeDir = os.path.join(tempfile.gettempdir(), 'db_home') self.homeDir = homeDir try: os.mkdir(homeDir) except os.error: pass Index: Lib/test/test_tarfile.py =================================================================== --- Lib/test/test_tarfile.py (revision 50594) +++ Lib/test/test_tarfile.py (working copy) @@ -31,7 +31,11 @@ def tarname(comp=""): if not comp: return testtar - return os.path.join(tempdir, "%s%s%s" % (testtar, os.extsep, comp)) + # In certain cases, the testtar variable is an absolute path, + # other times it's a relative path. When you do os.path.join(A, + # B) where B is an absolute path, it throws away A and just + # returns B. So we use the "testtar" literal instead of testtar. + return os.path.join(dirname(), "testtar.tar%s%s" % (os.extsep, comp)) def dirname(): if not os.path.exists(tempdir):