From beef1c15142250ed145bea1d968d0276f7892f63 Mon Sep 17 00:00:00 2001 From: Mohammed <74480856+MohammedSaleh2001@users.noreply.github.com> Date: Wed, 7 May 2025 08:33:22 -0600 Subject: [PATCH] Allowed assigning a port in DaphneProcess test helper. (#550) --- daphne/testing.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/daphne/testing.py b/daphne/testing.py index 46787bb..9120327 100644 --- a/daphne/testing.py +++ b/daphne/testing.py @@ -126,14 +126,16 @@ class DaphneProcess(multiprocessing.Process): port it ends up listening on back to the parent process. """ - def __init__(self, host, get_application, kwargs=None, setup=None, teardown=None): + def __init__( + self, host, get_application, kwargs=None, setup=None, teardown=None, port=None + ): super().__init__() self.host = host self.get_application = get_application self.kwargs = kwargs or {} self.setup = setup self.teardown = teardown - self.port = multiprocessing.Value("i") + self.port = multiprocessing.Value("i", port if port is not None else 0) self.ready = multiprocessing.Event() self.errors = multiprocessing.Queue() @@ -153,7 +155,9 @@ class DaphneProcess(multiprocessing.Process): try: # Create the server class - endpoints = build_endpoint_description_strings(host=self.host, port=0) + endpoints = build_endpoint_description_strings( + host=self.host, port=self.port.value + ) self.server = Server( application=application, endpoints=endpoints,