From b6429073a1c3e158adb9f4c32be99d96a289ac74 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 8 Sep 2014 17:36:02 -0400 Subject: [PATCH] Do not reprovision if conf is already available Also use a more meaningful directory name by default Signed-off-by: Simo Sorce Reviewed-by: Patrick Uiterwijk --- quickrun.py | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/quickrun.py b/quickrun.py index caa9627..5ec6e53 100755 --- a/quickrun.py +++ b/quickrun.py @@ -29,7 +29,7 @@ logger = None def parse_args(): parser = argparse.ArgumentParser(description=\ 'Run a test Ipsilon instance from the checkout directory') - parser.add_argument('--workdir', default=os.path.join(os.getcwd(), 'tmp'), + parser.add_argument('--workdir', default=os.path.join(os.getcwd(), 'qrun'), help="Directory in which db/session files are stored") return vars(parser.parse_args()) @@ -60,39 +60,44 @@ CREATE TABLE users(name TEXT, option TEXT, value TEXT); INSERT INTO users VALUES('admin', 'is_admin', '1'); ''' -if __name__ == '__main__': - - args = parse_args() - - penv = dict() - penv.update(os.environ) - penv['PYTHONPATH'] = './' - - if not os.path.exists(args['workdir']): - os.makedirs(args['workdir']) - os.makedirs(os.path.join(args['workdir'], 'sessions')) +def config(workdir): + os.makedirs(workdir) + os.makedirs(os.path.join(workdir, 'sessions')) - admin_db = os.path.join(args['workdir'], 'adminconfig.sqlite') - sql = os.path.join(args['workdir'], 'admin.sql') + admin_db = os.path.join(workdir, 'adminconfig.sqlite') + sql = os.path.join(workdir, 'admin.sql') with open(sql, 'w+') as f: f.write(ADMIN_TEMPLATE) subprocess.call(['sqlite3', '-init', sql, admin_db, '.quit']) - users_db = os.path.join(args['workdir'], 'users.sqlite') - sql = os.path.join(args['workdir'], 'users.sql') + users_db = os.path.join(workdir, 'users.sqlite') + sql = os.path.join(workdir, 'users.sql') with open(sql, 'w+') as f: f.write(USERS_TEMPLATE) subprocess.call(['sqlite3', '-init', sql, users_db, '.quit']) t = Template(CONF_TEMPLATE) text = t.substitute({'BASEDIR': os.getcwd(), - 'WORKDIR': args['workdir'], + 'WORKDIR': workdir, 'ADMINDB': admin_db, 'USERSDB': users_db}) - conf = os.path.join(args['workdir'], 'ipsilon.conf') + conf = os.path.join(workdir, 'ipsilon.conf') with open(conf, 'w+') as f: f.write(text) + return conf +if __name__ == '__main__': + + args = parse_args() + + penv = dict() + penv.update(os.environ) + penv['PYTHONPATH'] = './' + + if not os.path.exists(args['workdir']): + conf = config(args['workdir']) + else: + conf = os.path.join(args['workdir'], 'ipsilon.conf') p = subprocess.Popen(['./ipsilon/ipsilon', conf], env=penv) p.wait() -- 2.20.1