Changeset: bb3eb8bb37ba for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bb3eb8bb37ba Modified Files: sql/test/BugTracker-2012/Tests/All sql/test/json/Tests/All sql/test/pg_regress/Tests/All testing/Mtest.py.in Branch: Jun2016 Log Message:
Merge with Jul2015 branch. diffs (279 lines): diff --git a/sql/test/BugTracker-2012/Tests/All b/sql/test/BugTracker-2012/Tests/All --- a/sql/test/BugTracker-2012/Tests/All +++ b/sql/test/BugTracker-2012/Tests/All @@ -69,7 +69,7 @@ create_function.Bug-3172 currenttime.Bug-2781 timestamp_minus_date.Bug-2977 null_except_null.Bug-3040 -create_index_update.Bug-3098.sql +create_index_update.Bug-3098 algebra_find.Bug-2728 row_number_does_not_work_in_complex_query.Bug-2805 day-of-month-localization.Bug-2962 @@ -82,7 +82,7 @@ large-number-operation-strange-results.B inet-casts.Bug-3205 fixed_limit_for_prepare.Bug-3208 exp_bin_assertion.Bug-3209 -querycache.Bug-3212.sql +querycache.Bug-3212 url_script_test.Bug-2972 huge_insert.Bug-2803 huge_table_update.Bug-2803 diff --git a/sql/test/json/Tests/All b/sql/test/json/Tests/All --- a/sql/test/json/Tests/All +++ b/sql/test/json/Tests/All @@ -12,4 +12,4 @@ load aggregate00 aggregate01 shop -jsonvalidity.Bug-3753.sql +jsonvalidity.Bug-3753 diff --git a/sql/test/pg_regress/Tests/All b/sql/test/pg_regress/Tests/All --- a/sql/test/pg_regress/Tests/All +++ b/sql/test/pg_regress/Tests/All @@ -13,7 +13,7 @@ varchar text int2 int4 -int8 +THREADS=1?int8 oid float4 float8 diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -1752,6 +1752,7 @@ def RunTest(env, TST, BusyPorts, COND, o elem = None reason = None # reason for skipping (if any) links = [] # symlinks we make + threads = None # set if we override number of threads TX = 0 EXT = CALL = SERVER = "" @@ -1771,149 +1772,44 @@ def RunTest(env, TST, BusyPorts, COND, o EXT = ".SQL"+xS[1] CALL = "other" SERVER = "SQL" - elif os.path.isfile(TST+".py") or os.path.isfile(TST+".py.src"): - EXT = ".py" - CALL = "python" - elif os.path.isfile(TST+".MAL"+".py") or os.path.isfile(TST+".MAL"+".py.src") or os.path.isfile(TST+".MAL"+".py.in"): - EXT = ".MAL.py" - CALL = "python" - SERVER = "MAL" - elif os.path.isfile(TST+".SQL"+".py") or os.path.isfile(TST+".SQL"+".py.src") or os.path.isfile(TST+".SQL"+".py.in"): - EXT = ".SQL.py" - CALL = "python" - SERVER = "SQL" - elif os.path.isfile(TST+".mal") or os.path.isfile(TST+".mal.src") or os.path.isfile(TST+".mal.in"): - EXT = ".mal" - CALL = "mal" - elif os.path.isfile(TST+"_s00.mal") or os.path.isfile(TST+"_s00.mal.src") or os.path.isfile(TST+"_s00.mal.in"): - EXT = ".mal" - CALL = "malXs" - elif os.path.isfile(TST+".malC") or os.path.isfile(TST+".malC.src") or os.path.isfile(TST+".malC.in"): - EXT = ".malC" - CALL = "malC" - SERVER = "MAL" - elif os.path.isfile(TST+"_s00.malC") or os.path.isfile(TST+"_s00.malC.src") or os.path.isfile(TST+"_s00.malC.in"): - EXT = ".malC" - CALL = "malCXs" - SERVER = "MAL" - elif os.path.isfile(TST+"_p00.malC") or os.path.isfile(TST+"_p00.malC.src") or os.path.isfile(TST+"_p00.malC.in"): - EXT = ".malC" - CALL = "malCXp" - SERVER = "MAL" - elif os.path.isfile(TST+".sql") or os.path.isfile(TST+".sql.src") or os.path.isfile(TST+".sql.in"): - EXT = ".sql" - CALL = "sql" - SERVER = "SQL" - elif os.path.isfile(TST+"_s00.sql") or os.path.isfile(TST+"_s00.sql.src") or os.path.isfile(TST+"_s00.sql.in"): - EXT = ".sql" - CALL = "sqlXs" - SERVER = "SQL" - elif os.path.isfile(TST+"_p00.sql") or os.path.isfile(TST+"_p00.sql.src") or os.path.isfile(TST+"_p00.sql.in"): - EXT = ".sql" - CALL = "sqlXp" - SERVER = "SQL" - elif os.path.isfile(TST+".R"): - EXT = ".R" - CALL = "R" - SERVER = "SQL" - elif os.path.isfile(TST+".rb") or os.path.isfile(TST+".rb.src") or os.path.isfile(TST+".rb.in"): - EXT = ".rb" - CALL = "ruby" - SERVER = "SQL" - - #TODO: - #elif [ -f "$TST.java" ] ; then EXT="java" ; CALL="Java "+TST+" "+EXT - #elif [ -f "${TST}_s00.java" ] ; then EXT="java" ; CALL="JavaXs "+TST+" "+EXT - #elif [ -f "${TST}_p00.java" ] ; then EXT="java" ; CALL="JavaXp "+TST+" "+EXT - #elif [ -f "$TST.odmg" ] ; then EXT="odmg" ; CALL="odmg "+TST+" "+EXT else: - os.chdir(TSTTRGDIR) - i = TST.rfind('.') - if i > 0: - return RunTest(env, TST[:i], BusyPorts, COND, oktests, length) - EXT = CALL = SERVER = "" - if COND: - for cond in COND.split('&'): - if cond.startswith('!'): - negate = True - cond = cond[1:] - else: - negate = False - if cond == 'PREVREL': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevrel.zip')): - reason = "as previous release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVHGEREL': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevhgerel.zip')): - reason = "as previous hugeint release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVCHAINREL': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevchainrel.zip')): - reason = "as previous chained release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVHGECHAINREL': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevhgechainrel.zip')): - reason = "as previous hugeint chained release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVRELEMPTY': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevrelempty.zip')): - reason = "as previous empty release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVHGERELEMPTY': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevhgerelempty.zip')): - reason = "as previous hugeint empty release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVCHAINRELEMPTY': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevchainrelempty.zip')): - reason = "as previous chained empty release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond == 'PREVHGECHAINRELEMPTY': - if not os.path.exists(os.path.join(env['GDK_DBFARM'], 'prevhgechainrelempty.zip')): - reason = "as previous hugeint chained empty release database is not available" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond.startswith('THREADS='): - if (env['TST_THREADS'] == cond[8:]) == negate: - reason = "as number of threads is wrong" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond.startswith('THREADS<='): - if (int(env['TST_THREADS']) <= int(cond[9:])) == negate: - reason = "as number of threads is wrong" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond.startswith('THREADS>='): - if (int(env['TST_THREADS']) >= int(cond[9:])) == negate: - reason = "as number of threads is wrong" - elem = SkipTest(env, TST, EXT, reason, length) - break - elif cond not in CONDITIONALS: - reason = "as conditional '%s' is unknown." % cond - elem = SkipTest(env, TST, EXT, reason, length) - break - elif (not CONDITIONALS[cond]) != negate: - if negate: - reason = "as conditional '%s' holds." % cond - else: - reason = "as conditional '%s' does not hold." % cond - elem = SkipTest(env, TST, EXT, reason, length) - break - if reason: - pass - elif os.name == "nt": - ErrMsg("test missing: '"+os.path.join(TSTSRCDIR,TST)+".(exe|com|bat|cmd|py|mal|malC|sql)`") + tests = ( + # file extention EXT CALL SERVER + ('.py', '.py', 'python', ''), + ('.MAL.py', '.MAL.py', 'python', 'MAL'), + ('.SQL.py', '.SQL.py', 'python', 'SQL'), + ('.mal', '.mal', 'mal', ''), + ('_s00.mal', '.mal', 'malXs', ''), + ('.malC', '.malC', 'malC', 'MAL'), + ('_s00.malC', '.malC', 'malCXs', 'MAL'), + ('_p00.malC', '.malC', 'malCXp', 'MAL'), + ('.sql', '.sql', 'sql', 'SQL'), + ('_s00.sql', '.sql', 'sqlXs', 'SQL'), + ('_p00.sql', '.sql', 'sqlXp', 'SQL'), + ('.R', '.R', 'R', 'SQL'), + ('.rb', '.rb', 'ruby', 'SQL'), + #TODO: + # ('.java', '.java', 'Java', 'SQL'), + # ('_s00.java', '.java', 'JavaXs', 'SQL'), + # ('_p00.java', '.java', 'JavaXp', 'SQL'), + # ('.odmg', '.odmg', 'odmg', 'SQL'), + ) + for tst, ext, cll, srv in tests: + if os.path.isfile(TST + tst) or \ + os.path.isfile(TST + tst + '.src') or \ + os.path.isfile(TST + tst + '.in'): + EXT = ext + CALL = cll + SERVER = srv + break + else: + if os.name == "nt": + reason = "test missing: '"+os.path.join(TSTSRCDIR,TST)+".(exe|com|bat|cmd|py|mal|malC|sql)`" #TODO: #elif os.name == "posix": - else: - ErrMsg("test missing: '"+os.path.join(TSTSRCDIR,TST)+"[.py|.mal|.malC|.sql|.R|.rb]`") - return TX,Failed,Failed,elem,reason,links + else: + reason = "test missing: '"+os.path.join(TSTSRCDIR,TST)+"[.py|.mal|.malC|.sql|.R|.rb]`" + return TX,Failed,Failed,elem,reason,links MissingMods = CheckMods(env, TST, SERVER, CALL) MissingTests = CheckTests(env, TST, oktests) @@ -1970,7 +1866,9 @@ def RunTest(env, TST, BusyPorts, COND, o elem = SkipTest(env, TST, EXT, reason, length) break elif cond.startswith('THREADS='): - if (env['TST_THREADS'] == cond[8:]) == negate: + if env['GDK_NR_THREADS'] == '0': + threads = cond[8:] + elif (env['TST_THREADS'] == cond[8:]) == negate: reason = "as number of threads is wrong" elem = SkipTest(env, TST, EXT, reason, length) break @@ -2154,7 +2052,7 @@ def RunTest(env, TST, BusyPorts, COND, o TestErr.close() t0 = time.time() - tres = DoIt(env, SERVER, CALL, TST, EXT, PRELUDE, TestOutFile, TestErrFile, STIMEOUT, CTIMEOUT, TIMEOUT, ME, MAPIsockets, length, nomito) + tres = DoIt(env, SERVER, CALL, TST, EXT, PRELUDE, TestOutFile, TestErrFile, STIMEOUT, CTIMEOUT, TIMEOUT, ME, MAPIsockets, length, nomito, threads) if tres == 'segfault': # rename core file, if any -- might have to check # /proc/sys/kernel/core_pattern in the future but hopefully @@ -2783,7 +2681,7 @@ def mapi_ping(port,lang) : return False ### mapi_ping() # -def DoIt(env, SERVER, CALL, TST, EXT, PRELUDE, TestOutFile, TestErrFile, STIMEOUT, CTIMEOUT, TIMEOUT, ME, MAPIsockets, length, nomito) : +def DoIt(env, SERVER, CALL, TST, EXT, PRELUDE, TestOutFile, TestErrFile, STIMEOUT, CTIMEOUT, TIMEOUT, ME, MAPIsockets, length, nomito, threads) : ATJOB2 = "" STDERR.flush() if quiet: @@ -2856,6 +2754,11 @@ def DoIt(env, SERVER, CALL, TST, EXT, PR Srvr.remove('--forcemito') except ValueError: pass + if threads is not None: + for i in range(len(Srvr)): + if Srvr[i].startswith('gdk_nr_threads='): + Srvr[i] = 'gdk_nr_threads=%s' % threads + break Srvr.append('--dbpath=%s' % os.path.join(env['GDK_DBFARM'], TSTDB)) if env.get('MULTIFARM'): Srvr.append('--dbextra=%s' % os.path.join(env['GDK_DBFARM'], TSTDB + '_transient')) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list