Changeset: 1d38ac933163 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/1d38ac933163
Modified Files:
sql/test/Tests/hot_snapshot_huge_file.py
sql/test/Tests/selective_snapshot.py
sql/test/concurrent/Tests/7881-concurrent-ddl.SQL.py
sql/test/copy/Tests/compressed_on_client.py
testing/tpymonetdb.py
Branch: Dec2025
Log Message:
Make timeout handing in tpymonetdb more accurate and use it in more places.
diffs (82 lines):
diff --git a/sql/test/Tests/hot_snapshot_huge_file.py
b/sql/test/Tests/hot_snapshot_huge_file.py
--- a/sql/test/Tests/hot_snapshot_huge_file.py
+++ b/sql/test/Tests/hot_snapshot_huge_file.py
@@ -15,7 +15,7 @@ import sys
import tempfile
import lz4.frame
-import pymonetdb
+from MonetDBtesting import tpymonetdb as pymonetdb
log_level = logging.DEBUG
log_format =
'%(levelname)s:t=%(relativeCreated)d:func=%(funcName)s:line=%(lineno)d:%(message)s'
diff --git a/sql/test/Tests/selective_snapshot.py
b/sql/test/Tests/selective_snapshot.py
--- a/sql/test/Tests/selective_snapshot.py
+++ b/sql/test/Tests/selective_snapshot.py
@@ -1,6 +1,6 @@
import tarfile
from MonetDBtesting import process
-import pymonetdb
+from MonetDBtesting import tpymonetdb as pymonetdb
import sys
import shutil
import os
diff --git a/sql/test/concurrent/Tests/7881-concurrent-ddl.SQL.py
b/sql/test/concurrent/Tests/7881-concurrent-ddl.SQL.py
--- a/sql/test/concurrent/Tests/7881-concurrent-ddl.SQL.py
+++ b/sql/test/concurrent/Tests/7881-concurrent-ddl.SQL.py
@@ -1,4 +1,4 @@
-import pymonetdb
+from MonetDBtesting import tpymonetdb as pymonetdb
import os
h = os.getenv('MAPIHOST')
diff --git a/sql/test/copy/Tests/compressed_on_client.py
b/sql/test/copy/Tests/compressed_on_client.py
--- a/sql/test/copy/Tests/compressed_on_client.py
+++ b/sql/test/copy/Tests/compressed_on_client.py
@@ -4,7 +4,7 @@
import os
import struct
import sys
-import pymonetdb
+from MonetDBtesting import tpymonetdb as pymonetdb
TSTDB = database = os.getenv("TSTDB", 'tmpdb')
MAPIPORT = int(os.getenv("MAPIPORT", '50000'))
diff --git a/testing/tpymonetdb.py b/testing/tpymonetdb.py
--- a/testing/tpymonetdb.py
+++ b/testing/tpymonetdb.py
@@ -7,15 +7,30 @@
# For copyright information, see the file debian/copyright.
from pymonetdb import *
+from pymonetdb import __version__
+from pymonetdb import __all__
+
+import os
+import time
+_timeout = int(os.getenv('TIMEOUT', '0'))
+_starttime = time.time() if _timeout > 0 else 0
+_endtime = _starttime + _timeout
+
connect_orig = connect
+
+
def connect(*args, **kwargs):
- import os
- timeout = int(os.environ.get('TIMEOUT', '0'))
- if timeout > 0:
+ if _timeout > 0:
+ curtime = time.time()
+ if curtime >= _endtime:
+ raise TimeoutError('Timed out')
kwargs = kwargs.copy()
kwargs['connect_timeout'] = 20
+ timeout = _endtime - curtime # time remaining
+ else:
+ timeout = 0
h = connect_orig(*args, **kwargs)
- if timeout > 0:
+ if _timeout > 0:
h.settimeout(timeout)
with h.cursor() as c:
c.execute(f'call sys.setsessiontimeout({timeout})')
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]