Changeset: dc763d8c872f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dc763d8c872f
Added Files:
        sql/test/copy/Tests/nonutf8.test
        sql/test/dict/Tests/dict02.test.in
        sql/test/miscellaneous/Tests/rel_push_count_down.test
        sql/test/miscellaneous/Tests/table_udf_missing_var.test
        sql/test/miscellaneous/Tests/temp_tables.test
        sql/test/miscellaneous/Tests/trace_test.test
        sql/test/pg_regress/Tests/int8-nohge.test
        sql/test/pg_regress/Tests/int8.test
Removed Files:
        sql/test/copy/Tests/nonutf8.SQL.py
        sql/test/dict/Tests/dict02.SQL.py
        sql/test/miscellaneous/Tests/rel_push_count_down.py
        sql/test/miscellaneous/Tests/rel_push_count_down.sql
        sql/test/miscellaneous/Tests/rel_push_count_down.stable.err
        sql/test/miscellaneous/Tests/rel_push_count_down.stable.out
        sql/test/miscellaneous/Tests/rel_push_count_down.stable.out.int128
        sql/test/miscellaneous/Tests/table_udf_missing_var.py
        sql/test/miscellaneous/Tests/temp_tables.SQL.py
        sql/test/miscellaneous/Tests/trace_test.SQL.py
        sql/test/pg_regress/Tests/int8.sql
Modified Files:
        sql/test/miscellaneous/Tests/All
        sql/test/pg_regress/Tests/All
Branch: Sep2022
Log Message:

Converted to .test format.


diffs (truncated from 1162 to 300 lines):

diff --git a/sql/test/copy/Tests/nonutf8.SQL.py 
b/sql/test/copy/Tests/nonutf8.test
rename from sql/test/copy/Tests/nonutf8.SQL.py
rename to sql/test/copy/Tests/nonutf8.test
--- a/sql/test/copy/Tests/nonutf8.SQL.py
+++ b/sql/test/copy/Tests/nonutf8.test
@@ -1,50 +1,19 @@
-import sys
-from MonetDBtesting.sqltest import SQLTestCase
-try:
-    from MonetDBtesting import process
-except ImportError:
-    import process
-
+statement ok
+create table nonutf8 (s string)
 
-with SQLTestCase() as tc:
-    tc.connect(username="monetdb", password="monetdb")
-    tc.execute("create table nonutf8 (s string);").assertSucceeded()
-
-# input is a byte string because it contains broken utf-8
-INPUT1 = b"""
-insert into nonutf8 values 
('\x7A\x77\x61\x61\x72\x20\x6C\x61\x6E\x67\x65\x20\x67\x6F\x6C\x66\x20\x70\x69\x65\x6B\x20\x2D\x64\x61\x6C\x20\xB1\x31\x30\x63\x6D\x20\x76\x61\x6B\x35');
-"""
-with process.client('sql', text=False, stdin=process.PIPE, 
stdout=process.PIPE, stderr=process.PIPE) as c:
-    out, err = c.communicate(INPUT1)
-    retcode = c.returncode
+statement error GDK reported error: GDKstrFromStr: not a proper UTF-8 sequence
+insert into nonutf8 values 
(E'\x7A\x77\x61\x61\x72\x20\x6C\x61\x6E\x67\x65\x20\x67\x6F\x6C\x66\x20\x70\x69\x65\x6B\x20\x2D\x64\x61\x6C\x20\xB1\x31\x30\x63\x6D\x20\x76\x61\x6B\x35')
 
-    if retcode == 0:
-        print(f"Expected nonzero return code, received {retcode}",
-              file=sys.stderr)
-    if not err or b'invalid start of UTF-8 sequence' not in err:
-        print("Expected stderr to contain 'invalid start of UTF-8 sequence'",
-              file=sys.stderr)
-        print(f"Received: {err}", file=sys.stderr)
-
-# input is a byte string because it contains broken utf-8
-INPUT2 = b"""
-copy 2 records into nonutf8 from stdin;
+statement error Failed to import table 'nonutf8', line 1: column 1 s: 'clob' 
expected in 
'\x7A\x77\x61\x61\x72\x20\x6C\x61\x6E\x67\x65\x20\x67\x6F\x6C\x66\x20\x70\x69\x65\x6B\x20\x2D\x64\x61\x6C\x20\xB1\x31\x30\x63\x6D\x20\x76\x61\x6B\x35\x0A\xB1\x31\x37\x20\x25'
+copy 2 records into nonutf8 from stdin escape
+<COPY_INTO_DATA>
 
\x7A\x77\x61\x61\x72\x20\x6C\x61\x6E\x67\x65\x20\x67\x6F\x6C\x66\x20\x70\x69\x65\x6B\x20\x2D\x64\x61\x6C\x20\xB1\x31\x30\x63\x6D\x20\x76\x61\x6B\x35\x0A\xB1\x31\x37\x20\x25
+.
 
-"""
-with process.client('sql', text=False, stdin=process.PIPE, 
stdout=process.PIPE, stderr=process.PIPE) as c:
-    out, err = c.communicate(INPUT2)
-    retcode = c.returncode
+query T nosort
+select * from nonutf8
+----
 
