Changeset: 92c6ca8d478e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=92c6ca8d478e Removed Files: sql/test/mergetables/Tests/mergequery.stable.out.single Modified Files: sql/test/BugTracker-2015/Tests/All sql/test/mergetables/Tests/All testing/Mtest.py.in Branch: Jul2015 Log Message:
Introduce new Mtest.py conditionals THREADS=N THREADS<=N THREADS>=N. Where N is an integer. Some explain output depends on the number of threads, so now we can skip tests where the number of threads is wrong for the output that we have saved. diffs (truncated from 332 to 300 lines): diff --git a/sql/test/BugTracker-2015/Tests/All b/sql/test/BugTracker-2015/Tests/All --- a/sql/test/BugTracker-2015/Tests/All +++ b/sql/test/BugTracker-2015/Tests/All @@ -50,7 +50,7 @@ cast_on_groupby_col_crash.Bug-3769 apply_merge_distinct.Bug-3760 cardinality.Bug-3761 set_default_role.Bug-3364 -useless_casts.Bug-3756 +THREADS>=3?useless_casts.Bug-3756 sum_interval.Bug-3785 nil_cast.Bug-3787 sql2pcre.Bug-3800 diff --git a/sql/test/mergetables/Tests/All b/sql/test/mergetables/Tests/All --- a/sql/test/mergetables/Tests/All +++ b/sql/test/mergetables/Tests/All @@ -1,7 +1,7 @@ mergeinit mergeload mergeloadidx -mergequery +THREADS>=4?mergequery emptymergequery alter types diff --git a/sql/test/mergetables/Tests/mergequery.stable.out.single b/sql/test/mergetables/Tests/mergequery.stable.out.single deleted file mode 100644 --- a/sql/test/mergetables/Tests/mergequery.stable.out.single +++ /dev/null @@ -1,225 +0,0 @@ -stdout of test 'mergequery` in directory 'sql/test/mergetables` itself: - - -# 16:20:23 > -# 16:20:23 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=30678" "--set" "mapi_usock=/var/tmp/mtest-11019/.s.monetdb.30678" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/export/scratch1/mk/current//Linux/var/MonetDB/mTests_sql_test_mergetables" "--set" "mal_listing=0" "--set" "embedded_r=yes" -# 16:20:23 > - -# MonetDB 5 server v11.20.0 -# This is an unreleased version -# Serving database 'mTests_sql_test_mergetables', using 8 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked -# Found 15.590 GiB available main-memory. -# Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved -# Visit http://www.monetdb.org/ for further information -# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:30678/ -# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-11019/.s.monetdb.30678 -# MonetDB/GIS module loaded -# MonetDB/SQL module loaded -# MonetDB/R module loaded - -Ready. - -# 16:20:23 > -# 16:20:23 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-11019" "--port=30678" -# 16:20:23 > - -#CREATE TABLE part1 ( x double, y double, z double); -#COPY 4 RECORDS INTO part1 FROM stdin USING DELIMITERS ' ','\n'; -#0.0 0.0 0.0 -#1.0 0.0 0.0 -#0.0 1.0 0.0 -#1.0 1.0 0.0 -[ 4 ] -#CREATE TABLE part2 ( x double, y double, z double); -#COPY 4 RECORDS INTO part2 FROM stdin USING DELIMITERS ' ','\n'; -#2.0 0.0 0.0 -#3.0 0.0 0.0 -#2.0 1.0 0.0 -#3.0 1.0 0.0 -[ 4 ] -#CREATE MERGE TABLE complete ( x double, y double, z double); -#ALTER TABLE complete ADD TABLE part1; -#ALTER TABLE complete ADD TABLE part2; -#SELECT * FROM COMPLETE; -% .complete, .complete, .complete # table_name -% x, y, z # name -% double, double, double # type -% 24, 24, 24 # length -[ 0, 0, 0 ] -[ 1, 0, 0 ] -[ 0, 1, 0 ] -[ 1, 1, 0 ] -[ 2, 0, 0 ] -[ 3, 0, 0 ] -[ 2, 1, 0 ] -[ 3, 1, 0 ] -#SELECT * FROM complete where x>=0.0 AND x <=1.0; -% .complete, .complete, .complete # table_name -% x, y, z # name -% double, double, double # type -% 24, 24, 24 # length -[ 0, 0, 0 ] -[ 1, 0, 0 ] -[ 0, 1, 0 ] -[ 1, 1, 0 ] -#SELECT * FROM complete where x>=2.0 AND x <=3.0; -% .complete, .complete, .complete # table_name -% x, y, z # name -% double, double, double # type -% 24, 24, 24 # length -[ 2, 0, 0 ] -[ 3, 0, 0 ] -[ 2, 1, 0 ] -[ 3, 1, 0 ] -#SELECT * FROM complete where x>=1.0 AND x <=2.0; -% .complete, .complete, .complete # table_name -% x, y, z # name -% double, double, double # type -% 24, 24, 24 # length -[ 1, 0, 0 ] -[ 1, 1, 0 ] -[ 2, 0, 0 ] -[ 2, 1, 0 ] -#CREATE TABLE answ( LIKE complete); -#EXPLAIN INSERT INTO answ -#SELECT * FROM complete where x>=1.0 AND x <=2.0; -% .explain # table_name -% mal # name -% clob # type -% 129 # length -function user.s13_1{autoCommit=true}(A0:dbl,A1:dbl):void; - X_83:void := querylog.define("explain insert into answ\nselect * from complete where x>=1.0 and x <=2.0;","default_pipe",52); - X_4 := sql.mvc(); - X_5:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); - X_11:bat[:oid,:dbl] := sql.bind(X_4,"sys","part1","x",0); - X_8:bat[:oid,:oid] := sql.tid(X_4,"sys","part1"); - X_97 := algebra.subselect(X_11,X_8,A0,A1,true,true,false); - (X_14,r1_14) := sql.bind(X_4,"sys","part1","x",2); - X_98 := algebra.subselect(r1_14,nil:bat[:oid,:oid],A0,A1,true,true,false); - X_17:bat[:oid,:dbl] := sql.bind(X_4,"sys","part1","x",1); - X_100 := algebra.subselect(X_17,X_8,A0,A1,true,true,false); - X_19 := sql.subdelta(X_97,X_8,X_14,X_98,X_100); - X_21 := sql.projectdelta(X_19,X_11,X_14,r1_14,X_17); - X_22 := bat.append(X_5,X_21,true); - X_25:bat[:oid,:dbl] := sql.bind(X_4,"sys","part2","x",0); - X_23:bat[:oid,:oid] := sql.tid(X_4,"sys","part2"); - X_101 := algebra.subselect(X_25,X_23,A0,A1,true,true,false); - (X_26,r1_30) := sql.bind(X_4,"sys","part2","x",2); - X_102 := algebra.subselect(r1_30,nil:bat[:oid,:oid],A0,A1,true,true,false); - X_28:bat[:oid,:dbl] := sql.bind(X_4,"sys","part2","x",1); - X_104 := algebra.subselect(X_28,X_23,A0,A1,true,true,false); - X_29 := sql.subdelta(X_101,X_23,X_26,X_102,X_104); - X_31 := sql.projectdelta(X_29,X_25,X_26,r1_30,X_28); - X_32 := bat.append(X_22,X_31,true); - X_33 := sql.append(X_4,"sys","answ","x",X_32); - X_37:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); - X_40:bat[:oid,:dbl] := sql.bind(X_33,"sys","part1","y",0); - (X_44,r1_53) := sql.bind(X_33,"sys","part1","y",2); - X_47:bat[:oid,:dbl] := sql.bind(X_33,"sys","part1","y",1); - X_49 := sql.projectdelta(X_19,X_40,X_44,r1_53,X_47); - X_50 := bat.append(X_37,X_49,true); - X_51:bat[:oid,:dbl] := sql.bind(X_33,"sys","part2","y",0); - (X_53,r1_64) := sql.bind(X_33,"sys","part2","y",2); - X_55:bat[:oid,:dbl] := sql.bind(X_33,"sys","part2","y",1); - X_56 := sql.projectdelta(X_29,X_51,X_53,r1_64,X_55); - X_57 := bat.append(X_50,X_56,true); - X_59 := sql.append(X_33,"sys","answ","y",X_57); - X_60:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); - X_61:bat[:oid,:dbl] := sql.bind(X_59,"sys","part1","z",0); - (X_64,r1_78) := sql.bind(X_59,"sys","part1","z",2); - X_66:bat[:oid,:dbl] := sql.bind(X_59,"sys","part1","z",1); - X_67 := sql.projectdelta(X_19,X_61,X_64,r1_78,X_66); - X_68 := bat.append(X_60,X_67,true); - X_69:bat[:oid,:dbl] := sql.bind(X_59,"sys","part2","z",0); - (X_71,r1_87) := sql.bind(X_59,"sys","part2","z",2); - X_74:bat[:oid,:dbl] := sql.bind(X_59,"sys","part2","z",1); - X_76 := sql.projectdelta(X_29,X_69,X_71,r1_87,X_74); - X_77 := bat.append(X_68,X_76,true); - X_78 := sql.append(X_59,"sys","answ","z",X_77); - X_80 := aggr.count(X_77); - sql.affectedRows(X_78,X_80,""); -end user.s13_1; -#INSERT INTO answ -#SELECT * FROM complete where x>=1.0 AND x <=2.0; -[ 4 ] -#EXPLAIN INSERT INTO answ -#SELECT * FROM complete -#WHERE x BETWEEN 0 AND 2 AND Y BETWEEN 0 AND 2; -% .explain # table_name -% mal # name -% clob # type -% 151 # length -function user.s14_1{autoCommit=true}(A0:dbl,A1:dbl,A2:dbl,A3:dbl):void; - X_88:void := querylog.define("explain insert into answ\nselect * from complete\nwhere x between 0 and 2 and y between 0 and 2;","default_pipe",60); - X_6 := sql.mvc(); - X_7:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); - X_13:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","x",0); - X_21:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","y",0); - X_10:bat[:oid,:oid] := sql.tid(X_6,"sys","part1"); - X_102 := algebra.subselect(X_21,X_10,A2,A3,true,true,false); - (X_23,r1_27) := sql.bind(X_6,"sys","part1","y",2); - X_103 := algebra.subselect(r1_27,nil:bat[:oid,:oid],A2,A3,true,true,false); - X_25:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","y",1); - X_105 := algebra.subselect(X_25,X_10,A2,A3,true,true,false); - X_26 := sql.subdelta(X_102,X_10,X_23,X_103,X_105); - X_106 := algebra.subselect(X_13,X_26,A0,A1,true,true,false); - (X_16,r1_16) := sql.bind(X_6,"sys","part1","x",2); - X_107 := algebra.subselect(r1_16,nil:bat[:oid,:oid],A0,A1,true,true,false); - X_19:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","x",1); - X_109 := algebra.subselect(X_19,X_26,A0,A1,true,true,false); - X_28 := sql.subdelta(X_106,X_26,X_16,X_107,X_109); - X_29 := sql.projectdelta(X_28,X_13,X_16,r1_16,X_19); - X_30 := bat.append(X_7,X_29,true); - X_34:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","x",0); - X_40:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","y",0); - X_32:bat[:oid,:oid] := sql.tid(X_6,"sys","part2"); - X_110 := algebra.subselect(X_40,X_32,A2,A3,true,true,false); - (X_42,r1_54) := sql.bind(X_6,"sys","part2","y",2); - X_111 := algebra.subselect(r1_54,nil:bat[:oid,:oid],A2,A3,true,true,false); - X_45:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","y",1); - X_113 := algebra.subselect(X_45,X_32,A2,A3,true,true,false); - X_47 := sql.subdelta(X_110,X_32,X_42,X_111,X_113); - X_114 := algebra.subselect(X_34,X_47,A0,A1,true,true,false); - (X_35,r1_43) := sql.bind(X_6,"sys","part2","x",2); - X_115 := algebra.subselect(r1_43,nil:bat[:oid,:oid],A0,A1,true,true,false); - X_38:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","x",1); - X_117 := algebra.subselect(X_38,X_47,A0,A1,true,true,false); - X_48 := sql.subdelta(X_114,X_47,X_35,X_115,X_117); - X_49 := sql.projectdelta(X_48,X_34,X_35,r1_43,X_38); - X_50 := bat.append(X_30,X_49,true); - X_51 := sql.append(X_6,"sys","answ","x",X_50); - X_53:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); - X_56 := sql.projectdelta(X_28,X_21,X_23,r1_27,X_25); - X_57 := bat.append(X_53,X_56,true); - X_59 := sql.projectdelta(X_48,X_40,X_42,r1_54,X_45); - X_60 := bat.append(X_57,X_59,true); - X_61 := sql.append(X_51,"sys","answ","y",X_60); - X_64:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); - X_65:bat[:oid,:dbl] := sql.bind(X_61,"sys","part1","z",0); - (X_69,r1_87) := sql.bind(X_61,"sys","part1","z",2); - X_72:bat[:oid,:dbl] := sql.bind(X_61,"sys","part1","z",1); - X_74 := sql.projectdelta(X_28,X_65,X_69,r1_87,X_72); - X_75 := bat.append(X_64,X_74,true); - X_76:bat[:oid,:dbl] := sql.bind(X_61,"sys","part2","z",0); - (X_78,r1_98) := sql.bind(X_61,"sys","part2","z",2); - X_80:bat[:oid,:dbl] := sql.bind(X_61,"sys","part2","z",1); - X_81 := sql.projectdelta(X_48,X_76,X_78,r1_98,X_80); - X_82 := bat.append(X_75,X_81,true); - X_83 := sql.append(X_61,"sys","answ","z",X_82); - X_85 := aggr.count(X_82); - sql.affectedRows(X_83,X_85,""); -end user.s14_1; -#INSERT INTO answ -#SELECT * FROM complete -#WHERE x BETWEEN 0 AND 2 AND Y BETWEEN 0 AND 2; -[ 6 ] -#DROP TABLE complete; -#DROP TABLE part1; -#DROP TABLE part2; - -# 16:20:24 > -# 16:20:24 > "Done." -# 16:20:24 > - diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -1565,6 +1565,7 @@ def GetBitsAndOIDsAndModsAndStaticAndThr env['TST_INT128'] = "" env['TST_STATIC'] = "" env['TST_SINGLE'] = "" + env['TST_THREADS'] = "" if qOut: tbos = re.compile("^# Compiled for .*/([63][42]bit) with ([63][42])bit OIDs;?(| and 128bit integers) ([^ ]*) linked", re.MULTILINE) tt = re.compile("^# Serving database .*, using ([0-9]+) threads?", re.MULTILINE) @@ -1584,9 +1585,11 @@ def GetBitsAndOIDsAndModsAndStaticAndThr env['TST_STATIC'] = "STATIC" os.environ['TST_STATIC'] = env['TST_STATIC'] t = tt.match(l) - if t and t.group(1) == "1": - env['TST_SINGLE'] = "single" - os.environ['TST_SINGLE'] = env['TST_SINGLE'] + if t: + if t.group(1) == "1": + env['TST_SINGLE'] = "single" + os.environ['TST_SINGLE'] = env['TST_SINGLE'] + env['TST_THREADS'] = t.group(1) m = tm.match(l) if m: env['TST_MODS'] = eval(m.group(1)) @@ -1840,6 +1843,21 @@ def RunTest(env, TST, BusyPorts, COND, o reason = "as previous hugeint chained 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 not CONDITIONALS.has_key(cond): _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
