Changeset: b53e12fea112 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b53e12fea112
Added Files:
        sql/test/sysmon/Tests/create_sleep.sql
        sql/test/sysmon/Tests/create_sleep.stable.err
        sql/test/sysmon/Tests/create_sleep.stable.out
        sql/test/sysmon/Tests/drop_sleep.sql
        sql/test/sysmon/Tests/drop_sleep.stable.err
        sql/test/sysmon/Tests/drop_sleep.stable.out
        sql/test/sysmon/Tests/sys_queue_expand.SQL.py
Removed Files:
        sql/test/sysmon/Tests/sys_queue_expand.sql
Modified Files:
        sql/test/sysmon/Tests/All
        sql/test/sysmon/Tests/sys_queue_expand.stable.out
        sql/test/sysmon/Tests/sysqueue.stable.out
Branch: default
Log Message:

Reimplemented the test 'sys_queue_expand' by using 'sys.sleep()' to make the 
test output deterministic


diffs (truncated from 427 to 300 lines):

diff --git a/sql/test/sysmon/Tests/All b/sql/test/sysmon/Tests/All
--- a/sql/test/sysmon/Tests/All
+++ b/sql/test/sysmon/Tests/All
@@ -1,3 +1,5 @@
+create_sleep
 sysqueue
 sys_queue_rotate
 sys_queue_expand
