]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
work around windows port binding issues
authorBob Halley <halley@dnspython.org>
Wed, 19 Jul 2023 19:33:22 +0000 (12:33 -0700)
committerBob Halley <halley@dnspython.org>
Wed, 19 Jul 2023 19:33:22 +0000 (12:33 -0700)
tests/nanoquic.py
tests/test_doq.py

index b4efef2fa4c8ef0af37df526519cc474f73bd0e1..47c10431bc158149bc16093d113c6eb0f533fcb9 100644 (file)
@@ -117,8 +117,10 @@ try:
                 lambda: aioquic.asyncio.server.QuicServer(
                     configuration=conf, create_protocol=NanoQuic
                 ),
-                local_addr=(self.address, 8853),
+                local_addr=(self.address, 0),
             )
+            info = self.transport.get_extra_info("sockname")
+            self.port = info[1]
             self.ready.set()
             try:
                 await reader.read(1)
index c43c06545bb6383f80967ef3ede55ba6845fd72b..76cc3b64b92dcf3764e2f6e1dbed897851c92279 100644 (file)
@@ -39,13 +39,13 @@ def test_basic_sync():
     q = dns.message.make_query("www.example.", "A")
     for address in addresses:
         with Server(address) as server:
-            r = dns.query.quic(q, address, port=8853, verify=here("tls/ca.crt"))
+            r = dns.query.quic(q, address, port=server.port, verify=here("tls/ca.crt"))
             assert r.rcode() == dns.rcode.REFUSED
 
 
-async def amain(address):
+async def amain(address, port):
     q = dns.message.make_query("www.example.", "A")
-    r = await dns.asyncquery.quic(q, address, port=8853, verify=here("tls/ca.crt"))
+    r = await dns.asyncquery.quic(q, address, port=port, verify=here("tls/ca.crt"))
     assert r.rcode() == dns.rcode.REFUSED
 
 
@@ -54,7 +54,7 @@ def test_basic_asyncio():
     dns.asyncbackend.set_default_backend("asyncio")
     for address in addresses:
         with Server(address) as server:
-            asyncio.run(amain(address))
+            asyncio.run(amain(address, server.port))
 
 
 try:
@@ -65,7 +65,7 @@ try:
         dns.asyncbackend.set_default_backend("trio")
         for address in addresses:
             with Server(address) as server:
-                trio.run(amain, address)
+                trio.run(amain, address, server.port)
 
 except ImportError:
     pass