Changeset: 08e635240cb1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/08e635240cb1
Added Files:
        sql/backends/monet5/UDF/udf/Tests/alastair_udf_mergetable_bug.py
        sql/backends/monet5/UDF/udf/Tests/sqlancer.test
        sql/backends/monet5/UDF/udf/Tests/string-length.Bug-3999.test
Removed Files:
        monetdb5/optimizer/Tests/dataflow.maltest
        sql/test/scripts/Tests/alastair_udf_mergetable_bug.py
Modified Files:
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/Tests/SingleServer
        sql/backends/monet5/UDF/udf/Tests/All
        sql/test/BugTracker-2016/Tests/SingleServer
        sql/test/BugTracker-2016/Tests/string-length.Bug-3999.test
        sql/test/SQLancer/Tests/SingleServer
        sql/test/SQLancer/Tests/sqlancer01.test
        sql/test/SQLancer/Tests/sqlancer10.test
        sql/test/scripts/Tests/All
        testing/Mtest.py.in
Branch: Dec2025
Log Message:

Concentrate tests using extra modules; skip embedded tests if not installed.
Some fixes for testing from RPM builds, especially when not everything
is installed (udf and microbenchark modules are never installed, geom is
optional).


diffs (truncated from 345 to 300 lines):

diff --git a/monetdb5/optimizer/Tests/All b/monetdb5/optimizer/Tests/All
--- a/monetdb5/optimizer/Tests/All
+++ b/monetdb5/optimizer/Tests/All
@@ -72,7 +72,6 @@ Mexample
 
 commonTerms
 argumenttypes
-THREADS>=2?dataflow
 THREADS>=2?dataflow3
 THREADS>=2?dataflow4
 THREADS>=2?dataflow5
diff --git a/monetdb5/optimizer/Tests/SingleServer 
b/monetdb5/optimizer/Tests/SingleServer
--- a/monetdb5/optimizer/Tests/SingleServer
+++ b/monetdb5/optimizer/Tests/SingleServer
@@ -1,1 +0,0 @@
---loadmodule microbenchmark
diff --git a/monetdb5/optimizer/Tests/dataflow.maltest 
b/monetdb5/optimizer/Tests/dataflow.maltest
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/dataflow.maltest
+++ /dev/null
@@ -1,30 +0,0 @@
-statement ok
-include microbenchmark
-
-statement ok
-function tst();
-s:= microbenchmark.uniform(0:oid, 100000:lng, 100000);
-l:= aggr.min(s);
-h:= l;
-z:= nil:bat[:oid];
-       t1:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t2:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t3:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t4:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t5:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t6:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t7:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       t8:= algebra.select(s,nil:bat[:oid],l,h,true,true,false);
-       z:= mat.pack(t1,t2,t3,t4,t5,t6,t7,t8);
-mdb.var();
-c:= aggr.count(z);
-io.print(c);
-io.print("done");
-end tst
-
-statement ok
-optimizer.dataflow("user","tst")
-
-statement ok
-optimizer.garbageCollector("user","tst")
-
diff --git a/sql/backends/monet5/UDF/udf/Tests/All 
b/sql/backends/monet5/UDF/udf/Tests/All
--- a/sql/backends/monet5/UDF/udf/Tests/All
+++ b/sql/backends/monet5/UDF/udf/Tests/All
@@ -1,2 +1,5 @@
 udf-reverse
 udf-fuse
