Changeset: bd17abe31e60 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd17abe31e60
Branch: mtest
Log Message:

merged


diffs (truncated from 382 to 300 lines):

diff --git a/sql/test/BugConstraints/Tests/add_constraint_1643522.test 
b/sql/test/BugConstraints/Tests/add_constraint_1643522.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugConstraints/Tests/add_constraint_1643522.test
@@ -0,0 +1,22 @@
+statement ok
+create table t1(id int, name varchar(1024))
+
+statement ok
+alter table t1 add constraint id_p primary key(id)
+
+statement error
+alter table t1 add constraint id_p primary key(id)
+
+query T rowsort
+select name from sys.keys where name = 'id_p'
+----
+id_p
+
+statement ok
+drop table t1
+
+query T rowsort
+select name from sys.keys where name = 'id_p'
+----
+
+
diff --git a/sql/test/BugConstraints/Tests/check_constraint.SF-1714829.test 
b/sql/test/BugConstraints/Tests/check_constraint.SF-1714829.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugConstraints/Tests/check_constraint.SF-1714829.test
@@ -0,0 +1,7 @@
+statement error
+create table t1 (id int CHECK (f1() = 1))
+
+statement error
+drop table t1
+
+
diff --git a/sql/test/BugConstraints/Tests/delete_primarykey_1643845.test 
b/sql/test/BugConstraints/Tests/delete_primarykey_1643845.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugConstraints/Tests/delete_primarykey_1643845.test
@@ -0,0 +1,31 @@
+statement ok
+create table t1(id int, name varchar(1024))
+
+statement ok
+alter table t1 add constraint id_p primary key(id)
+
+statement ok
+create table t2(id_f int, age int, foreign key(id_f) references t1(id))
+
+statement ok
+alter table t2 add constraint age_p primary key(age)
+
+statement ok
+insert into t1 values(1,'romulo')
+
+statement ok
+insert into t2 values(1,33)
+
+statement error
+insert into t2 values(2,33)
+
+statement error
+delete from t1 where id = 1
+
+statement ok
+drop table t2
+
+statement ok
+drop table t1
+
+
diff --git a/sql/test/BugConstraints/Tests/drop_column_1643542.test 
b/sql/test/BugConstraints/Tests/drop_column_1643542.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugConstraints/Tests/drop_column_1643542.test
@@ -0,0 +1,29 @@
+statement ok
+create table t1(id int, name varchar(1024))
+
+statement ok
+alter table t1 add constraint id_p primary key(id)
+
+statement ok
+create table t2(id_f int, age int, foreign key(id_f) references t1(id))
+
+statement error
+alter table t2 add constraint id_p primary key(id_f)
+
+statement ok
+alter table t2 add constraint id_p_2 primary key(id_f)
+
+statement error
+alter table t1 drop id
+
+query IT rowsort
+select * from t1
+----
+
+statement ok
+drop table t2
+
+statement ok
+drop table t1
+
+
diff --git a/sql/test/BugConstraints/Tests/update_primarykey_1643375.test 
b/sql/test/BugConstraints/Tests/update_primarykey_1643375.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugConstraints/Tests/update_primarykey_1643375.test
@@ -0,0 +1,28 @@
+statement ok
+create table t1(id int, name varchar(1024))
+
+statement ok
+alter table t1 add constraint id_p primary key(id)
+
+statement ok
+create table t2(id_f int, age int, foreign key(id_f) references t1(id))
+
+statement ok
+alter table t2 add constraint age_p primary key(age)
+
+statement ok
+insert into t1 values(1,'romulo')
+
+statement ok
+insert into t2 values(1,33)
+
+statement error
+update t1 set id = 0 where id =1
+
+statement ok
+drop table t2
+
+statement ok
+drop table t1
+
+
diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select1.drop 
b/sql/test/SQLite_regress/sqllogictest/Tests/select1.drop
new file mode 100644
diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select2.drop 
b/sql/test/SQLite_regress/sqllogictest/Tests/select2.drop
new file mode 100644
diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select3.drop 
b/sql/test/SQLite_regress/sqllogictest/Tests/select3.drop
new file mode 100644
diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select4.drop 
b/sql/test/SQLite_regress/sqllogictest/Tests/select4.drop
new file mode 100644
diff --git a/sql/test/SQLite_regress/sqllogictest/Tests/select5.drop 
b/sql/test/SQLite_regress/sqllogictest/Tests/select5.drop
new file mode 100644
diff --git a/testing/Mconvert.py.in b/testing/Mconvert.py.in
--- a/testing/Mconvert.py.in
+++ b/testing/Mconvert.py.in
@@ -612,6 +612,8 @@ def PerformDir(env, testdir, auto=False)
         test_name = t.get('test_name')
         options += t.get('options5', [])
         fn = t.get('test_path') + t.get('tail')
