Changeset: 6d3098fd2db1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6d3098fd2db1 Modified Files: testing/Mtest.py.in Branch: Aug2024 Log Message:
Run a dummy server if the cryptography module cannot be found diffs (52 lines): diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -35,6 +35,8 @@ import socket import struct import signal import fnmatch +import http +import http.server import glob import pymonetdb # check for pymonetdb early: it is essential for our work @@ -3240,13 +3242,26 @@ def SetExecEnv(exe,port,verbose) : print(end='', flush=True) ### SetExecEnv(exe,port,procdebug) # -def StartTlsTester(tsttrgdir): +def DummyTlsTester(): + class DummyHTTPRequestHandler(http.server.BaseHTTPRequestHandler): + def handle(self): + self.requestline = '' + self.request_version = '' + self.command = '' + self.send_error(http.HTTPStatus.INTERNAL_SERVER_ERROR, f"{sys.argv[0]} is not running TLSTestter because the 'cryptography' module is not present") + server = http.server.HTTPServer(('localhost', 0), DummyHTTPRequestHandler) + port = server.server_address[1] + server_thread = threading.Thread(target=server.serve_forever, daemon=True) + server_thread.start() + return port +### DummyTlsTester(exe,port,procdebug) # + +def StartTlsTester(): try: import cryptography except: - # continue without so we can at least run the other tests - print("cryptography not found!", file=sys.stderr) - return None + # Start a dummy server that only returns errors. + return DummyTlsTester() from MonetDBtesting import tlstester hostnames = ['localhost'] certs = tlstester.Certs(hostnames) @@ -3808,7 +3823,7 @@ def main(argv) : # start tlstester if not env.get('TST_TLSTESTERPORT'): - tlstester_port = StartTlsTester(os.path.join(TSTTRGBASE, TSTPREF)) + tlstester_port = StartTlsTester() if tlstester_port: env['TST_TLSTESTERPORT'] = str(tlstester_port) if env.get('TST_TLSTESTERPORT'): _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org