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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org