Changeset: 984f2235973a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/984f2235973a Modified Files: testing/Mtest.py.in Branch: Jul2021 Log Message:
Implemented --loadmodule flag, make --mserver_set repeatable. diffs (94 lines): diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -48,6 +48,9 @@ initdb = None single_in_memory = False restart = False +# extra mserver5 options +mserver5_opts = [] + global_timeout = 0 start_time = time.time() @@ -1327,7 +1330,7 @@ def PerformDir(env, testdir, testlist, a return td, elem, max(FdOut, FdErr), interrupted z.close() if not oneserver: - pSrvr = ServerClass(splitcommand(env['exe']['mserver5'][1]) + ['--dbpath=%s' % LogDBdir], open(os.devnull, 'w'), open(os.devnull, 'w'), par['TIMEOUT'], os.path.join(LogDBdir, '.started')) + pSrvr = ServerClass(splitcommand(env['exe']['mserver5'][1]) + ['--dbpath=%s' % LogDBdir] + mserver5_opts, open(os.devnull, 'w'), open(os.devnull, 'w'), par['TIMEOUT'], os.path.join(LogDBdir, '.started')) pSrvr.LaunchIt() pSrvr.terminate() if not os.path.exists(TSTTRGDIR): @@ -1352,10 +1355,10 @@ def PerformDir(env, testdir, testlist, a inmem = False break if inmem: - cmd = splitcommand(env['exe']['mserver5'][1]) + ['--set', 'gdk_dbname=%s' % TSTDB, '--in-memory'] + options + cmd = splitcommand(env['exe']['mserver5'][1]) + ['--set', 'gdk_dbname=%s' % TSTDB, '--in-memory'] + mserver5_opts + options pollfile = None else: - cmd = splitcommand(env['exe']['mserver5'][1]) + ['--dbpath=%s' % LogDBdir] + options + cmd = splitcommand(env['exe']['mserver5'][1]) + ['--dbpath=%s' % LogDBdir] + mserver5_opts + options pollfile = os.path.join(LogDBdir, '.started') if env.get('MULTIFARM'): cmd.append('--dbextra=%s' % os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient')) @@ -1633,6 +1636,7 @@ def GetBitsAndModsAndThreads(env) : cmd.append('--dbextra=in-memory') if procdebug: print('GetBitsAndModsAndThreads: starting process "%s" (inpipe, outpipe, errpipe)\n' % '" "'.join(cmd)) + cmd.extend(mserver5_opts) setpgrp = True with process.Popen(cmd, stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE, text=True) as proc: @@ -2757,6 +2761,7 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te os.makedirs(os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient')) elif env.get('TRANS_INMEM'): Srvr.append('--dbextra=in-memory') + Srvr.extens(mserver5_opts) pSrvr = ServerClass(Srvr, SrvrOut, SrvrErr, TIMEOUT, os.path.join(dbpath, '.started')) pSrvr.LaunchIt() os.environ['MAPIPORT'] = env['MAPIPORT'] = pSrvr.port @@ -3374,7 +3379,8 @@ def main(argv) : parser.add_argument('--RUBYCLIENT', action='store', dest='RUBYCLIENT', metavar='<ruby program>', help='default: %s' % dft['RUBYCLIENT']) parser.add_argument('--concurrent', action='store_true', dest='concurrent', help='There are concurrent Mtest runs using the same MonetDB installation') parser.add_argument('--dbg', action='store', dest='dbg', metavar='<debugger/valgrind>', help="debugger to start before each server") - parser.add_argument('--mserver_set', action='store', dest='mserver_set', metavar='<mserver5_option>', help="This passes a single set to the server") + parser.add_argument('--mserver_set', action='append', dest='mserver_set', metavar='<mserver5_option>', help="This passes a single set to the server") + parser.add_argument('--loadmodule', action='append', dest='loadmodule', metavar='<module_name>', help="Pass on loadmodule to mserver5") parser.add_argument('--no-clean', action='store_true', dest='no_clean', help='Do not clean up before test') parser.add_argument('--testweb', action='store_true', dest='testweb', help='Optimize testing for testweb') parser.add_argument('--releaserun', action='store_true', dest='releaserun', help='run tests as if for a release test') @@ -3432,13 +3438,14 @@ def main(argv) : a = opts.dbg if a is not None: env['DBG'] = a - a = opts.mserver_set - if a is not None: - env['MSERVER_SET'] = "--set " + a - if a == 'sql_debug=128': - CONDITIONALS['NOWAL'] = True - else: - env['MSERVER_SET'] = "" + if opts.mserver_set: + for a in opts.mserver_set: + mserver5_opts.extend(['--set', a]) + if a == 'sql_debug=128': + CONDITIONALS['NOWAL'] = True + if opts.loadmodule: + for a in opts.loadmodule: + mserver5_opts.extend(['--loadmodule', a]) a = opts.no_clean if a: env['NOCLEAN'] = a @@ -3755,8 +3762,8 @@ def main(argv) : SOCK = "" exe = {} - exe['mserver5'] = CheckExec('mserver5') , '%s mserver5 --debug=%s --set gdk_nr_threads=%s %s --set mapi_listenaddr=all --set mapi_port=0 %s %s %s' % \ - (env['setDBG'], env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'], SOCK, not nomito and '--forcemito' or '', env['MSERVER_SET']) + exe['mserver5'] = CheckExec('mserver5') , '%s mserver5 --debug=%s --set gdk_nr_threads=%s %s --set mapi_listenaddr=all --set mapi_port=0 %s %s' % \ + (env['setDBG'], env['GDK_DEBUG'], env['GDK_NR_THREADS'], env['setMONETDB_MOD_PATH'], SOCK, not nomito and '--forcemito' or '') exe['ruby_client'] = CheckExec(env['RUBYCLIENT'].split(None, 1)[0]) , '%s %s' % (env['RUBYCLIENT'], '${PORT}') exe['MAL_Client'] = CheckExec(env['MALCLIENT'].split(None, 1)[0]) , '%s --host=%s --port=%s' % (env['MALCLIENT'], HOST, '${PORT}') exe['SQL_Client'] = CheckExec(env['SQLCLIENT'].split(None, 1)[0]) , '%s -i -e --host=%s --port=%s' % (env['SQLCLIENT'], HOST, '${PORT}') _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list