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