Changeset: a919efdd4160 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a919efdd4160 Modified Files: testing/Mtest.py.in testing/Mz.py.in Branch: Jul2021 Log Message:
Add conditional NOWAL, and ported changes from Mtest to Mz. diffs (truncated from 598 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 @@ -379,27 +379,28 @@ CONDITIONALS = { 'NOT_WIN32' : "@NOT_WIN32_FALSE@", # unknown at compile time; # hence, we set them only at runtime in main() below - 'KNOWNFAIL' : "", # skip on release branch when not in testweb - 'HAVE_MONETDBJDBC_JAR' : "", - 'HAVE_JAVA' : "", - 'HAVE_JAVAJDBC' : "", - 'HAVE_JAVAMEROCONTROL' : "", - 'HAVE_JDBCCLIENT_JAR' : "", - 'HAVE_JDBCTESTS_JAR' : "", - 'HAVE_JDBCTESTS_DIR' : "", - 'HAVE_JDBCTESTS' : "", -# 'HAVE_LIBPANDAS3' : "", - 'HAVE_LIBSCIPY3' : "", - 'HAVE_PERL' : "", - 'HAVE_PHP' : "", - 'HAVE_PYMONETDB' : "", # default PYTHON can import pymonetdb - 'HAVE_PYTHON_LZ4' : "", # module lz4 is available - 'HAVE_RUBY' : "", - 'HAVE_DATA_PATH' : "", - 'MERCURIAL' : "", - 'RELEASERUN' : "", - 'BAD_HOSTNAME' : "", - 'HAVE_IPV6' : "", + 'KNOWNFAIL' : False, # skip on release branch when not in testweb + 'HAVE_MONETDBJDBC_JAR' : False, + 'HAVE_JAVA' : False, + 'HAVE_JAVAJDBC' : False, + 'HAVE_JAVAMEROCONTROL' : False, + 'HAVE_JDBCCLIENT_JAR' : False, + 'HAVE_JDBCTESTS_JAR' : False, + 'HAVE_JDBCTESTS_DIR' : False, + 'HAVE_JDBCTESTS' : False, +# 'HAVE_LIBPANDAS3' : False, + 'HAVE_LIBSCIPY3' : False, + 'HAVE_PERL' : False, + 'HAVE_PHP' : False, + 'HAVE_PYMONETDB' : False, # default PYTHON can import pymonetdb + 'HAVE_PYTHON_LZ4' : False, # module lz4 is available + 'HAVE_RUBY' : False, + 'HAVE_DATA_PATH' : False, + 'MERCURIAL' : False, + 'RELEASERUN' : False, + 'BAD_HOSTNAME' : False, + 'HAVE_IPV6' : False, + 'NOWAL' : False, } # a bunch of classes to help with generating (X)HTML files @@ -3167,14 +3168,14 @@ def CheckClassPath() : continue for C in JARS: if JARS[C].match(f): - CONDITIONALS[C] = '#' + CONDITIONALS[C] = True cp = os.path.join(p, f) + os.pathsep + cp break elif os.path.isfile(p): f = os.path.basename(p) for C in JARS: if JARS[C].match(f): - CONDITIONALS[C] = '#' + CONDITIONALS[C] = True break # check for known JARs in CLASSPATH directories # + fall-back using pkgdatadir/lib @@ -3188,14 +3189,14 @@ def CheckClassPath() : C = 'HAVE_JDBCTESTS_DIR' if not CONDITIONALS.get(C): cp = cp + os.pathsep + d - CONDITIONALS[C] = '#' + CONDITIONALS[C] = True else: C = 'HAVE_%s' % f.upper().replace('.','_') if C not in JARS: C = 'HAVE_MONETDBJDBC_JAR' if not CONDITIONALS.get(C) and JARS[C].match(f): cp = cp + os.pathsep + p - CONDITIONALS[C] = '#' + CONDITIONALS[C] = True if cp: os.environ['CLASSPATH'] = cp if verbose: @@ -3209,7 +3210,7 @@ def CheckClassPath() : if CONDITIONALS.get('HAVE_MONETDBJDBC_JAR') and \ ( CONDITIONALS.get('HAVE_JDBCTESTS_JAR') or CONDITIONALS.get('HAVE_JDBCTESTS_DIR') ): - CONDITIONALS['HAVE_JDBCTESTS'] = '#' + CONDITIONALS['HAVE_JDBCTESTS'] = True ### CheckClassPath() # def SetExecEnv(exe,verbose) : @@ -3566,6 +3567,8 @@ def main(argv) : 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'] = "" a = opts.no_clean @@ -3625,7 +3628,7 @@ def main(argv) : except ImportError: print('Python available, but pymonetdb package not available') else: - CONDITIONALS['HAVE_PYMONETDB'] = '#' + CONDITIONALS['HAVE_PYMONETDB'] = True try: import lz4 except ImportError: @@ -3646,22 +3649,22 @@ def main(argv) : text=True) as proc: pyout, pyerr = proc.communicate() if proc.returncode == 0: - CONDITIONALS['HAVE_LIBSCIPY3'] = '#' + CONDITIONALS['HAVE_LIBSCIPY3'] = True # with process.Popen([os.environ['PYTHON3'], '-c', 'import pandas'], # stdout=process.PIPE, stderr=process.PIPE, # text=True) as proc: # pyout, pyerr = proc.communicate() # if proc.returncode == 0: - # CONDITIONALS['HAVE_LIBPANDAS3'] = '#' + # CONDITIONALS['HAVE_LIBPANDAS3'] = True if env.get('TSTDATAPATH'): - CONDITIONALS['HAVE_DATA_PATH'] = '#' + CONDITIONALS['HAVE_DATA_PATH'] = True if CheckExec('perl'): with process.Popen(['perl', '-e', 'use MonetDB::CLI::MapiPP; use DBI;'], stdout=process.PIPE, stderr=process.PIPE, text=True) as proc: perl_out, perl_err = proc.communicate() if proc.returncode == 0: - CONDITIONALS['HAVE_PERL'] = '#' + CONDITIONALS['HAVE_PERL'] = True else: print('Perl available, but MonetDB driver or DBI module not available') if CheckExec('php'): @@ -3674,7 +3677,7 @@ def main(argv) : text=True) as proc: php_out, php_err = proc.communicate() if proc.returncode == 0: - CONDITIONALS['HAVE_PHP'] = '#' + CONDITIONALS['HAVE_PHP'] = True else: print('PHP available, but MonetDB driver not available') if CheckExec('ruby'): @@ -3693,7 +3696,7 @@ def main(argv) : text=True) as proc: ruby_out, ruby_err = proc.communicate() if proc.returncode == 0: - CONDITIONALS['HAVE_RUBY'] = '#' + CONDITIONALS['HAVE_RUBY'] = True else: print('Ruby available, but MonetDB gem not available') CheckClassPath() @@ -3758,7 +3761,7 @@ def main(argv) : text=True) as proc: out, err = proc.communicate() if proc.returncode == 0: - CONDITIONALS['MERCURIAL'] = '#' # True + CONDITIONALS['MERCURIAL'] = True proc = None except KeyboardInterrupt: raise @@ -3768,22 +3771,22 @@ def main(argv) : # check whether our hostname makes sense if os.environ['HOST'] == 'localhost': - CONDITIONALS['BAD_HOSTNAME'] = '#' # True + CONDITIONALS['BAD_HOSTNAME'] = True else: try: socket.getaddrinfo(socket.gethostname(), None) except KeyboardInterrupt: raise except: - CONDITIONALS['BAD_HOSTNAME'] = '#' # True + CONDITIONALS['BAD_HOSTNAME'] = True try: with socket.socket(socket.AF_INET6, socket.SOCK_STREAM) as s: s.bind(('::1', int(env['MAPIPORT']))) except socket.error as err: - CONDITIONALS['HAVE_IPV6'] = '' # False + CONDITIONALS['HAVE_IPV6'] = False else: - CONDITIONALS['HAVE_IPV6'] = '#' # True + CONDITIONALS['HAVE_IPV6'] = True # some relative path's for relocatable HTML output RELSRCBASE = os.path.relpath(TSTSRCBASE, TSTTRGBASE) @@ -4323,7 +4326,7 @@ VALUES (%s, '%s', '%s', '%s', finally: # cleanup the place where we put our UNIX sockets try: - shutil.rmtree(sockdir); + shutil.rmtree(sockdir) except KeyboardInterrupt: raise except: diff --git a/testing/Mz.py.in b/testing/Mz.py.in --- a/testing/Mz.py.in +++ b/testing/Mz.py.in @@ -383,9 +383,6 @@ CONDITIONALS = { # from configure.ag: # These should cover all AM_CONDITIONALS defined in configure.ag, i.e., # `grep AM_CONDITIONAL configure.ag | sed 's|^AM_CONDITIONAL(\([^,]*\),.*$|\1|' | sort -u` - 'BITS32' : "@BITS32_FALSE@", - 'BITS64' : "@BITS64_FALSE@", - 'CROSS_COMPILING' : "@CROSS_COMPILING_FALSE@", 'HAVE_CURL' : "@HAVE_CURL_FALSE@", 'HAVE_FITS' : "@HAVE_FITS_FALSE@", 'HAVE_GEOM' : "@HAVE_GEOM_FALSE@", @@ -398,37 +395,36 @@ CONDITIONALS = { 'HAVE_LIBR' : "@HAVE_LIBR_FALSE@", 'HAVE_LIBXML' : "@HAVE_LIBXML_FALSE@", 'HAVE_LIBZ' : "@HAVE_LIBZ_FALSE@", - 'HAVE_MAL_DEBUGGER' : "@HAVE_MAL_DEBUGGER_FALSE@", 'HAVE_NETCDF' : "@HAVE_NETCDF_FALSE@", 'HAVE_ODBC' : "@HAVE_ODBC_FALSE@", 'HAVE_PROJ' : "@HAVE_PROJ_FALSE@", - 'HAVE_PYMONETDB' : "True", 'HAVE_SHP' : "@HAVE_SHP_FALSE@", 'NATIVE_WIN32' : "@NATIVE_WIN32_FALSE@", 'NOT_WIN32' : "@NOT_WIN32_FALSE@", # unknown at compile time; # hence, we set them only at runtime in main() below - 'KNOWNFAIL' : "", # skip on release branch when not in testweb - 'HAVE_MONETDBJDBC_JAR' : "", - 'HAVE_JAVA' : "", - 'HAVE_JAVAJDBC' : "", - 'HAVE_JAVAMEROCONTROL' : "", - 'HAVE_JDBCCLIENT_JAR' : "", - 'HAVE_JDBCTESTS_JAR' : "", - 'HAVE_JDBCTESTS_DIR' : "", - 'HAVE_JDBCTESTS' : "", -# 'HAVE_LIBPANDAS3' : "", - 'HAVE_LIBSCIPY3' : "", - 'HAVE_PERL' : "", - 'HAVE_PHP' : "", - 'HAVE_PYTHON_LZ4' : "", # module lz4 is available - 'HAVE_RUBY' : "", - 'HAVE_DATA_PATH' : "", - 'MERCURIAL' : "", - 'RELEASERUN' : "", - 'BAD_HOSTNAME' : "", - 'HAVE_IPV6' : "", - 'HAVE_MONETDBE' : "", + 'KNOWNFAIL' : False, # skip on release branch when not in testweb + 'HAVE_MONETDBJDBC_JAR' : False, + 'HAVE_JAVA' : False, + 'HAVE_JAVAJDBC' : False, + 'HAVE_JAVAMEROCONTROL' : False, + 'HAVE_JDBCCLIENT_JAR' : False, + 'HAVE_JDBCTESTS_JAR' : False, + 'HAVE_JDBCTESTS_DIR' : False, + 'HAVE_JDBCTESTS' : False, +# 'HAVE_LIBPANDAS3' : False, + 'HAVE_LIBSCIPY3' : False, + 'HAVE_PERL' : False, + 'HAVE_PHP' : False, + 'HAVE_PYMONETDB' : True, # default PYTHON can import pymonetdb + 'HAVE_PYTHON_LZ4' : False, # module lz4 is available + 'HAVE_RUBY' : False, + 'HAVE_DATA_PATH' : False, + 'MERCURIAL' : False, + 'RELEASERUN' : False, + 'BAD_HOSTNAME' : False, + 'HAVE_IPV6' : False, + 'NOWAL' : False, } @@ -437,16 +433,22 @@ class Timer: # timeout of 0 as no timeout def __init__(self, interval, function, args): self.timer = None - if interval > 0: - self.timer = threading.Timer(interval, function, args = args) + self.function = function + self.args = args + self.interval = interval + + def settimeout(self, interval): + self.interval = interval def start(self): - if self.timer is not None: + if self.timer is None and self.interval > 0: + self.timer = threading.Timer(self.interval, self.function, args=self.args) self.timer.start() def cancel(self): if self.timer is not None: self.timer.cancel() + self.timer = None _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list