Changeset: 8e18aacb94c7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8e18aacb94c7
Modified Files:
        monetdb5/tools/Tests/mserver5-ipv6.py
        sql/backends/monet5/Tests/dbextra_lock_test.py
        sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
        sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
        sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
        
sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
        sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
        sql/test/BugTracker-2014/Tests/acidity-fail.Bug-3635.py
        sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py
        sql/test/BugTracker-2017/Tests/shutdown.Bug-6182.SQL.py
        
sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py
        sql/test/BugTracker-2018/Tests/remote-table-where-is-null.Bug-6601.py
        sql/test/BugTracker-2018/Tests/remote-table-where-not-equal.Bug-6621.py
        sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py
        
sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py
        sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.SQL.py
        sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py
        sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py
        
sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.SQL.py
        sql/test/merge-partitions/Tests/mergepart23.SQL.py
        sql/test/merge-partitions/Tests/mergepart29.SQL.py
        sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-table.py
        sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-view.py
        sql/test/remote/Tests/creds.SQL.py
        sql/test/remote/Tests/different_user.SQL.py
        sql/test/remote/Tests/invalid_creds.SQL.py
        sql/test/remote/Tests/ssbm.SQL.py
        sql/test/rename/Tests/rename00.SQL.py
        sql/test/rename/Tests/rename11.py
        sql/test/scripts/Tests/alastair_udf_mergetable_bug.py
        sql/test/scripts/Tests/copy-from-lz4.py
        sql/test/testdb-reload/Tests/reload.py
        sql/test/wlcr/Tests/wlc01.py
        sql/test/wlcr/Tests/wlc100.py
        sql/test/wlcr/Tests/wlc20.py
        sql/test/wlcr/Tests/wlc21.py
        sql/test/wlcr/Tests/wlc30.py
        sql/test/wlcr/Tests/wlc40.py
        sql/test/wlcr/Tests/wlc50.py
        sql/test/wlcr/Tests/wlc70.py
        sql/test/wlcr/Tests/wlr01.py
        sql/test/wlcr/Tests/wlr10.py
        sql/test/wlcr/Tests/wlr100.py
        sql/test/wlcr/Tests/wlr20.py
        sql/test/wlcr/Tests/wlr30.py
        sql/test/wlcr/Tests/wlr40.py
        sql/test/wlcr/Tests/wlr50.py
        sql/test/wlcr/Tests/wlr70.py
        sql/test/wlcr/Tests/wlr80.py
Branch: Nov2019
Log Message:

Whenever a server is started in a Python test, also terminate it in a finally 
clause.


diffs (truncated from 2833 to 300 lines):

diff --git a/monetdb5/tools/Tests/mserver5-ipv6.py 
b/monetdb5/tools/Tests/mserver5-ipv6.py
--- a/monetdb5/tools/Tests/mserver5-ipv6.py
+++ b/monetdb5/tools/Tests/mserver5-ipv6.py
@@ -4,18 +4,24 @@ try:
 except ImportError:
     import process
 
