Changeset: 8aa13b9313d6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8aa13b9313d6
Modified Files:
        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-2012/Tests/table_functions_fail_after_restart.Bug-3063.py
        sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.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/dbfarm-foreign-chars.Bug-7031.py
        sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.SQL.py
        sql/test/BugTracker-2020/Tests/remote-table-like.Bug-6841.py
        sql/test/BugTracker-2020/Tests/table-udf-on-remote.Bug-6971.py
        sql/test/BugTracker-2021/Tests/remote-join-idxs.Bug-7165.py
        sql/test/BugTracker-2021/Tests/remote-table-groupby.Bug-7110.py
        sql/test/BugTracker-2021/Tests/remote-table-ranges.Bug-7089.py
        sql/test/BugTracker-2021/Tests/shutdown-force.Bug-7167.SQL.py
        sql/test/BugTracker-2021/Tests/truncate-restart.Bug-7173.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/SQLancer/Tests/sqlancer12.SQL.py
        sql/test/Tests/hot_snapshot.py
        sql/test/dict/Tests/dict03.py
        sql/test/merge-partitions/Tests/mergepart23.SQL.py
        sql/test/merge-partitions/Tests/mergepart29.SQL.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/strimps/Tests/persisted_strimp.SQL.py
        sql/test/strimps/Tests/strimps_stable_counts.SQL.py
        sql/test/testdb-reload/Tests/reload.py
        sql/test/wlcr/Tests/wlcr00.py
        sql/test/wlcr/Tests/wlr01.py
        sql/test/wlcr/Tests/wlr10.py
        sql/test/wlcr/Tests/wlr100.py
        sql/test/wlcr/Tests/wlr110.py
        sql/test/wlcr/Tests/wlr20.py
        sql/test/wlcr/Tests/wlr30.py
        sql/test/wlcr/Tests/wlr35.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: Jan2022
Log Message:

Let the server figure out a free port.


diffs (truncated from 2613 to 300 lines):

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
@@ -1,4 +1,4 @@
-import os, socket, tempfile
+import os, tempfile
 
 from MonetDBtesting.sqltest import SQLTestCase
 try:
@@ -6,29 +6,20 @@ try:
 except ImportError:
     import process
 
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
-    port = sock.getsockname()[1]
-    sock.close()
-    return port
-
-myport = freeport()
-
 with tempfile.TemporaryDirectory() as farm_dir:
     os.mkdir(os.path.join(farm_dir, 'db1'))
     # Start the server without readonly one time to initialize catalog
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
         s.communicate()
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         args=["--set", "gdk_readonly=yes"],
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
         with SQLTestCase() as tc:
-            tc.connect(username="monetdb", password="monetdb", port=myport, 
database='db1')
+            tc.connect(username="monetdb", password="monetdb", port=s.dbport, 
database='db1')
             tc.execute("create table t2 (a 
int);").assertFailed(err_message="Schema statements cannot be executed on a 
readonly database.")
         s.communicate()
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
@@ -1,4 +1,4 @@
-import os, socket, tempfile
+import os, tempfile
 
 from MonetDBtesting.sqltest import SQLTestCase
 try:
@@ -6,16 +6,9 @@ try:
 except ImportError:
     import process
 
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
-    port = sock.getsockname()[1]
-    sock.close()
-    return port
-
 class server(process.server):
     def __init__(self):
