diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_async.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/test_async.py b/tests/test_async.py index e9a26bb..0252f22 100644 --- a/tests/test_async.py +++ b/tests/test_async.py @@ -17,6 +17,7 @@ import asyncio import socket +import sys import time import unittest @@ -152,6 +153,7 @@ class MiscQuery(unittest.TestCase): @unittest.skipIf(not _network_available, "Internet not reachable") class AsyncTests(unittest.TestCase): + connect_udp = sys.platform == 'win32' def setUp(self): self.backend = dns.asyncbackend.set_default_backend('asyncio') @@ -261,9 +263,13 @@ class AsyncTests(unittest.TestCase): for address in query_addresses: qname = dns.name.from_text('dns.google.') async def run(): + if self.connect_udp: + dtuple=(address, 53) + else: + dtuple=None async with await self.backend.make_socket( dns.inet.af_for_address(address), - socket.SOCK_DGRAM) as s: + socket.SOCK_DGRAM, 0, None, dtuple) as s: q = dns.message.make_query(qname, dns.rdatatype.A) return await dns.asyncquery.udp(q, address, sock=s, timeout=2) @@ -373,6 +379,8 @@ class AsyncTests(unittest.TestCase): self.assertFalse(tcp) def testUDPReceiveQuery(self): + if self.connect_udp: + self.skipTest('test needs connectionless sockets') async def run(): async with await self.backend.make_socket( socket.AF_INET, socket.SOCK_DGRAM, @@ -392,6 +400,8 @@ class AsyncTests(unittest.TestCase): self.assertEqual(sender_address, recv_address) def testUDPReceiveTimeout(self): + if self.connect_udp: + self.skipTest('test needs connectionless sockets') async def arun(): async with await self.backend.make_socket(socket.AF_INET, socket.SOCK_DGRAM, 0, @@ -430,6 +440,7 @@ try: return trio.run(afunc) class TrioAsyncTests(AsyncTests): + connect_udp = False def setUp(self): self.backend = dns.asyncbackend.set_default_backend('trio') @@ -453,6 +464,7 @@ try: return curio.run(afunc) class CurioAsyncTests(AsyncTests): + connect_udp = False def setUp(self): self.backend = dns.asyncbackend.set_default_backend('curio') |