X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=quickrun.py;h=57cdcb747d53862c78ebd3a74db7d9f178f4d4d9;hp=8eb64a61725b5e96219708ad089cbe35248dcc57;hb=12139c6090941f67c098bf4387ce00a8503e825e;hpb=74c34364eab412dc5b4dca1ee955ab051b081ff3 diff --git a/quickrun.py b/quickrun.py index 8eb64a6..57cdcb7 100755 --- a/quickrun.py +++ b/quickrun.py @@ -19,6 +19,7 @@ import argparse import os +import shutil import subprocess from string import Template @@ -31,6 +32,8 @@ def parse_args(): 'Run a test Ipsilon instance from the checkout directory') parser.add_argument('--workdir', default=os.path.join(os.getcwd(), 'qrun'), help="Directory in which db/session files are stored") + parser.add_argument('--cleanup', '-c', action='store_true', default=False, + help="Wipe workdir before starting") return vars(parser.parse_args()) @@ -38,7 +41,7 @@ CONF_TEMPLATE="templates/install/ipsilon.conf" ADMIN_TEMPLATE=''' CREATE TABLE login_config (name TEXT,option TEXT,value TEXT); -INSERT INTO login_config VALUES('global', 'order', 'testauth'); +INSERT INTO login_config VALUES('global', 'enabled', 'testauth'); ''' USERS_TEMPLATE=''' @@ -62,6 +65,8 @@ def config(workdir): f.write(USERS_TEMPLATE) subprocess.call(['sqlite3', '-init', sql, users_db, '.quit']) + trans_db = os.path.join(workdir, 'transactions.sqlite') + with open(CONF_TEMPLATE) as f: conf_template = f.read() t = Template(conf_template) @@ -69,7 +74,14 @@ def config(workdir): 'instance': 'idp', 'staticdir': os.getcwd(), 'datadir': workdir, - 'secure': 'False'}) + 'admindb': admin_db, + 'usersdb': users_db, + 'transdb': trans_db, + 'sesstype': 'file', + 'sessopt': 'path', + 'sessval': os.path.join(workdir, 'sessions'), + 'secure': 'False', + }) conf = os.path.join(workdir, 'ipsilon.conf') with open(conf, 'w+') as f: f.write(text) @@ -81,12 +93,24 @@ if __name__ == '__main__': penv = dict() penv.update(os.environ) - penv['PYTHONPATH'] = './' + penv['PYTHONPATH'] = os.getcwd() + + exe = os.path.join(os.getcwd(), 'ipsilon/ipsilon') + + if args['cleanup']: + shutil.rmtree(args['workdir']) 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) + if not os.path.exists(os.path.join(args['workdir'], 'ui')): + os.symlink(os.path.join(os.getcwd(), 'ui'), + os.path.join(args['workdir'], 'ui')) + + + os.chdir(args['workdir']) + + p = subprocess.Popen([exe, conf], env=penv) p.wait()