-server = process.server(stdin=process.PIPE, stdout=process.PIPE, 
stderr=process.PIPE, ipv6=True)
-client = process.client('sql', host='::1', server=server, stdin=process.PIPE, 
stdout=process.PIPE, stderr=process.PIPE)
-cout, cerr = client.communicate('''
+server = None
+try:
+    server = process.server(stdin=process.PIPE, stdout=process.PIPE, 
stderr=process.PIPE, ipv6=True)
+    client = process.client('sql', host='::1', server=server, 
stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE)
+    cout, cerr = client.communicate('''
 start transaction;
 create table "things" ("col1" int);
 insert into "things" values (1); select "col1" from "things";
 rollback;
 ''')
 
-sout, serr = server.communicate()
-sys.stdout.write(sout)
-sys.stderr.write(serr)
+    sout, serr = server.communicate()
+    server = None
+    sys.stdout.write(sout)
+    sys.stderr.write(serr)
 
-sys.stdout.write(cout)
-sys.stderr.write(cerr)
+    sys.stdout.write(cout)
+    sys.stderr.write(cerr)
+finally:
+    if server is not None:
+        server.terminate()
diff --git a/sql/backends/monet5/Tests/dbextra_lock_test.py 
b/sql/backends/monet5/Tests/dbextra_lock_test.py
--- a/sql/backends/monet5/Tests/dbextra_lock_test.py
+++ b/sql/backends/monet5/Tests/dbextra_lock_test.py
@@ -8,18 +8,22 @@ import os
 
 p = os.path.join(os.getenv('GDK_DBFARM'), 'transient_dir')
 
-s1 = process.server(stdin = process.PIPE, stdout = process.PIPE,
-                    stderr = process.PIPE, dbextra=p)
-
-
-
-s2 = process.server(stdin = process.PIPE, stdout = process.PIPE,
-                    stderr = process.PIPE, dbextra=p)
+s1 = s2 = None
+try:
+    s1 = process.server(stdin = process.PIPE, stdout = process.PIPE,
+                        stderr = process.PIPE, dbextra=p)
+    s2 = process.server(stdin = process.PIPE, stdout = process.PIPE,
+                        stderr = process.PIPE, dbextra=p)
 
-out, err = s1.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
+    out, err = s1.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
 
-out, err = s2.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
+    out, err = s2.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+finally:
+    if s1 is not None:
+        s1.terminate()
+    if s2 is not None:
+        s2.terminate()
diff --git 
a/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py 
b/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
--- a/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
+++ b/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
@@ -25,20 +25,22 @@ script1 = '''\
 create table t2 (a int);
 '''
 
-def main():
+s = None
+try:
     s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
                        stdout = process.PIPE, stderr = process.PIPE) # Start 
the server without readonly one time to initialize catalog
     out, err = s.communicate()
+    s = None
     sys.stdout.write(out)
     sys.stderr.write(err)
     s = process.server(args = ["--set", "gdk_readonly=yes"], mapiport=myport, 
dbname='db1', dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
                        stdout = process.PIPE, stderr = process.PIPE)
     client(script1)
     out, err = s.communicate()
+    s = None
     sys.stdout.write(out)
     sys.stderr.write(err)
-
+finally:
+    if s is not None:
+        s.terminate()
     shutil.rmtree(farm_dir)
-
-if __name__ == '__main__':
-    main()
diff --git a/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py 
b/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
--- a/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
+++ b/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
@@ -60,25 +60,34 @@ drop table lost_update_t1;
 drop table lost_update_t2;
 '''
 
-def main():
-    s = server()
-    client(script1)
-    server_stop(s)
+try:
+    try:
+        s = server()
+        client(script1)
+        server_stop(s)
+    finally:
+        s.terminate()
 
-    s = server()
-    client(script2)
-    time.sleep(20)                      # wait until log is flushed originally 
60 sec
-    server_stop(s)
+    try:
+        s = server()
+        client(script2)
+        time.sleep(20)   # wait until log is flushed originally 60 sec
+        server_stop(s)
+    finally:
+        s.terminate()
 
-    s = server()
-    client(script3)
-    server_stop(s)
+    try:
+        s = server()
+        client(script3)
+        server_stop(s)
+    finally:
+        s.terminate()
 
-    s = server()
-    client(cleanup)
-    server_stop(s)
-
+    try:
+        s = server()
+        client(cleanup)
+        server_stop(s)
+    finally:
+        s.terminate()
+finally:
     shutil.rmtree(farm_dir)
-
-if __name__ == '__main__':
-    main()
diff --git a/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py 
b/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
--- a/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
+++ b/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
@@ -15,10 +15,13 @@ farm_dir = tempfile.mkdtemp()
 os.mkdir(os.path.join(farm_dir, 'db1'))
 myport = freeport()
 
-s = process.server(args = ['--readonly'], mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
-                   stdout = process.PIPE, stderr = process.PIPE)
-out, err = s.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
-
-shutil.rmtree(farm_dir)
+s = None
+try:
+    s = process.server(args = ['--readonly'], mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+                       stdout = process.PIPE, stderr = process.PIPE)
+    out, err = s.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+finally:
+    s.terminate()
+    shutil.rmtree(farm_dir)
diff --git 
a/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py 
b/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
--- a/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
+++ b/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
@@ -17,25 +17,29 @@ farm_dir = tempfile.mkdtemp()
 os.mkdir(os.path.join(farm_dir, 'db1'))
 myport = freeport()
 
-s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
-                   stdout = process.PIPE, stderr = process.PIPE)
-out, err = s.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
-s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
-                   stdout = process.PIPE, stderr = process.PIPE)
-c = process.client(lang = 'sqldump',
-                   port=myport,
-                   dbname='db1',
-                   stdin = process.PIPE,
-                   stdout = process.PIPE,
-                   stderr = process.PIPE,
-                   server = s)
-out, err = c.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
-out, err = s.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
-
-shutil.rmtree(farm_dir)
+s = None
+try:
+    s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+                       stdout = process.PIPE, stderr = process.PIPE)
+    out, err = s.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+    s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+                       stdout = process.PIPE, stderr = process.PIPE)
+    c = process.client(lang = 'sqldump',
+                       port=myport,
+                       dbname='db1',
+                       stdin = process.PIPE,
+                       stdout = process.PIPE,
+                       stderr = process.PIPE,
+                       server = s)
+    out, err = c.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+    out, err = s.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+finally:
+    if s is not None:
+        s.terminate()
+    shutil.rmtree(farm_dir)
diff --git 
a/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py 
b/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
--- a/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
+++ b/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
@@ -15,10 +15,12 @@ farm_dir = tempfile.mkdtemp()
 os.mkdir(os.path.join(farm_dir, 'db1'))
 myport = freeport()
 