+drop_sleep
diff --git a/sql/test/sysmon/Tests/create_sleep.sql 
b/sql/test/sysmon/Tests/create_sleep.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/create_sleep.sql
@@ -0,0 +1,1 @@
+create procedure sleep(i int) external name alarm.sleep;
diff --git a/sql/test/sysmon/Tests/create_sleep.stable.err 
b/sql/test/sysmon/Tests/create_sleep.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/create_sleep.stable.err
@@ -0,0 +1,12 @@
+stderr of test 'create_sleep` in directory 'sql/test/sysmon` itself:
+
+
+# 16:42:16 >  
+# 16:42:16 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-21836" "--port=39319"
+# 16:42:16 >  
+
+
+# 16:42:16 >  
+# 16:42:16 >  "Done."
+# 16:42:16 >  
+
diff --git a/sql/test/sysmon/Tests/create_sleep.stable.out 
b/sql/test/sysmon/Tests/create_sleep.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/create_sleep.stable.out
@@ -0,0 +1,13 @@
+stdout of test 'create_sleep` in directory 'sql/test/sysmon` itself:
+
+
+# 16:42:16 >  
+# 16:42:16 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-21836" "--port=39319"
+# 16:42:16 >  
+
+#create procedure sleep(i int) external name alarm.sleep;
+
+# 16:42:16 >  
+# 16:42:16 >  "Done."
+# 16:42:16 >  
+
diff --git a/sql/test/sysmon/Tests/drop_sleep.sql 
b/sql/test/sysmon/Tests/drop_sleep.sql
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/drop_sleep.sql
@@ -0,0 +1,1 @@
+drop procedure sleep;
diff --git a/sql/test/sysmon/Tests/drop_sleep.stable.err 
b/sql/test/sysmon/Tests/drop_sleep.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/drop_sleep.stable.err
@@ -0,0 +1,12 @@
+stderr of test 'drop_sleep` in directory 'sql/test/sysmon` itself:
+
+
+# 16:42:18 >  
+# 16:42:18 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-21836" "--port=39319"
+# 16:42:18 >  
+
+
+# 16:42:18 >  
+# 16:42:18 >  "Done."
+# 16:42:18 >  
+
diff --git a/sql/test/sysmon/Tests/drop_sleep.stable.out 
b/sql/test/sysmon/Tests/drop_sleep.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/drop_sleep.stable.out
@@ -0,0 +1,13 @@
+stdout of test 'drop_sleep` in directory 'sql/test/sysmon` itself:
+
+
+# 16:42:18 >  
+# 16:42:18 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-21836" "--port=39319"
+# 16:42:18 >  
+
+#drop procedure sleep;
+
+# 16:42:18 >  
+# 16:42:18 >  "Done."
+# 16:42:18 >  
+
diff --git a/sql/test/sysmon/Tests/sys_queue_expand.SQL.py 
b/sql/test/sysmon/Tests/sys_queue_expand.SQL.py
new file mode 100644
--- /dev/null
+++ b/sql/test/sysmon/Tests/sys_queue_expand.SQL.py
@@ -0,0 +1,54 @@
+import pymonetdb
+import os, sys
+import multiprocessing as mp
+import traceback
+import time
+
+# The job for worker process
+def exec_query():
+    dbh = None
+    try:
+        dbh = pymonetdb.connect(database = os.environ['TSTDB'], port = 
int(os.environ['MAPIPORT']), hostname = os.environ['MAPIHOST'], autocommit=True)
+        #dbh = pymonetdb.connect(database = 'demo', autocommit=True)
+        cur = dbh.cursor()
+        cur.execute('call sleep(3000)')
+    except pymonetdb.exceptions.Error as e:
+        print(e)
+    finally:
+        if dbh is not None:
+            dbh.close()
+
+
+mstdbh = None
+try:
+    mstdbh = pymonetdb.connect(database = os.environ['TSTDB'], port = 
int(os.environ['MAPIPORT']), hostname = os.environ['MAPIHOST'], autocommit=True)
+    #mstdbh = pymonetdb.connect(database = 'demo', autocommit=True)
+    mstcur = mstdbh.cursor()
+
+    rowcnt = mstcur.execute('select \'before\', username,status,query from 
sys.queue()')
+    print("Before sleep: {no}".format(no=rowcnt))
+    [print(row) for row in mstcur.fetchall()]
+
+    # Setup a list of processes that we want to run
+    jobs = [mp.Process(target=exec_query, args=()) for x in range(3)]
+    # Run processes
+    [p.start() for p in jobs]
+
+    time.sleep(1)
+    rowcnt = mstcur.execute('select \'during\', username,status,query from 
sys.queue()')
+    print("\nDuring sleep: {no}".format(no=rowcnt))
+    [print(row) for row in mstcur.fetchall()]
+
+    # Exit the completed processes
+    [p.join() for p in jobs]
+
+    rowcnt = mstcur.execute('select \'after\', username,status,query from 
sys.queue()')
+    print("\nAfter sleep: {no}".format(no=rowcnt))
+    [print(row) for row in mstcur.fetchall()]
+
+except pymonetdb.exceptions.Error as e:
+    print(e)
+finally:
+    if mstdbh is not None:
+        mstdbh.close()
+
diff --git a/sql/test/sysmon/Tests/sys_queue_expand.sql 
b/sql/test/sysmon/Tests/sys_queue_expand.sql
deleted file mode 100644
--- a/sql/test/sysmon/Tests/sys_queue_expand.sql
+++ /dev/null
@@ -1,27 +0,0 @@
--- Use prepared statements to force sys.queue() to expand its query circle.
--- This test relies on the little error that once a prepared statement is
---   executed, the "prepare ..." query is not removed from sys.queue()
-prepare select 0;
-prepare select 1;
-prepare select 2;
-prepare select 3;
-prepare select 4;
-prepare select 5;
-prepare select 6;
-prepare select 7;
-select username, status, query from sys.queue();
-exec 0();
-select 0, username, status, query from sys.queue();
-exec 1();
-select 1, username, status, query from sys.queue();
-exec 2();
-select 2, username, status, query from sys.queue();
-exec 3();
-select 3, username, status, query from sys.queue();
-exec 4();
-select 4, username, status, query from sys.queue();
-exec 5();
-exec 6();
-exec 7();
-select 7, username, status, query from sys.queue();
-select 8, username, status, query from sys.queue();
diff --git a/sql/test/sysmon/Tests/sys_queue_expand.stable.out 
b/sql/test/sysmon/Tests/sys_queue_expand.stable.out
--- a/sql/test/sysmon/Tests/sys_queue_expand.stable.out
+++ b/sql/test/sysmon/Tests/sys_queue_expand.stable.out
@@ -5,208 +5,25 @@ stdout of test 'sys_queue_expand` in dir
 # 18:07:00 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-31724" "--port=38231"
 # 18:07:00 >  
 
-#prepare select 0;
-#prepare select 0;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   8,      0,      "",     "%2",   "%2"    ]
-#prepare select 1;
-#prepare select 1;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   1,      0,      "",     "%2",   "%2"    ]
-#prepare select 2;
-#prepare select 2;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   2,      0,      "",     "%2",   "%2"    ]
-#prepare select 3;
-#prepare select 3;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   2,      0,      "",     "%2",   "%2"    ]
-#prepare select 4;
-#prepare select 4;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   3,      0,      "",     "%2",   "%2"    ]
-#prepare select 5;
-#prepare select 5;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   3,      0,      "",     "%2",   "%2"    ]
-#prepare select 6;
-#prepare select 6;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   3,      0,      "",     "%2",   "%2"    ]
-#prepare select 7;
-#prepare select 7;
-% .prepare,    .prepare,       .prepare,       .prepare,       .prepare,       
.prepare # table_name
-% type,        digits, scale,  schema, table,  column # name
-% varchar,     int,    int,    str,    str,    str # type
-% 7,   1,      1,      0,      2,      2 # length
-[ "tinyint",   3,      0,      "",     "%2",   "%2"    ]
-#select username, status, query from sys.queue();
-% .%1, .%1,    .%1 # table_name
-% username,    status, query # name
-% clob,        clob,   clob # type
-% 7,   8,      51 # length
-[ "monetdb",   "finished",     "select 6, username, status, query from 
sys.queue();"   ]
-[ "monetdb",   "finished",     "set time zone interval \\'+02:00\\' hour to 
minute\n;" ]
-[ "monetdb",   "running",      "select username, status, query from 
sys.queue();"      ]
-#exec 0();
-% .%2 # table_name
-% %2 # name
-% tinyint # type
-% 1 # length
-[ 0    ]
-#select 0, username, status, query from sys.queue();
-% .%2, .%1,    .%1,    .%1 # table_name
-% %2,  username,       status, query # name
-% tinyint,     clob,   clob,   clob # type
-% 1,   7,      8,      51 # length
-[ 0,   "monetdb",      "finished",     "exec 0();"     ]
-[ 0,   "monetdb",      "running",      "prepare select 0;"     ]
-[ 0,   "monetdb",      "running",      "select 0, username, status, query from 
sys.queue();"   ]
-#exec 1();
-% .%2 # table_name
-% %2 # name
-% tinyint # type
-% 1 # length
-[ 1    ]
-#select 1, username, status, query from sys.queue();
-% .%2, .%1,    .%1,    .%1 # table_name
-% %2,  username,       status, query # name
-% tinyint,     clob,   clob,   clob # type
-% 1,   7,      8,      51 # length
-[ 1,   "monetdb",      "running",      "prepare select 0;"     ]
-[ 1,   "monetdb",      "finished",     "select 0, username, status, query from 
sys.queue();"   ]
-[ 1,   "monetdb",      "finished",     "exec 1();"     ]
-[ 1,   "monetdb",      "running",      "prepare select 1;"     ]
-[ 1,   "monetdb",      "running",      "select 1, username, status, query from 
sys.queue();"   ]
-#exec 2();
-% .%2 # table_name
-% %2 # name
-% tinyint # type
-% 1 # length
-[ 2    ]
-#select 2, username, status, query from sys.queue();
-% .%2, .%1,    .%1,    .%1 # table_name
-% %2,  username,       status, query # name
-% tinyint,     clob,   clob,   clob # type
-% 1,   7,      8,      51 # length
-[ 2,   "monetdb",      "finished",     "exec 1();"     ]
-[ 2,   "monetdb",      "running",      "prepare select 1;"     ]
-[ 2,   "monetdb",      "finished",     "select 1, username, status, query from 
sys.queue();"   ]
-[ 2,   "monetdb",      "finished",     "exec 2();"     ]
-[ 2,   "monetdb",      "running",      "prepare select 2;"     ]
-[ 2,   "monetdb",      "running",      "select 2, username, status, query from 
sys.queue();"   ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to