Changeset: f1a37163d9a0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f1a37163d9a0
Modified Files:
        testing/Mtest.py.in
Branch: mtest
Log Message:

create mserver5 in factory func


diffs (131 lines):

diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -453,17 +453,6 @@ TIMES = []
 
 random.seed(time.time())
 
-#TODO:
-#class TimeoutError:
-#       def __init__(self, text):
-#               self.text = text
-#       def __str__(self):
-#               return self.text
-#
-#def AlarmHandler(signum, frame) :
-#       raise TimeoutError, "Timeout"
-#### AlarmHandler(signum, frame) #
-
 def ErrMsg(TEXT) :
     STDOUT.flush()
     STDERR.write("\n%s:  ERROR:  %s\n\n" % (THISFILE, TEXT))
@@ -660,7 +649,6 @@ def PerformDir(env, testdir, testlist, B
                 return td, FdErr, interrupted
             z.close()
             if not oneserver:
-                #ServerClass(cmd, TestOut, TestErr, TimeOut, pollfile, port)
                 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'), int(env['MAPIPORT']))
                 pSrvr.LaunchIt()
                 pSrvr.terminate()
@@ -668,8 +656,6 @@ def PerformDir(env, testdir, testlist, B
         #TODO: set mode to umask
         os.makedirs(TSTTRGDIR)
 
-    body_good = []
-    body_bad = []
     oktests = []
     if not verbose and not quiet:
         print('\nRunning in %s' % TSTDIR)
@@ -680,20 +666,12 @@ def PerformDir(env, testdir, testlist, B
             for TST,COND in testlist:
                 if oneserver and (pSrvr is None or pSrvr.poll() is not None):
                     # restart server
-                    cmd = splitcommand(env['exe']['mserver5'][1]) + 
['--dbpath=%s' % LogDBdir] + options
-                    if env.get('MULTIFARM'):
-                        cmd.append('--dbextra=%s' % 
os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient'))
-                        shutil.rmtree(os.path.join(env['GDK_DBFARM'], TSTPREF 
+ '_transient'),
-                                      ignore_errors = True)
-                        os.makedirs(os.path.join(env['GDK_DBFARM'], TSTPREF + 
'_transient'))
-                    elif env.get('TRANS_INMEM'):
-                        cmd.append('--dbextra=:inmemory')
-                    pSrvr = ServerClass(cmd,
-                                        open(os.path.join(TSTTRGDIR, 
'SingleServer.out'), 'a'),
-                                        open(os.path.join(TSTTRGDIR, 
'SingleServer.err'), 'a'),
-                                        0,
-                                        os.path.join(LogDBdir, '.started'),
-                                        int(env['MAPIPORT']))
+                    pSrvr = create_mserver5(
+                            LogDBdir,
+                            env=env,
+                            outfile=os.path.join(TSTTRGDIR, 
'SingleServer.out'),
+                            errfile=os.path.join(TSTTRGDIR, 
'SingleServer.err'),
+                            options=options)
                     os.chdir(TSTTRGDIR)
                     pSrvr.LaunchIt()
                 if global_timeout and start_time + global_timeout < 
time.time():
@@ -1357,7 +1335,8 @@ def RunTest(env, TST, BusyPorts, COND, o
 
         t0 = time.time()
         print('WTF is TIMEOUT=', TIMEOUT)
-        print(pSrvr.__dict__)
+        if pSrvr:
+            print(pSrvr.__dict__)
         if CALL == 'sqltest':
             errcode = RunSQLLogicTest(env, TST, None, TestErrFile)
         else:
@@ -1738,6 +1717,30 @@ class ServerClass:
         self.started = True
 #ServerClass(cmd, outfile, errfile, timeout, pollfile, port)
 
+
+def create_mserver5(dbpath, timeout=0, env={}, outfile=None, errfile=None, 
options=[]):
+    port = int(env.get('MAPIPORT', randomPort(30000, 39999)))
+    pollfile = os.path.join(dbpath, '.started')
+    outfile = open(outfile, 'a') if outfile else sys.stdout
+    errfile = open(errfile, 'a') if errfile else sys.stderr
+    cmd = splitcommand(env['exe']['mserver5'][1]) + ['--dbpath=%s' % dbpath] + 
options
+    print('DEBUG: [create_mserver5] --options ', cmd)
+    TSTPREF = env.get('TSTPREF')
+    if env.get('MULTIFARM'):
+        cmd.append('--dbextra=%s' % os.path.join(env['GDK_DBFARM'], TSTPREF + 
'_transient'))
+        shutil.rmtree(os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient'),
+                      ignore_errors = True)
+        os.makedirs(os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient'))
+    elif env.get('TRANS_INMEM'):
+        cmd.append('--dbextra=:inmemory')
+    return ServerClass(cmd,
+                outfile,
+                errfile,
+                timeout,
+                pollfile,
+                port)
+
+
 def RunIt(cmd, onechild, TestIn, TestOut, TestErr, TimeOut) :
     global setpgrp
     if type(TestIn) is type(''):
@@ -1951,6 +1954,8 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te
             Srvr.extend(['--set', 'embedded_c=true'])
 
             if PSRVR is None:
+                # TODO
+                #def create_mserver5(dbpath, timeout=0, env={}, outfile=None, 
errfile=None, options=[]):
                 if env.get('MULTIFARM'):
                     Srvr.append('--dbextra=%s' % 
os.path.join(env['GDK_DBFARM'], TSTPREF + '_transient'))
                     shutil.rmtree(os.path.join(env['GDK_DBFARM'], TSTPREF + 
'_transient'),
@@ -1958,7 +1963,6 @@ 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=:inmemory')
-                #ServerClass(cmd, outfile, errfile, timeout, pollfile, port)
                 pSrvr = ServerClass(Srvr, SrvrOut, SrvrErr, TIMEOUT, 
os.path.join(dbpath, '.started'), int(env['MAPIPORT']))
                 pSrvr.LaunchIt()
             if savepath is not None:
@@ -2888,7 +2892,6 @@ def main(argv) :
             exe = {}
             exe['mserver5']       = CheckExec('mserver5')     , '%s mserver5 
--debug=%s --set gdk_nr_threads=%s %s --set mapi_listenaddr=all --set 
mapi_port=%s %s %s %s' % \
                                                                    
(env['setDBG'], env['GDK_DEBUG'], env['GDK_NR_THREADS'], 
env['setMONETDB_MOD_PATH'], env['MAPIPORT'], SOCK, not nomito and '--forcemito' 
or '', env['MSERVER_SET'])
-            exe['Mdiff']         = CheckExec('Mdiff')        , 'Mdiff'
             exe['python']        = CheckExec(sys.executable) , sys.executable
             exe['ruby_client']   = CheckExec(env['RUBYCLIENT'].split(None, 
1)[0])   , '%s %s' % (env['RUBYCLIENT'], env['MAPIPORT'])
             exe['MAL_Client']    = CheckExec(env['MALCLIENT'].split(None, 
1)[0])  , '%s --host=%s --port=%s' % (env['MALCLIENT'], HOST, env['MAPIPORT'])
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to