X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=test%2Fcommon.py;h=17fde963e448ac8a76d2ebd3d25742d91905bd8f;hb=9bf81b19b7b790bc2115ac08dc1f3c112aede976;hp=b9f768c8f55d84573a9149f5de248f955039d32b;hpb=539601a0c1494218d57559a058d2fd7df6ab69c2;p=loctrkd.git diff --git a/test/common.py b/test/common.py index b9f768c..17fde96 100644 --- a/test/common.py +++ b/test/common.py @@ -4,6 +4,7 @@ from configparser import ConfigParser, SectionProxy from contextlib import closing, ExitStack from http.server import HTTPServer, SimpleHTTPRequestHandler from importlib import import_module +from logging import DEBUG, StreamHandler from multiprocessing import Process from os import kill, unlink from signal import SIGINT @@ -16,7 +17,7 @@ from socket import ( socket, SocketType, ) -from sys import exit +from sys import exit, stderr from tempfile import mkstemp from time import sleep from typing import Optional @@ -26,7 +27,9 @@ NUMPORTS = 3 class TestWithServers(TestCase): - def setUp(self, *args: str, httpd: bool = False) -> None: + def setUp( + self, *args: str, httpd: bool = False, verbose: bool = False + ) -> None: freeports = [] with ExitStack() as stack: for _ in range(NUMPORTS): @@ -36,6 +39,9 @@ class TestWithServers(TestCase): freeports.append(sk.getsockname()[1]) _, self.tmpfilebase = mkstemp() self.conf = ConfigParser() + self.conf["common"] = { + "protocols": "zx303proto", + } self.conf["collector"] = { "port": str(freeports[0]), "publishurl": "ipc://" + self.tmpfilebase + ".pub", @@ -48,8 +54,8 @@ class TestWithServers(TestCase): "dbfn": self.tmpfilebase + ".opencellid.sqlite", "downloadurl": f"http://localhost:{freeports[2]}/test/262.csv.gz", } - self.conf["lookaside"] = { - "backend": "opencellid", + self.conf["rectifier"] = { + "lookaside": "opencellid", } self.conf["wsgateway"] = { "port": str(freeports[1]), @@ -60,14 +66,17 @@ class TestWithServers(TestCase): kwargs = {"handle_hibernate": False} else: kwargs = {} - cls = import_module("gps303." + srvname, package=".") + cls = import_module("loctrkd." + srvname, package=".") + if verbose: + cls.log.addHandler(StreamHandler(stderr)) + cls.log.setLevel(DEBUG) p = Process(target=cls.runserver, args=(self.conf,), kwargs=kwargs) p.start() self.children.append((srvname, p)) if httpd: server = HTTPServer(("", freeports[2]), SimpleHTTPRequestHandler) - def run(server): + def run(server: HTTPServer) -> None: try: server.serve_forever() except KeyboardInterrupt: @@ -87,7 +96,7 @@ class TestWithServers(TestCase): self.assertEqual( p.exitcode, 0, - srvname + " terminated with non-zero return code", + f"{srvname} terminated with return code {p.exitcode}", ) for sfx in ( "",