Changeset: bb55959a22ab for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/bb55959a22ab
Modified Files:
        testing/Mtest.py.in
Branch: default
Log Message:

Merge with Aug2024 branch.


diffs (truncated from 747 to 300 lines):

diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -168,57 +168,6 @@ if os.path.exists('/usr/bin/coredumpctl'
             # if we can't raise the limit, just forget it
             pass
 
-def _configure(str):
-    # expand configure variables in str and return result
-    config = [
-        ('{source}', '@QXSOURCE@'),
-        ('${build}', '@QXBUILD@'),
-
-        ('${bindir}', '@QXbindir@'),
-##        ('${sbindir}', '@QXsbindir@'),
-        ('${libexecdir}', '@QXlibexecdir@'),
-        ('${datarootdir}', '@QXdatarootdir@'),
-        ('${datadir}', '@QXdatadir@'),
-        ('${sysconfdir}', '@QXsysconfdir@'),
-        ('${localstatedir}', '@QXlocalstatedir@'),
-        ('${libdir}', '@QXlibdir@'),
-        ('${includedir}', '@QXincludedir@'),
-##        ('${oldincludedir}', '@QXoldincludedir@'),
-        ('${infodir}', '@QXinfodir@'),
-        ('${mandir}', '@QXmandir@'),
-        ('${Qbindir}', '@QXbindir@'),
-##        ('${Qsbindir}', '@QXsbindir@'),
-        ('${Qlibexecdir}', '@QXlibexecdir@'),
-        ('${Qdatarootdir}', '@QXdatarootdir@'),
-        ('${Qdatadir}', '@QXdatadir@'),
-        ('${Qsysconfdir}', '@QXsysconfdir@'),
-        ('${Qlocalstatedir}', '@QXlocalstatedir@'),
-        ('${Qlibdir}', '@QXlibdir@'),
-        ('${Qincludedir}', '@QXincludedir@'),
-##        ('${Qoldincludedir}', '@QXoldincludedir@'),
-        ('${Qinfodir}', '@QXinfodir@'),
-        ('${Qmandir}', '@QXmandir@'),
-        # put these at end (in this order!) for efficiency
-        ('${exec_prefix}', '@QXexec_prefix@'),
-        ('${Qexec_prefix}', '@QXexec_prefix@'),
-        ('${prefix}', '@QXprefix@'),
-        ('${Qprefix}', '@QXprefix@'),
-        ]
-    if os.name == 'nt':
-        str = str.replace('%prefix%', '${prefix}')
-        str = str.replace('%exec_prefix%', '${exec_prefix}')
-    changed = True
-    while '$' in str and changed:
-        changed = False
-        for key, val in config:
-            if os.name == 'nt':
-                val = val.replace('%prefix%', '${prefix}')
-                val = val.replace('%exec_prefix%', '${exec_prefix}')
-            nstr = str.replace(key, val)
-            changed = changed or str != nstr
-            str = nstr
-    return str
-
 # use our own process module (instead of subprocess) because it has
 # _BufferedPipe
 try:
@@ -227,7 +176,7 @@ except ImportError:
     try:
         import MonetDBtesting.process as process
     except ImportError:
-        p = _configure(os.path.join('@QXprefix@', '@QXPYTHON_LIBDIR@'))
+        p = os.path.join('@QXprefix@', '@QXPYTHON_LIBDIR@')
         sys.path.insert(0, p)
         import MonetDBtesting.process as process
         if 'PYTHONPATH' in os.environ:
@@ -319,9 +268,9 @@ def remove(file):
         if platform.system() in ('Windows', 'Darwin'):
             shutil.rmtree(file, ignore_errors=True)
         else:
-            Warn('could not remove {}'.format(file))
+            Warn(f'could not remove {file}')
     except:
-        Warn('could not remove {}'.format(file))
+        Warn(f'could not remove {file}')
 
 def isexecutable(TST, ext = '.sh') :
     if   os.name == "nt":
@@ -331,15 +280,10 @@ def isexecutable(TST, ext = '.sh') :
             if os.path.isfile(TST+ext) or os.path.isfile(TST+ext+".src"):
                 return (True, ext)
     elif os.name == "posix":
-        #TODO:
-        # check with "file", and set executable
         TST += ext
         if ( os.path.isfile(TST       ) and os.access(TST       ,os.X_OK) ) or 
\
            ( os.path.isfile(TST+".src") and os.access(TST+".src",os.X_OK) ):
             return (True, ext)
-    #TODO:
-    #else:
-        # ???
     return (False, '')
 ### isexecutable(TST, ext = '.sh') #
 
@@ -615,17 +559,6 @@ stylesheet = Element('style', None, Text
 
 TIMES = []
 
-#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) :
     print(end='', flush=True)
     print("\n%s:  ERROR:  %s\n" % (THISFILE, TEXT), file=sys.stderr, 
flush=True)
@@ -651,12 +584,6 @@ def startswithpath(str,pre) :
     return os.path.normcase(str[:len(pre)]) == os.path.normcase(pre)
 ### startswithpath(str,pre) #
 
-##def path(str) :
-##    return str.replace('/', os.sep)
-### path(str) #
-##def url(str) :
-##    return str.replace(os.sep, '/')
-### url(str) #
 import urllib.request, urllib.parse
 path = urllib.request.url2pathname
 def url(str) :
@@ -951,9 +878,6 @@ def CreateTstWhatXhtml (env, TST, stable
 
     html.write(f, True)
     f.close()
-#TODO?
-# <A HREF='.Mtest.Slave.Log.OutErr' 
TARGET='"""+DISTVER+"_"+TSTDIR+"_"+TST+"_"+WHAT[1:]+"""_body'>LOG</A>).
-### CreateTstWhatXhtml (env, TST, stableWHAT, EXT, results) #
 
 def CreateSrcIndex (env, TST, EXT) :
     TSTSRCDIR = env['TSTSRCDIR']
@@ -1314,8 +1238,6 @@ def PerformDir(env, testdir, testlist, t
                     raise
                 except:
                     Warn("database '%s` exists, but destroying it failed; 
skipping tests in '%s`!" % (TSTDB, TSTSRCDIR))
-                    #TODO:
-                    # add "something" to HTML output
                     return td, elem, max(FdOut, FdErr), interrupted, 
test_progress
             keyfile = os.path.join(LogDBdir, '.vaultkey')
             if os.path.isabs(LogDBdir) and not os.path.exists(LogDBdir):
@@ -1323,8 +1245,6 @@ def PerformDir(env, testdir, testlist, t
                     os.makedirs(LogDBdir)
                 except:
                     Warn("creating database '%s` failed; skipping tests in 
'%s`!" % (TSTDB, TSTSRCDIR))
-                    #TODO:
-                    # add "something" to HTML output
                     return td, elem, max(FdOut, FdErr), interrupted, 
test_progress
                 else:
                     if not initdb:
@@ -1338,8 +1258,6 @@ def PerformDir(env, testdir, testlist, t
                     z = zipfile.ZipFile(initdb)
                 except IOError:
                     Warn("initial database '%s` cannot be opened; skipping 
tests in '%s`!" % (initdb, TSTSRCDIR))
-                    #TODO:
-                    # add "something" to HTML output
                     return td, elem, max(FdOut, FdErr), interrupted, 
test_progress
                 try:
                     z.extractall(LogDBdir)
@@ -1347,20 +1265,17 @@ def PerformDir(env, testdir, testlist, t
                     raise
                 except:
                     Warn("initial database '%s` cannot be extracted; skipping 
tests in '%s`!" % (initdb, TSTSRCDIR))
-                    #TODO:
-                    # add "something" to HTML output
                     return td, elem, max(FdOut, FdErr), interrupted, 
test_progress
                 z.close()
                 if os.path.exists(keyfile):
-                    vaultopt = ['--set', 'monet_vault_key={}'.format(keyfile)]
+                    vaultopt = ['--set', f'monet_vault_key={keyfile}']
                 else:
                     vaultopt = []
                 if not oneserver:
-                    pSrvr = ServerClass(splitcommand(env['exe']['mserver5'][1] 
+[f'--dbpath={LogDBdir}'] + vaultopt + mserver5_opts), open(os.devnull, 'w'), 
open(os.devnull, 'w'), par['TIMEOUT'], os.path.join(LogDBdir, '.started'), 
TSTDB, dbg=env.get('DBG'))
+                    pSrvr = ServerClass(env['exe']['mserver5'][1] + 
[f'--dbpath={LogDBdir}'] + vaultopt + mserver5_opts, open(os.devnull, 'w'), 
open(os.devnull, 'w'), par['TIMEOUT'], os.path.join(LogDBdir, '.started'), 
TSTDB, dbg=env.get('DBG'))
                     pSrvr.LaunchIt()
                     pSrvr.terminate()
         if not os.path.exists(TSTTRGDIR):
-            #TODO: set mode to umask
             os.makedirs(TSTTRGDIR)
 
         body_good = []
@@ -1383,15 +1298,15 @@ def PerformDir(env, testdir, testlist, t
                         if o != 'nodrop':
                             opts.append(o)
                     if inmem:
-                        cmd = splitcommand(env['exe']['mserver5'][1]) + 
['--set', 'gdk_dbname=%s' % TSTDB, '--in-memory'] + mserver5_opts + opts
+                        cmd = env['exe']['mserver5'][1] + ['--set', 
f'gdk_dbname={TSTDB}', '--in-memory'] + mserver5_opts + opts
                         pollfile = None
                         cmd.append('--set')
-                        
cmd.append('gdk_dbtrace={}'.format(os.path.join(LogDBdir, 'mdbtrace.log')))
+                        cmd.append(f'gdk_dbtrace={os.path.join(LogDBdir, 
"mdbtrace.log")}')
                     else:
-                        cmd = splitcommand(env['exe']['mserver5'][1]) + 
['--dbpath=%s' % LogDBdir] + mserver5_opts + opts
+                        cmd = env['exe']['mserver5'][1] + 
[f'--dbpath={LogDBdir}'] + mserver5_opts + opts
                         pollfile = os.path.join(LogDBdir, '.started')
                     if os.path.exists(keyfile):
-                        cmd.extend(['--set', 
'monet_vault_key={}'.format(keyfile)])
+                        cmd.extend(['--set', f'monet_vault_key={keyfile}'])
                     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'),
@@ -1476,7 +1391,7 @@ def PerformDir(env, testdir, testlist, t
                     for ext in ['out', 'err']:
                         o = openutf8(os.path.join(TSTTRGDIR, 
f'SingleServer.{ext}.html'), 'w')
                         o.write('<html>\n')
-                        o.write('<head><title>{} standard 
{}</title></head>\n'.format(TSTDIR, 'output' if ext == 'out' else 'error'))
+                        o.write(f'<head><title>{TSTDIR} standard {"output" if 
ext == "out" else "error"}</title></head>\n')
                         o.write('<body>\n')
                         empty = True
                         sigusr1 = False
@@ -1516,7 +1431,7 @@ def PerformDir(env, testdir, testlist, t
                             o.write(span1 + line.replace('&', 
'&amp;').replace('<', '&lt;').replace('>', '&gt;') + span2)
                         if nused + nfree != ntotal:
                             o.write(f'<span style="background-color: 
rgb(100%,0%,0%);">Mismatch in free bats: total bats = {ntotal}, #free = 
{nfree}, #used = {nused}</span>\n')
-                        o.write('{}\n</body>\n</html>\n'.format('<p>(nothing 
to see here)</p>' if empty else '</pre>'))
+                        o.write(f'{"<p>(nothing to see here)</p>" if empty 
else "</pre>"}\n</body>\n</html>\n')
                         o.close()
                 else:
                     for ext in ['out', 'err']:
@@ -1550,7 +1465,7 @@ def PerformDir(env, testdir, testlist, t
                 print('\r', ' '*(ttywidth or 100), end='', sep='')
                 print('\r', end='', sep='')
             prred('ERROR')
-            print(' in directory {}'.format(TSTDIR))
+            print(f' in directory {TSTDIR}')
 
         # remove extra files created by tests
         for f in listdir(TSTTRGDIR):
@@ -1730,13 +1645,13 @@ def returnCode(proc, f = None):
 def GetBitsAndModsAndThreads(env) :
     global setpgrp
     rtrn = 0
-    cmd = splitcommand(env['exe']['mserver5'][1])
+    cmd = env['exe']['mserver5'][1].copy()
     dbpath = os.path.join(env['GDK_DBFARM'], TSTPREF)
     try:
         os.unlink(os.path.join(dbpath, '.started'))
     except OSError:
         pass
-    cmd.append('--dbpath=%s' % dbpath)
+    cmd.append(f'--dbpath={dbpath}')
     os.environ['TSTDB'] = TSTPREF
     cmd.extend(mserver5_opts)
     if procdebug:
@@ -1998,9 +1913,6 @@ def RunTest(env, TST, COND, oktests, len
             ('.sql',          '.sql',    'sql',    'SQL'),
             ('.R',            '.R',      'R',      'SQL'),
             ('.rb',           '.rb',     'ruby',   'SQL'),
-            #TODO:
-            # ('.java',         '.java',   'Java',   'SQL'),
-            # ('.odmg',         '.odmg',   'odmg',   'SQL'),
         )
         for tst, ext, cll, srv in tests:
             if os.path.isfile(TST + tst) or \
@@ -2013,8 +1925,6 @@ def RunTest(env, TST, COND, oktests, len
         else:
             if os.name == "nt":
                 reason = "test missing: 
'"+os.path.join(TSTSRCDIR,TST)+".(exe|com|bat|cmd|py|sql)`"
-            #TODO:
-            #elif os.name == "posix":
             else:
                 reason = "test missing: 
'"+os.path.join(TSTSRCDIR,TST)+"[.py|.sql|.R|.rb]`"
             if verbosity > 1:
@@ -2215,9 +2125,6 @@ def RunTest(env, TST, COND, oktests, len
     elif EXT == ".malS" and not env['exe']['mserver5'][0]:
         reason = "as %s is not available." % env['MSERVER'].split(None, 1)[0]
         elem = SkipTest(env, TST, EXT, reason, length)
-        #TODO:
-        #elif [ "$EXT" = "java"  -a  ! "`type -path java`" ] ; then
-        #elem = SkipTest(env, TST, EXT, "as java is not in $PATH.", length)
     elif MissingMods:
         reason = "as modules '%s` are missing." % str(MissingMods)
         elem = SkipTest(env, TST, EXT, reason, length)
@@ -2381,21 +2288,6 @@ Password = {passwd or "monetdb"}-Wrong
         else:
             sockerr = F_OK
 
-        #TODO:
-        ##if [ ! -f $TSTTRGBASE/Tests/.old.left-over.tmp.bats. ] ; then  touch 
$TSTTRGBASE/Tests/.old.left-over.tmp.bats. ; fi
-        ##LEFTOVERTMPBATS="`find $MONETDBFARM/dbfarm/*/bat/ -name tmp_\* 
-print 2> /dev/null`"
-        ##if [ "$LEFTOVERTMPBATS" ] ; then
-        ##      ls -alF $LEFTOVERTMPBATS 2> /dev/null > 
.all.left-over.tmp.bats.
-        ##      diff -u0 $TSTTRGBASE/Tests/.old.left-over.tmp.bats. 
.all.left-over.tmp.bats. | grep '^\+[^\+]' > .new.left-over.tmp.bats.
-        ##fi
-        ##if [ -s .new.left-over.tmp.bats. ] ; then
-        ##      echo -e "\n!ERROR: persistent temporary bats remained:" >> 
$LOGFILE.err
-        ##      sed 's|^\+|! |g' .new.left-over.tmp.bats.               >> 
$LOGFILE.err
-        ##      echo                                                    >> 
$LOGFILE.err
-        ##fi
-        ##rm -f .new.left-over.tmp.bats. 
$TSTTRGBASE/Tests/.old.left-over.tmp.bats.
-        ##if [ -f .all.left-over.tmp.bats. ] ; then  mv -f 
.all.left-over.tmp.bats. $TSTTRGBASE/Tests/.old.left-over.tmp.bats. ; fi
-
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to