Changeset: 42d6226ac18f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/42d6226ac18f
Added Files:
sql/test/mapi/Tests/clientinfo-mclient.SQL.py
Modified Files:
sql/test/mapi/Tests/All
Branch: Aug2024
Log Message:
Add test for clientinfo
It uses mclient so it doesn't require pymonetdb updates
diffs (67 lines):
diff --git a/sql/test/mapi/Tests/All b/sql/test/mapi/Tests/All
--- a/sql/test/mapi/Tests/All
+++ b/sql/test/mapi/Tests/All
@@ -9,3 +9,4 @@ HAVE_HGE?sql_int128
HAVE_HGE?python3_int128
HAVE_HGE?sql_dec38
HAVE_HGE?python3_dec38
+clientinfo-mclient
diff --git a/sql/test/mapi/Tests/clientinfo-mclient.SQL.py
b/sql/test/mapi/Tests/clientinfo-mclient.SQL.py
new file mode 100644
--- /dev/null
+++ b/sql/test/mapi/Tests/clientinfo-mclient.SQL.py
@@ -0,0 +1,54 @@
+import os
+import subprocess
+
+TSTDB = os.environ['TSTDB']
+MAPIPORT = os.environ['MAPIPORT']
+
+QUERY = """\
+SELECT *
+FROM sys.sessions
+WHERE sessionid = current_sessionid()
+"""
+
+cmd = [
+ 'mclient',
+ '-d', TSTDB,
+ '-p', MAPIPORT,
+ '-fexpanded',
+ '-s', QUERY,
+]
+
+out = subprocess.check_output(cmd, encoding='latin1')
+
+# print(out)
+
+fields = dict()
+for line in out.splitlines()[1:]:
+ line = line.strip()
+ if line:
+ k, v = line.split('|', 1)
+ k = k.strip()
+ v = v.strip()
+ fields[k] = v
+
+assert fields['language'] == 'sql',\
+ f'Found {fields["language"]!r}'
+
+assert fields['peer'] == '<UNIX SOCKET>' or ']:' in fields['peer'],\
+ f'Found {fields["peer"]!r}'
+
+assert fields['hostname'] != 'null',\
+ f'Found {fields["hostname"]!r}'
+
+# could be mclient-11.51.0, mclient.exe, or whatever
+assert fields['application'].startswith('mclient'),\
+ f'Found {fields["application"]!r}'
+
+assert fields['client'].startswith('libmapi '),\
+ f'Found {fields["client"]!r}'
+
+assert fields['clientpid'] != 'null' and int(fields['clientpid']) > 0,\
+ f'Found {fields["clientpid"]!r}'
+
+assert fields['remark'] == 'null',\
+ f'Found {fields["remark"]!r}'
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]