+string-length.Bug-3999
+sqlancer
+alastair_udf_mergetable_bug
diff --git a/sql/test/scripts/Tests/alastair_udf_mergetable_bug.py 
b/sql/backends/monet5/UDF/udf/Tests/alastair_udf_mergetable_bug.py
rename from sql/test/scripts/Tests/alastair_udf_mergetable_bug.py
rename to sql/backends/monet5/UDF/udf/Tests/alastair_udf_mergetable_bug.py
diff --git a/sql/backends/monet5/UDF/udf/Tests/sqlancer.test 
b/sql/backends/monet5/UDF/udf/Tests/sqlancer.test
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/udf/Tests/sqlancer.test
@@ -0,0 +1,54 @@
+query T rowsort
+select reverse(E'8 \\rcr੧[bp1eMY쫺4j5s뮯!<Rn4*}')
+----
+}*4nR<!뮯s5j4쫺YMe1pb[੧rcr\ 8
+
+statement ok
+CREATE TABLE integers(i INTEGER)
+
+statement ok
+insert into integers(i) values(((length(reverse(E'8 
\rcr੧[bp1eMY쫺4j5s뮯!<Rn4*}')))>>(((- (- (528640982)))&(ascii('528640982'))))))
+
+query I nosort
+SELECT i from integers order by i
+----
+0
+
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE "t0" ("c1" DECIMAL(18,3),"c2" DOUBLE,"c3" BIGINT)
+
+statement ok
+INSERT INTO "t0" VALUES (0.777, 0.7536489655766666, 8)
+
+statement ok
+CREATE TABLE "t1" ("c0" DECIMAL(18,3))
+
+statement ok
+INSERT INTO "t1" VALUES (0.276),(0.525),(0.660),(0.567),(0.476),(482405851.000)
+
+statement ok
+CREATE TABLE "t2" ("c0" DECIMAL(18,3))
+
+statement ok
+INSERT INTO "t2" VALUES (0.314),(0.314),(0.314),(0.314),(0.314),(0.314)
+
+query T nosort
+SELECT group_concat('a') FROM t1 RIGHT OUTER JOIN ((SELECT t1.c0, 1, t2.c0 
FROM t1, t2) except ALL (SELECT t0.c2, 1, 8 FROM t0)) AS sub0 ON EXISTS (SELECT 
1)
+----
+a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a
+
+query TI nosort
+SELECT listagg(ALL CASE sql_min('pX1~e*', '1041995366') WHEN reverse(' ') THEN 
COALESCE('-879625247', '0.19731369376302454', '1470019653', 'uUBi*') WHEN 
"right"('e', 0.8362747) THEN '-1627785951'
+ELSE substr('{!)5DӾ2_', 1) END), -1807892187 FROM t1 RIGHT OUTER JOIN ((SELECT 
t1.c0, (SELECT DISTINCT CAST(l1t1.c0 AS INT) FROM t1 AS l1t1, t2 AS l1t2 WHERE 
TRUE), t2.c0, -879625247 FROM t0, t1, t2
+JOIN (SELECT DISTINCT 2.73848834E8, -879625247) AS sub0 ON CASE WHEN FALSE 
THEN 'FALSE' WHEN TRUE THEN FALSE WHEN FALSE THEN FALSE END) INTERSECT ALL 
(SELECT ALL ((CASE WHEN TRUE THEN 3 WHEN FALSE
+THEN 321224835 WHEN TRUE THEN 0.19240692 WHEN FALSE THEN 4 WHEN TRUE THEN 5 
END)/(+ (t0.c2))), ((SELECT CAST(l1t1.c0 AS bigint) FROM t2 AS l1t2, t1 AS l1t1 
WHERE NULL) EXCEPT ALL (SELECT DISTINCT 7
+FROM t2 AS l1t2, t0 AS l1t0, t1 AS l1t1 WHERE FALSE)), 8, ((CAST(t2.c0 AS 
BIGINT))|(51872538)) FROM t0, t1, t2)) AS sub0 ON EXISTS ((SELECT DISTINCT 
((1)*(l1t1.c0)) FROM t1 AS l1t1, t0 AS l1t0
+WHERE FALSE) UNION DISTINCT (SELECT 0.9873177792769359 FROM t1 AS l1t1, t2 AS 
l1t2, t0 AS l1t0 WHERE TRUE)) WHERE COALESCE(8, 0.47, t1.c0, t1.c0) = 
ANY(VALUES (NULLIF(0.66, 0.64))) GROUP BY 2
+----
+
+statement ok
+ROLLBACK
+
diff --git a/sql/backends/monet5/UDF/udf/Tests/string-length.Bug-3999.test 
b/sql/backends/monet5/UDF/udf/Tests/string-length.Bug-3999.test
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/UDF/udf/Tests/string-length.Bug-3999.test
@@ -0,0 +1,10 @@
+query I rowsort
+SELECT length(reverse('     67890')) as "ten"
+----
+10
+
+query I rowsort
+SELECT sys.length(reverse('     67890')) as "ten"
+----
+10
+
diff --git a/sql/test/BugTracker-2016/Tests/SingleServer 
b/sql/test/BugTracker-2016/Tests/SingleServer
--- a/sql/test/BugTracker-2016/Tests/SingleServer
+++ b/sql/test/BugTracker-2016/Tests/SingleServer
@@ -1,1 +0,0 @@
---loadmodule udf
diff --git a/sql/test/BugTracker-2016/Tests/string-length.Bug-3999.test 
b/sql/test/BugTracker-2016/Tests/string-length.Bug-3999.test
--- a/sql/test/BugTracker-2016/Tests/string-length.Bug-3999.test
+++ b/sql/test/BugTracker-2016/Tests/string-length.Bug-3999.test
@@ -19,11 +19,6 @@ SELECT length('     67890') as "ten"
 10
 
 query I rowsort
-SELECT length(reverse('     67890')) as "ten"
-----
-10
-
-query I rowsort
 SELECT sys.length('123 ') as "four"
 ----
 4
@@ -43,11 +38,6 @@ SELECT sys.length('     67890') as "ten"
 ----
 10
 
-query I rowsort
-SELECT sys.length(reverse('     67890')) as "ten"
-----
-10
-
 statement ok
 CREATE TABLE tvarchar (val VARCHAR(9) NOT NULL)
 
diff --git a/sql/test/SQLancer/Tests/SingleServer 
b/sql/test/SQLancer/Tests/SingleServer
--- a/sql/test/SQLancer/Tests/SingleServer
+++ b/sql/test/SQLancer/Tests/SingleServer
@@ -1,1 +0,0 @@
---loadmodule udf
diff --git a/sql/test/SQLancer/Tests/sqlancer01.test 
b/sql/test/SQLancer/Tests/sqlancer01.test
--- a/sql/test/SQLancer/Tests/sqlancer01.test
+++ b/sql/test/SQLancer/Tests/sqlancer01.test
@@ -40,20 +40,6 @@ CREATE TABLE t0 (a1 INT, a2 int, a3 int)
 statement ok
 UPDATE t0 SET a2 = (- (- (t0.a1))), a3 = 
(ascii(CAST(ascii('}悂Y8K*韖5<c>^n8_X1X|p(''bX') AS STRING(920)))) WHERE NOT 
(((0.27023923567918073) NOT IN (0.9149447665258329)) = FALSE)
 
-statement ok
-insert into integers(i) values(((length(reverse(E'8 
\rcr੧[bp1eMY쫺4j5s뮯!<Rn4*}')))>>(((- (- (528640982)))&(ascii('528640982'))))))
-
-query I nosort
-SELECT i from integers order by i
-----
-NULL
-0
-
-query T rowsort
-select reverse(E'8 \\rcr੧[bp1eMY쫺4j5s뮯!<Rn4*}')
-----
-}*4nR<!뮯s5j4쫺YMe1pb[੧rcr\ 8
-
 query I rowsort
 select true in (1 in (1))
 ----
diff --git a/sql/test/SQLancer/Tests/sqlancer10.test 
b/sql/test/SQLancer/Tests/sqlancer10.test
--- a/sql/test/SQLancer/Tests/sqlancer10.test
+++ b/sql/test/SQLancer/Tests/sqlancer10.test
@@ -484,44 +484,6 @@ statement ok
 START TRANSACTION
 
 statement ok
-CREATE TABLE "t0" ("c1" DECIMAL(18,3),"c2" DOUBLE,"c3" BIGINT)
-
-statement ok
-INSERT INTO "t0" VALUES (0.777, 0.7536489655766666, 8)
-
-statement ok
-CREATE TABLE "t1" ("c0" DECIMAL(18,3))
-
-statement ok
-INSERT INTO "t1" VALUES (0.276),(0.525),(0.660),(0.567),(0.476),(482405851.000)
-
-statement ok
-CREATE TABLE "t2" ("c0" DECIMAL(18,3))
-
-statement ok
-INSERT INTO "t2" VALUES (0.314),(0.314),(0.314),(0.314),(0.314),(0.314)
-
-query T nosort
-SELECT group_concat('a') FROM t1 RIGHT OUTER JOIN ((SELECT t1.c0, 1, t2.c0 
FROM t1, t2) except ALL (SELECT t0.c2, 1, 8 FROM t0)) AS sub0 ON EXISTS (SELECT 
1)
-----
-a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a
-
-query TI nosort
-SELECT listagg(ALL CASE sql_min('pX1~e*', '1041995366') WHEN reverse(' ') THEN 
COALESCE('-879625247', '0.19731369376302454', '1470019653', 'uUBi*') WHEN 
"right"('e', 0.8362747) THEN '-1627785951'
-ELSE substr('{!)5DӾ2_', 1) END), -1807892187 FROM t1 RIGHT OUTER JOIN ((SELECT 
t1.c0, (SELECT DISTINCT CAST(l1t1.c0 AS INT) FROM t1 AS l1t1, t2 AS l1t2 WHERE 
TRUE), t2.c0, -879625247 FROM t0, t1, t2
-JOIN (SELECT DISTINCT 2.73848834E8, -879625247) AS sub0 ON CASE WHEN FALSE 
THEN 'FALSE' WHEN TRUE THEN FALSE WHEN FALSE THEN FALSE END) INTERSECT ALL 
(SELECT ALL ((CASE WHEN TRUE THEN 3 WHEN FALSE
-THEN 321224835 WHEN TRUE THEN 0.19240692 WHEN FALSE THEN 4 WHEN TRUE THEN 5 
END)/(+ (t0.c2))), ((SELECT CAST(l1t1.c0 AS bigint) FROM t2 AS l1t2, t1 AS l1t1 
WHERE NULL) EXCEPT ALL (SELECT DISTINCT 7
-FROM t2 AS l1t2, t0 AS l1t0, t1 AS l1t1 WHERE FALSE)), 8, ((CAST(t2.c0 AS 
BIGINT))|(51872538)) FROM t0, t1, t2)) AS sub0 ON EXISTS ((SELECT DISTINCT 
((1)*(l1t1.c0)) FROM t1 AS l1t1, t0 AS l1t0
-WHERE FALSE) UNION DISTINCT (SELECT 0.9873177792769359 FROM t1 AS l1t1, t2 AS 
l1t2, t0 AS l1t0 WHERE TRUE)) WHERE COALESCE(8, 0.47, t1.c0, t1.c0) = 
ANY(VALUES (NULLIF(0.66, 0.64))) GROUP BY 2
-----
-
-statement ok
-ROLLBACK
-
-statement ok
-START TRANSACTION
-
-statement ok
 CREATE TABLE "t0" ("c1" DECIMAL(18,3) NOT NULL,"c2" BOOLEAN,"c3" DECIMAL(18,3) 
NOT NULL,CONSTRAINT "t0_c1_pkey" PRIMARY KEY ("c1"),CONSTRAINT "t0_c1_unique" 
UNIQUE ("c1"),CONSTRAINT "t0_c3_unique" UNIQUE ("c3"))
 
 statement ok
diff --git a/sql/test/scripts/Tests/All b/sql/test/scripts/Tests/All
--- a/sql/test/scripts/Tests/All
+++ b/sql/test/scripts/Tests/All
@@ -1,5 +1,3 @@
-alastair_udf_mergetable_bug
-
 fsum
 THREADS=1?fsum1 # this requires adding '--set gdk_nrthreads=1' in SingleServer
 
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -65,6 +65,7 @@ tbre = re.compile(r'^(?P<bats>\d+) bats 
 
 # collect errors if not verbose
 errors = []
+warnings = []
 
 
 # default is no color (these three functions may get redefined)
@@ -484,12 +485,16 @@ def ErrXit(TEXT):
 
 
 def Warn(TEXT):
+    msg = f'{THISFILE}  Warning:  {TEXT}'
+    if not verbose:
+        warnings.append(msg)
+        return
     try:
         print(end='', flush=True)
     except IOError:
         pass
     try:
-        print('\n%s  Warning:  %s\n' % (THISFILE, TEXT), file=sys.stderr, 
flush=True)
+        print(f'\n{msg}\n', file=sys.stderr, flush=True)
     except IOError:
         pass
 
@@ -1196,8 +1201,11 @@ def PerformDir(env, testdir, testlist, t
                     # restart server
                     inmem = single_in_memory
                     opts = []
+                    hasloadmod = False
                     for o in options:
-                        if o.startswith('embedded'):
+                        if o.startswith('--loadmodule'):
+                            hasloadmod = True
+                        elif o.startswith('embedded'):
                             inmem = False
                         if o == 'odbc_loader':
                             orig_odbcsysini = environ.pop('ODBCSYSINI', None)
@@ -1234,6 +1242,9 @@ def PerformDir(env, testdir, testlist, t
                                         dbg=env.get('DBG'))
                     pSrvr.LaunchIt(cwd=TSTTRGDIR, env=environ)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to