test.py: add throwaway tmp dir
This commit is contained in:
parent
90ebc94170
commit
0b6d047c25
1 changed files with 20 additions and 16 deletions
36
test/test.py
36
test/test.py
|
|
@ -82,20 +82,22 @@ shortopts = ['-'+e for e in list(shortopts)]
|
|||
data_dir_basename = 'data_dir' + ('',u'-α')[bool(os.getenv('MMGEN_DEBUG_UTF8'))]
|
||||
data_dir = path_join('test',data_dir_basename)
|
||||
data_dir_enc = data_dir.encode('utf8')
|
||||
trash_dir = path_join('test','trash')
|
||||
|
||||
if not any(e in ('--skip-deps','--resume','-S','-r') for e in sys.argv+shortopts):
|
||||
if g.platform == 'win':
|
||||
try: os.listdir(data_dir_enc)
|
||||
except: pass
|
||||
else:
|
||||
try: shutil.rmtree(data_dir_enc)
|
||||
except: # we couldn't remove data dir - perhaps regtest daemon is running
|
||||
try: subprocess.call(['python',os.path.join('cmds','mmgen-regtest'),'stop'])
|
||||
except: rdie(1,'Unable to remove data dir!')
|
||||
else:
|
||||
time.sleep(2)
|
||||
shutil.rmtree(data_dir_enc)
|
||||
os.mkdir(data_dir_enc,0755)
|
||||
for tdir in (data_dir_enc,trash_dir):
|
||||
try: os.listdir(tdir)
|
||||
except: pass
|
||||
else:
|
||||
try: shutil.rmtree(tdir)
|
||||
except: # we couldn't remove data dir - perhaps regtest daemon is running
|
||||
try: subprocess.call(['python',os.path.join('cmds','mmgen-regtest'),'stop'])
|
||||
except: rdie(1,"Unable to remove {!r}!".format(tdir))
|
||||
else:
|
||||
time.sleep(2)
|
||||
shutil.rmtree(tdir)
|
||||
os.mkdir(tdir,0755)
|
||||
else:
|
||||
d,pfx = '/dev/shm','mmgen-test-'
|
||||
try:
|
||||
|
|
@ -107,11 +109,12 @@ if not any(e in ('--skip-deps','--resume','-S','-r') for e in sys.argv+shortopts
|
|||
shm_dir = tempfile.mkdtemp('',pfx,d)
|
||||
except Exception as e:
|
||||
die(2,'Unable to create temporary directory in {} ({})'.format(d,e))
|
||||
dd = path_join(shm_dir,data_dir_basename,decode=False)
|
||||
os.mkdir(dd,0755)
|
||||
try: os.unlink(data_dir_enc)
|
||||
except: pass
|
||||
os.symlink(dd,data_dir_enc)
|
||||
for tdir in (data_dir_enc,trash_dir):
|
||||
dd = path_join(shm_dir,os.path.basename(tdir),decode=False)
|
||||
os.mkdir(dd,0755)
|
||||
try: os.unlink(tdir)
|
||||
except: pass
|
||||
os.symlink(dd,tdir)
|
||||
|
||||
opts_data = lambda: {
|
||||
'desc': 'Test suite for the MMGen suite',
|
||||
|
|
@ -1359,6 +1362,7 @@ def clean(usr_dirs=[]):
|
|||
else:
|
||||
die(1,'{}: invalid directory number'.format(d))
|
||||
cleandir(data_dir)
|
||||
cleandir(trash_dir)
|
||||
|
||||
def skip_for_win():
|
||||
if g.platform == 'win':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue