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

Reply via email to