Changeset: fa89b07aee40 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fa89b07aee40
Modified Files:
sql/test/sysmon/Tests/sys_pause_resume_stop.SQL.py
Branch: default
Log Message:
Fix/improve sys_pause_resume_stop test.
diffs (146 lines):
diff --git a/sql/test/sysmon/Tests/sys_pause_resume_stop.SQL.py
b/sql/test/sysmon/Tests/sys_pause_resume_stop.SQL.py
--- a/sql/test/sysmon/Tests/sys_pause_resume_stop.SQL.py
+++ b/sql/test/sysmon/Tests/sys_pause_resume_stop.SQL.py
@@ -7,105 +7,68 @@ h = os.getenv('MAPIHOST')
p = int(os.getenv('MAPIPORT'))
db = os.getenv('TSTDB')
-init = '''
- create schema s1;
+init = ''' create schema s1;
create user u1 with password \'u1\' name \'u1\' schema s1;
create user u2 with password \'u2\' name \'u2\' schema s1;
create or replace function sleep(msecs int) returns int external
name alarm.sleep;
grant execute on function sleep(int) to u1;
grant execute on function sleep(int) to u2;
- '''
-
-p_proced = '''
- create or replace procedure pause_sleep()
- begin
- declare t int;
- set t = (select tag from queue(\'ALL\') where query like \'select
sleep%\');
- call sys.pause(t,\'u1\');
- end;
- '''
-
-r_proced = '''
- create or replace procedure resume_sleep()
- begin
- declare t int;
- set t = (select tag from queue(\'ALL\') where query like \'select
sleep%\');
- call sys.resume(t,\'u1\');
- end;
- '''
-
-s_proced = '''
- create or replace procedure stop_sleep()
- begin
- declare t int;
- set t = (select tag from queue(\'ALL\') where query like \'select
sleep%\' and status = \'running\');
- call sys.stop(t,\'u1\');
- end;
- '''
-u1_qry = '''
- select sleep(2000);
- '''
-
-st_paused = '''
- select status from queue(\'u1\') where query like \'select
sleep%\' and status = \'paused\';
- '''
-
-st_aborted = '''
- select status from queue(\'u2\') where query like \'select
sleep%\';
- '''
+ create or replace procedure pauseid(id string, u string) begin
+ declare t int;
+ set t = (select tag from queue(\'ALL\') where query like
\'/*\'||id||\'*/%\');
+ call sys.pause(t, u);
+ end;
+ create or replace procedure resumeid(id string, u string) begin
+ declare t int;
+ set t = (select tag from queue(\'ALL\') where query like
\'/*\'||id||\'*/%\');
+ call sys.resume(t, u);
+ end;
+ create or replace procedure stopid(id string, u string) begin
+ declare t int;
+ set t = (select tag from queue(\'ALL\') where query like
\'/*\'||id||\'*/%\');
+ call sys.stop(t, u);
+ end; '''
-st_aborted2 = '''
- select status from queue() where query like \'select sleep%\';
- '''
-# and status = \'aborted\';
-def execute_qry_1():
+status1 = 'select status from queue(\'u1\') where query like \'/*id1*/%\';'
+status2 = 'select status from queue(\'u1\') where query like \'/*id2*/%\';'
+
+def execute_qry(user, pw, qid):
with SQLTestCase() as client:
- client.connect(username = 'u1', password = 'u1')
+ client.connect(username = user, password = pw)
try:
- client.execute(u1_qry)
- except OperationalError as e:
- print(e)
- exit(1)
-
-def execute_qry_2():
- with SQLTestCase() as client:
- client.connect(username = 'u2', password = 'u2')
- try:
- client.execute(u1_qry)
-
client.execute(st_aborted2).assertSucceeded().assertDataResultMatch([('aborted',)])
+ client.execute(qid + 'select sleep(2000);')
except OperationalError as e:
print(e)
exit(1)
if __name__ == '__main__':
with SQLTestCase() as mdb:
- mdb.connect(username="monetdb", password="monetdb")
+ mdb.connect(username='monetdb', password='monetdb')
mdb.execute(init).assertSucceeded()
- mdb.execute(p_proced).assertSucceeded()
- mdb.execute(r_proced).assertSucceeded()
- mdb.execute(s_proced).assertSucceeded()
- client_proc1 = mp.Process(target=execute_qry_1)
+ client_proc1 = mp.Process(target=execute_qry, args=('u1', 'u1',
'/*id1*/',))
client_proc1.start()
-
+ time.sleep(1)
+ mdb.execute('call pauseid(\'id1\', \'u1\');').assertSucceeded()
+
mdb.execute(status1).assertSucceeded().assertDataResultMatch([('paused',)])
+ mdb.execute('call resumeid(\'id1\', \'u1\');').assertSucceeded()
time.sleep(1)
- mdb.execute('call pause_sleep();').assertSucceeded()
-
mdb.execute(st_paused).assertSucceeded().assertDataResultMatch([('paused',)])
- mdb.execute('call resume_sleep();').assertSucceeded()
- client_proc1.join()
+
mdb.execute(status1).assertSucceeded().assertDataResultMatch([('finished',)])
+ # client_proc1.join()
- client_proc2 = mp.Process(target=execute_qry_2)
+ client_proc2 = mp.Process(target=execute_qry, args=('u1', 'u1',
'/*id2*/',))
client_proc2.start()
time.sleep(1)
- mdb.execute('call stop_sleep();').assertSucceeded()
-
mdb.execute(st_aborted).assertSucceeded().assertDataResultMatch([('stopping',)])
+ mdb.execute('call stopid(\'id2\', \'u1\');').assertSucceeded()
+ time.sleep(2)
+
mdb.execute(status2).assertSucceeded().assertDataResultMatch([('aborted',)])
client_proc2.join()
mdb.execute('drop function sleep;').assertSucceeded()
- mdb.execute('drop procedure pause_sleep;').assertSucceeded()
- mdb.execute('drop procedure resume_sleep;').assertSucceeded()
- mdb.execute('drop procedure stop_sleep;').assertSucceeded()
+ mdb.execute('drop procedure pauseid;').assertSucceeded()
+ mdb.execute('drop procedure resumeid;').assertSucceeded()
+ mdb.execute('drop procedure stopid;').assertSucceeded()
mdb.execute('drop user u1;').assertSucceeded()
mdb.execute('drop user u2;').assertSucceeded()
mdb.execute('drop schema s1;').assertSucceeded()
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]