-    if retcode == 0:
-        print(f"Expected nonzero return code, received {retcode}",
-              file=sys.stderr)
-    if not err or b'input not properly encoded UTF-8' not in err:
-        print("Expected stderr to contain 'input not properly encoded UTF-8'",
-              file=sys.stderr)
-        print(f"Received: {err}", file=sys.stderr)
+statement ok
+drop table nonutf8
 
-with SQLTestCase() as tc:
-    tc.connect(username="monetdb", password="monetdb")
-    tc.execute("select * from 
nonutf8;").assertSucceeded().assertRowCount(0).assertDataResultMatch([])
-    tc.execute("drop table nonutf8;").assertSucceeded()
diff --git a/sql/test/dict/Tests/dict02.SQL.py 
b/sql/test/dict/Tests/dict02.test.in
rename from sql/test/dict/Tests/dict02.SQL.py
rename to sql/test/dict/Tests/dict02.test.in
--- a/sql/test/dict/Tests/dict02.SQL.py
+++ b/sql/test/dict/Tests/dict02.test.in
@@ -1,58 +1,124 @@
-import os
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE "mct00" ("c0" TINYINT,"c1" BOOLEAN)
+
+statement ok
+INSERT INTO "mct00" VALUES (4, true), (NULL, false)
+
+statement ok
+create procedure "sys"."dict_compress"(sname string, tname string, cname 
string, ordered_values bool) external name "dict"."compress"
 
-from MonetDBtesting.sqltest import SQLTestCase
+statement ok
+COMMIT
+
+statement ok
+CALL "sys"."dict_compress"('sys','mct00','c1',true)
 
-port = os.environ['MAPIPORT']
-db = os.environ['TSTDB']
+statement ok
+CREATE REMOTE TABLE "rmct00" ("c0" TINYINT,"c1" BOOLEAN) ON 
'mapi:monetdb://localhost:$MAPIPORT/$TSTDB/sys/mct00'
+
+query I nosort
+SELECT mct00.c1 FROM mct00
+----
+1
+0
 
-with SQLTestCase() as cli:
-    cli.connect(username="monetdb", password="monetdb")
-    cli.execute("""
-    START TRANSACTION;
-    CREATE TABLE "mct00" ("c0" TINYINT,"c1" BOOLEAN);
-    INSERT INTO "mct00" VALUES (4, true), (NULL, false);
-    create procedure "sys"."dict_compress"(sname string, tname string, cname 
string, ordered_values bool) external name "dict"."compress";
-    COMMIT;
+query I nosort
+SELECT rmct00.c1 FROM rmct00
+----
+1
+0
+
+statement ok
+START TRANSACTION
+
+statement ok
+DROP TABLE rmct00
+
+statement ok
+DROP TABLE mct00
 
-    CALL "sys"."dict_compress"('sys','mct00','c1',true);
-    CREATE REMOTE TABLE "rmct00" ("c0" TINYINT,"c1" BOOLEAN) ON 
'mapi:monetdb://localhost:%s/%s/sys/mct00';
-    """ % (port, db)).assertSucceeded()
+statement ok
+DROP PROCEDURE "sys"."dict_compress"
+
+statement ok
+COMMIT
 
-    cli.execute('SELECT mct00.c1 FROM mct00;') \
-        .assertSucceeded().assertDataResultMatch([(True,),(False,)])
-    cli.execute('SELECT rmct00.c1 FROM rmct00;') \
-        .assertSucceeded().assertDataResultMatch([(True,),(False,)])
+@connection(id=mdb1, username=monetdb, password=monetdb)
+statement ok
+START TRANSACTION
+
+@connection(id=mdb1)
+statement ok
+create table t0(c0 int)
+
+@connection(id=mdb1)
+statement ok
+insert into t0 values (1),(2),(3)
 
-    cli.execute("""
-    START TRANSACTION;
-    DROP TABLE rmct00;
-    DROP TABLE mct00;
-    DROP PROCEDURE "sys"."dict_compress";
-    COMMIT;""").assertSucceeded()
+@connection(id=mdb1)
+statement ok
+create procedure "sys"."dict_compress"(sname string, tname string, cname 
string, ordered_values bool) external name "dict"."compress"
+
+@connection(id=mdb1)
+statement ok
+COMMIT
+
+@connection(id=mdb1)
+statement ok
+start transaction
+
+@connection(id=mdb2, username=monetdb, password=monetdb)
+statement ok
+start transaction
 
-# if one transaction compresses a column, disallow concurrent 
inserts/updates/deletes on the table
-with SQLTestCase() as mdb1:
-    with SQLTestCase() as mdb2:
-        mdb1.connect(username="monetdb", password="monetdb")
-        mdb2.connect(username="monetdb", password="monetdb")
+@connection(id=mdb1)
+statement ok
+call "sys"."dict_compress"('sys','t0','c0',false)
+
+@connection(id=mdb2)
+statement ok
+insert into t0 values (4),(5),(6)
+
+@connection(id=mdb1)
+statement ok
+commit
+
+@connection(id=mdb2)
+statement error 40001!COMMIT: transaction is aborted because of concurrency 
conflicts, will ROLLBACK instead
+commit
 
-        mdb1.execute("""
-        START TRANSACTION;
-        create table t0(c0 int);
-        insert into t0 values (1),(2),(3);
-        create procedure "sys"."dict_compress"(sname string, tname string, 
cname string, ordered_values bool) external name "dict"."compress";
-        COMMIT;""").assertSucceeded()
-        mdb1.execute('start transaction;').assertSucceeded()
-        mdb2.execute('start transaction;').assertSucceeded()
-        mdb1.execute('call 
"sys"."dict_compress"(\'sys\',\'t0\',\'c0\',false);').assertSucceeded()
-        mdb2.execute("insert into t0 values (4),(5),(6);").assertSucceeded()
-        mdb1.execute('commit;').assertSucceeded()
-        mdb2.execute('commit;').assertFailed(err_code="40001", 
err_message="COMMIT: transaction is aborted because of concurrency conflicts, 
will ROLLBACK instead")
-        mdb1.execute('select c0 from 
t0;').assertSucceeded().assertDataResultMatch([(1,),(2,),(3,)])
-        mdb2.execute('select c0 from 
t0;').assertSucceeded().assertDataResultMatch([(1,),(2,),(3,)])
+@connection(id=mdb1)
+query I nosort
+select c0 from t0
+----
+1
+2
+3
+
+@connection(id=mdb2)
+query I nosort
+select c0 from t0
+----
+1
+2
+3
 
-        mdb1.execute("""
-        START TRANSACTION;
-        drop table t0;
-        drop procedure "sys"."dict_compress";
-        COMMIT;""").assertSucceeded()
+@connection(id=mdb1)
+statement ok
+START TRANSACTION
+
+@connection(id=mdb1)
+statement ok
+drop table t0
+
+@connection(id=mdb1)
+statement ok
+drop procedure "sys"."dict_compress"
+
+@connection(id=mdb1)
+statement ok
+COMMIT
+
diff --git a/sql/test/miscellaneous/Tests/All b/sql/test/miscellaneous/Tests/All
--- a/sql/test/miscellaneous/Tests/All
+++ b/sql/test/miscellaneous/Tests/All
@@ -21,7 +21,7 @@ simple_plans
 unique_keys
 vessels
 prepare
-rel_push_count_down
+HAVE_HGE?rel_push_count_down
 NOT_ASSERT?sqlfuncnames
 sequences
 analyze_test
diff --git a/sql/test/miscellaneous/Tests/rel_push_count_down.py 
b/sql/test/miscellaneous/Tests/rel_push_count_down.py
deleted file mode 100644
--- a/sql/test/miscellaneous/Tests/rel_push_count_down.py
+++ /dev/null
@@ -1,20 +0,0 @@
-from MonetDBtesting.sqltest import SQLTestCase
-import pymonetdb, os
-
-conn1 = pymonetdb.connect(database=os.getenv("TSTDB"), 
port=int(os.getenv("MAPIPORT")), autocommit=True)
-cur1 = conn1.cursor()
-try:
-    cur1.execute('select cast(1 as hugeint)')
-    suffix = '.int128'
-except pymonetdb.DatabaseError as e:
-    suffix = ''
-cur1.close()
-conn1.close()
-
-with SQLTestCase() as tc:
-    # optional or default connection
-    tc.connect()
-    with open('rel_push_count_down.sql') as f:
-        tc.execute(query=None, client='mclient', stdin=f)\
-            .assertMatchStableOut(fout='rel_push_count_down.stable.out%s' % 
(suffix))\
-            .assertMatchStableError(ferr='rel_push_count_down.stable.err')
diff --git a/sql/test/miscellaneous/Tests/rel_push_count_down.stable.err 
b/sql/test/miscellaneous/Tests/rel_push_count_down.stable.err
deleted file mode 100644
diff --git a/sql/test/miscellaneous/Tests/rel_push_count_down.stable.out 
b/sql/test/miscellaneous/Tests/rel_push_count_down.stable.out
deleted file mode 100644
--- a/sql/test/miscellaneous/Tests/rel_push_count_down.stable.out
+++ /dev/null
@@ -1,13 +0,0 @@
-[ 4    ]
-% .plan # table_name
-% rel # name
-% clob # type
-% 85 # length
-project (
-| project (
-| | crossproduct (
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to