-        super().__init__(mapiport=myport, dbname='db1',
+        super().__init__(mapiport='0', dbname='db1',
                          dbfarm=os.path.join(farm_dir, 'db1'),
                          stdin=process.PIPE,
                          stdout=process.PIPE, stderr=process.PIPE)
@@ -23,20 +16,18 @@ class server(process.server):
     def server_stop(self):
         self.communicate()
 
-myport = freeport()
-
 with tempfile.TemporaryDirectory() as farm_dir:
     os.mkdir(os.path.join(farm_dir, 'db1'))
     with server() as s:
         with SQLTestCase() as tc:
-            tc.connect(username="monetdb", password="monetdb", port=myport, 
database="db1")
+            tc.connect(username="monetdb", password="monetdb", port=s.dbport, 
database="db1")
             tc.execute("create table lost_update_t2 (a 
int);").assertSucceeded()
             tc.execute("insert into lost_update_t2 values 
(1);").assertSucceeded().assertRowCount(1)
             tc.execute("update lost_update_t2 set a = 
2;").assertSucceeded().assertRowCount(1)
         s.server_stop()
     with server() as s:
         with SQLTestCase() as tc:
-            tc.connect(username="monetdb", password="monetdb", port=myport, 
database="db1")
+            tc.connect(username="monetdb", password="monetdb", port=s.dbport, 
database="db1")
             tc.execute("update lost_update_t2 set a = 
3;").assertSucceeded().assertRowCount(1)
             tc.execute("create table lost_update_t1 (a 
int);").assertSucceeded()
             tc.execute("insert into lost_update_t1 values 
(1);").assertSucceeded().assertRowCount(1)
@@ -56,12 +47,12 @@ with tempfile.TemporaryDirectory() as fa
         s.server_stop()
     with server() as s:
         with SQLTestCase() as tc:
-            tc.connect(username="monetdb", password="monetdb", port=myport, 
database="db1")
+            tc.connect(username="monetdb", password="monetdb", port=s.dbport, 
database="db1")
             tc.execute("select a from 
lost_update_t2;").assertSucceeded().assertRowCount(1).assertDataResultMatch([(3,)])
         s.server_stop()
     with server() as s:
         with SQLTestCase() as tc:
-            tc.connect(username="monetdb", password="monetdb", port=myport, 
database="db1")
+            tc.connect(username="monetdb", password="monetdb", port=s.dbport, 
database="db1")
             tc.execute("drop table lost_update_t1;").assertSucceeded()
             tc.execute("drop table lost_update_t2;").assertSucceeded()
         s.server_stop()
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
@@ -1,21 +1,12 @@
-import os, socket, sys, tempfile
+import os, sys, tempfile
 try:
     from MonetDBtesting import process
 except ImportError:
     import process
 
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
-    port = sock.getsockname()[1]
-    sock.close()
-    return port
-
-myport = freeport()
-
 with tempfile.TemporaryDirectory() as farm_dir:
     os.mkdir(os.path.join(farm_dir, 'db1'))
-    with process.server(args=['--readonly'], mapiport=myport, dbname='db1',
+    with process.server(args=['--readonly'], mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
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
@@ -1,30 +1,21 @@
-import os, socket, sys, tempfile, pymonetdb
+import os, sys, tempfile, pymonetdb
 try:
     from MonetDBtesting import process
 except ImportError:
     import process
 
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
-    port = sock.getsockname()[1]
-    sock.close()
-    return port
-
-myport = freeport()
-
 with tempfile.TemporaryDirectory() as farm_dir:
     os.mkdir(os.path.join(farm_dir, 'db1'))
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
         s.communicate()
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
-        client = pymonetdb.connect(database='db1', port=myport, 
autocommit=True)
+        client = pymonetdb.connect(database='db1', port=s.dbport, 
autocommit=True)
         cursor = client.cursor()
         cursor.execute("""
         with describe_all_objects as (
diff --git 
a/sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart.Bug-3063.py 
b/sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart.Bug-3063.py
--- 
a/sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart.Bug-3063.py
+++ 
b/sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart.Bug-3063.py
@@ -1,28 +1,18 @@
-import os, socket, sys, tempfile, pymonetdb
+import os, sys, tempfile, pymonetdb
 
 try:
     from MonetDBtesting import process
 except ImportError:
     import process
 
-
-# Find a free network port
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
-    port = sock.getsockname()[1]
-    sock.close()
-    return port
-
 with tempfile.TemporaryDirectory() as farm_dir:
     os.mkdir(os.path.join(farm_dir, 'db'))
-    dport = freeport()
 
-    with process.server(mapiport=dport, dbname='db',
+    with process.server(mapiport='0', dbname='db',
                         dbfarm=os.path.join(farm_dir, 'db'),
                         stdin=process.PIPE, stdout=process.PIPE,
                         stderr=process.PIPE) as dproc:
-        client1 = pymonetdb.connect(database='db', port=dport, autocommit=True)
+        client1 = pymonetdb.connect(database='db', port=dproc.dbport, 
autocommit=True)
         cur1 = client1.cursor()
         cur1.execute("""
         CREATE schema ft;
@@ -36,11 +26,11 @@ with tempfile.TemporaryDirectory() as fa
 
         dproc.communicate()
 
-    with process.server(mapiport=dport, dbname='db',
+    with process.server(mapiport='0', dbname='db',
                         dbfarm=os.path.join(farm_dir, 'db'),
                         stdin=process.PIPE, stdout=process.PIPE,
                         stderr=process.PIPE) as dproc:
-        client1 = pymonetdb.connect(database='db', port=dport, autocommit=True)
+        client1 = pymonetdb.connect(database='db', port=dproc.dbport, 
autocommit=True)
         cur1 = client1.cursor()
         cur1.execute("select * from ft.func() as ftf;")
         if cur1.fetchall() != [('1',)]:
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
@@ -1,25 +1,16 @@
-import os, socket, sys, tempfile, pymonetdb
+import os, sys, tempfile, pymonetdb
 try:
     from MonetDBtesting import process
 except ImportError:
     import process
 
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
-    port = sock.getsockname()[1]
-    sock.close()
-    return port
-
-myport = freeport()
-
 with tempfile.TemporaryDirectory() as farm_dir:
     os.mkdir(os.path.join(farm_dir, 'db1'))
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
-        cli = pymonetdb.connect(port=myport,database='db1',autocommit=True)
+        cli = pymonetdb.connect(port=s.dbport,database='db1',autocommit=True)
         cur = cli.cursor()
         cur.execute('''
         start transaction;
@@ -54,11 +45,11 @@ with tempfile.TemporaryDirectory() as fa
         cur.close()
         cli.close()
         s.communicate()
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
-        cli = pymonetdb.connect(port=myport,database='db1',autocommit=True)
+        cli = pymonetdb.connect(port=s.dbport,database='db1',autocommit=True)
         cur = cli.cursor()
         cur.execute('select count(*) from table3282;')
         if cur.fetchall()[0][0] != 2097152:
@@ -66,11 +57,11 @@ with tempfile.TemporaryDirectory() as fa
         cur.close()
         cli.close()
         s.communicate()
-    with process.server(mapiport=myport, dbname='db1',
+    with process.server(mapiport='0', dbname='db1',
                         dbfarm=os.path.join(farm_dir, 'db1'),
                         stdin=process.PIPE,
                         stdout=process.PIPE, stderr=process.PIPE) as s:
-        cli = pymonetdb.connect(port=myport,database='db1',autocommit=True)
+        cli = pymonetdb.connect(port=s.dbport,database='db1',autocommit=True)
         cur = cli.cursor()
         cur.execute('select count(*) from table3282;')
         if cur.fetchall()[0][0] != 2097152:
diff --git a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py 
b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py
--- a/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py
+++ b/sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py
@@ -4,7 +4,7 @@ Test if server doesn't crash when remote
 Current result is an mal error (compilation failed)
 """
 
-import os, sys, socket, pymonetdb, threading, tempfile
+import os, sys, pymonetdb, threading, tempfile
 try:
     from MonetDBtesting import process
 except ImportError:
@@ -28,13 +28,6 @@ tabledata = """
 INSERT INTO %SHARD% VALUES (42);
 """
 
-def freeport():
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.bind(('', 0))
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to