-s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
-                   stdout = process.PIPE, stderr = process.PIPE)
-c = process.client('sql', port=myport, dbname='db1', stdin = process.PIPE, 
stdout = process.PIPE, stderr = process.PIPE)
-out, err = c.communicate('''start transaction;
+s = None
+try:
+    s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+                       stdout = process.PIPE, stderr = process.PIPE)
+    c = process.client('sql', port=myport, dbname='db1', stdin = process.PIPE, 
stdout = process.PIPE, stderr = process.PIPE)
+    out, err = c.communicate('''start transaction;
 create table table3282 (i int);
 insert into table3282 values (0);
 insert into table3282 select * from table3282;
@@ -45,31 +47,33 @@ insert into table3282 select * from tabl
 select * from table3282 offset 2097140;
 commit;
 ''')
-sys.stdout.write(out)
-sys.stderr.write(err)
-out, err = s.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
-s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
-                   stdout = process.PIPE, stderr = process.PIPE)
-c = process.client('sql', port=myport, dbname='db1', stdin = process.PIPE, 
stdout = process.PIPE, stderr = process.PIPE)
-out, err = c.communicate('''select * from table3282 offset 2097140;
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+    out, err = s.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+    s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+                       stdout = process.PIPE, stderr = process.PIPE)
+    c = process.client('sql', port=myport, dbname='db1', stdin = process.PIPE, 
stdout = process.PIPE, stderr = process.PIPE)
+    out, err = c.communicate('''select * from table3282 offset 2097140;
 ''')
-sys.stdout.write(out)
-sys.stderr.write(err)
-out, err = s.communicate()
-sys.stdout.write(out)
-sys.stderr.write(err)
-s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
-                   stdout = process.PIPE, stderr = process.PIPE)
-c = process.client('sql', port=myport, dbname='db1', stdin = process.PIPE, 
stdout = process.PIPE, stderr = process.PIPE)
-out, err = c.communicate('''select * from table3282 offset 2097140;
-drop table table3282;
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+    out, err = s.communicate()
+    sys.stdout.write(out)
+    sys.stderr.write(err)
+    s = process.server(mapiport=myport, dbname='db1', 
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to