+        if verbose:
+            print('converting {}'.format(test_name), file=sys.stderr)
         try:
             with open('/tmp/sqllogic.in', 'w') as fout:
                 if t.get('is_input', False):
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2046,6 +2046,8 @@ def RunTest(env, TST, BusyPorts, COND, o
     else:
         tests = (
             # file extention  EXT        CALL      SERVER
+            ('.test',         '.test',   'sqltest','SQL'),
+            ('.maltest',      '.maltest','maltest','SQL'),
             ('.py',           '.py',     'python', ''),
             ('.MAL.py',       '.MAL.py', 'python', 'MAL'),
             ('.SQL.py',       '.SQL.py', 'python', 'SQL'),
@@ -2055,7 +2057,6 @@ def RunTest(env, TST, BusyPorts, COND, o
             ('.sql',          '.sql',    'sql',    'SQL'),
             ('_s00.sql',      '.sql',    'sqlXs',  'SQL'),
             ('_p00.sql',      '.sql',    'sqlXp',  'SQL'),
-            ('.test',         '.test',   'sqltest','SQL'),
             ('.R',            '.R',      'R',      'SQL'),
             ('.rb',           '.rb',     'ruby',   'SQL'),
             #TODO:
@@ -2343,8 +2344,7 @@ def RunTest(env, TST, BusyPorts, COND, o
         TestErr.close()
 
         t0 = time.time()
-        tres = DoIt(env, SERVER, CALL, TST, EXT, TestOutFile, TestErrFile, 
STIMEOUT, CTIMEOUT, TIMEOUT, ME, MAPIsockets, length, nomito, threads, user, 
passwd, COND, all_tests, pSrvr)
-
+        tres, issqllogictest = DoIt(env, SERVER, CALL, TST, EXT, TestOutFile, 
TestErrFile, STIMEOUT, CTIMEOUT, TIMEOUT, ME, MAPIsockets, length, nomito, 
threads, user, passwd, COND, all_tests, pSrvr)
         t1 = time.time()
         TX = t1 - t0
         if not quiet:
@@ -2492,12 +2492,18 @@ def RunTest(env, TST, BusyPorts, COND, o
                 cmd.append('-d')
             if not verbose:
                 cmd.append('-q')
-            cmd.extend(['-F^#', '-I%s' % par['IGNORE'],
-                        '-C%s' % par['CONTEXT'], '-A%d' % ACCURACYout,
-                        titlefmt % ('err', 'err'),
-                        '%s%s.FILTERED' % (TST, STABLEout),
-                        '%s.test.out.FILTERED' % TST,
-                        '%s.out.diff.html' % TST])
+            if issqllogictest:
+                cmd.extend([titlefmt % ('err', 'err'),
+                            os.devnull,
+                            os.devnull,
+                            '%s.out.diff.html' % TST])
+            else:
+                cmd.extend(['-F^#', '-I%s' % par['IGNORE'],
+                            '-C%s' % par['CONTEXT'], '-A%d' % ACCURACYout,
+                            titlefmt % ('err', 'err'),
+                            '%s%s.FILTERED' % (TST, STABLEout),
+                            '%s.test.out.FILTERED' % TST,
+                            '%s.out.diff.html' % TST])
             if procdebug:
                 print('RunTest: starting process "%s"\n' % '" "'.join(cmd))
             setpgrp = True
@@ -2561,12 +2567,26 @@ def RunTest(env, TST, BusyPorts, COND, o
                 cmd.append('-d')
             if not verbose:
                 cmd.append('-q')
-            cmd.extend(['-F^#', '-I%s' % par['IGNORE'],
-                        '-C%s' % par['CONTEXT'], '-A%d' % ACCURACYerr,
-                        titlefmt % ('out', 'out'),
-                        '%s%s.FILTERED' % (TST, STABLEerr),
-                        '%s.test.err.FILTERED' % TST,
-                        '%s.err.diff.html' % TST])
+            if issqllogictest:
+                if tres:
+                    cmd.extend(['-F^#', '-I%s' % par['IGNORE'],
+                                titlefmt % ('out', 'out'),
+                                os.devnull,
+                                '%s.test.err' % TST,
+                                '%s.err.diff.html' % TST])
+                else:
+                    cmd.extend(['-F^#', '-I%s' % par['IGNORE'],
+                                titlefmt % ('out', 'out'),
+                                os.devnull,
+                                os.devnull,
+                                '%s.err.diff.html' % TST])
+            else:
+                cmd.extend(['-F^#', '-I%s' % par['IGNORE'],
+                            '-C%s' % par['CONTEXT'], '-A%d' % ACCURACYerr,
+                            titlefmt % ('out', 'out'),
+                            '%s%s.FILTERED' % (TST, STABLEerr),
+                            '%s.test.err.FILTERED' % TST,
+                            '%s.err.diff.html' % TST])
             if procdebug:
                 print('RunTest: starting process "%s"\n' % '" "'.join(cmd))
             setpgrp = True
@@ -3126,6 +3146,8 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te
 
     returncode = None
     pSrvr = PSRVR
+    issqllogictest = False
+    logicerror = False
     try:
         if SERVER in ["MAL", "SQL"]:
             SrvrOutFile = TST+".server.out"
@@ -3249,17 +3271,24 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te
                     returncode = RunIt(Clnt, True, openutf8(f), ClntOut, 
ClntErr, TIMEOUT)
                     if returncode:
                         break
-            elif CALL == "sqltest":
+            elif CALL == "sqltest" or CALL == "maltest":
+                issqllogictest = True
                 import MonetDBtesting.sqllogictest as sqllogictest
                 sql = sqllogictest.SQLLogic(out=ClntErr)
+                if CALL == 'sqltest':
+                    lang = 'sql'
+                else:
+                    lang = 'mal'
                 try:
                     sql.connect(hostname='localhost',
                                 port=int(env['MAPIPORT']),
-                                database=TSTDB)
+                                database=TSTDB,
+                                language=lang)
                 except:
                     returncode = 'error'
                 else:
-                    sql.drop()
+                    if os.path.exists(TST+'.drop'):
+                        sql.drop()
                     try:
                         sql.parse(TST+EXT)
                     except sqllogictest.SQLLogicSyntaxError:
@@ -3338,9 +3367,14 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te
                     n = q.name
                     q.close()
                 q = openutf8(n,'r')
-                TestErr.write(q.read())
+                data = q.read()
+                TestErr.write(data)
                 TestErr.flush()
                 q.close()
+                if issqllogictest and n.endswith('.client.err') and data:
+                    logicerror = True
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to