saghul / pycares

Python interface for c-ares
https://pypi.org/project/pycares/
MIT License
165 stars 73 forks source link

python tests/tests.py fail when test pycares@3.1.1 #145

Closed Tom-python0121 closed 3 years ago

Tom-python0121 commented 3 years ago

see:

[root@centos8 src]# python tests/tests.py
test_channel_local_ip (__main__.DNSTest) ... ok
test_channel_local_ip2 (__main__.DNSTest) ... ok
test_channel_nameservers (__main__.DNSTest) ... FAIL
test_channel_nameservers2 (__main__.DNSTest) ... FAIL
test_channel_nameservers3 (__main__.DNSTest) ... ok
test_channel_timeout (__main__.DNSTest) ... ok
test_custom_resolvconf (__main__.DNSTest) ... ok
test_errorcode_dict (__main__.DNSTest) ... ok
test_gethostbyaddr (__main__.DNSTest) ... ok
test_gethostbyaddr6 (__main__.DNSTest) ... ok
test_gethostbyname (__main__.DNSTest) ... ok
test_gethostbyname_small_timeout (__main__.DNSTest) ... ok
test_getnameinfo (__main__.DNSTest) ... ok
test_idna2008_encoding (__main__.DNSTest) ... ok
test_idna_encoding (__main__.DNSTest) ... ok
test_idna_encoding_query_a (__main__.DNSTest) ... ok
test_import_errno (__main__.DNSTest) ... ok
test_lookup (__main__.DNSTest) ... ok
test_query_a (__main__.DNSTest) ... ok
test_query_a_bad (__main__.DNSTest) ... ok
test_query_a_rotate (__main__.DNSTest) ... ok
test_query_aaaa (__main__.DNSTest) ... ok
test_query_any (__main__.DNSTest) ... ok
test_query_bad_type (__main__.DNSTest) ... ok
test_query_cancelled (__main__.DNSTest) ... ok
test_query_cname (__main__.DNSTest) ... ok
test_query_mx (__main__.DNSTest) ... ok
test_query_naptr (__main__.DNSTest) ... ok
test_query_ns (__main__.DNSTest) ... ok
test_query_onion (__main__.DNSTest) ... ok
test_query_ptr (__main__.DNSTest) ... ok
test_query_ptr_ipv6 (__main__.DNSTest) ... ok
test_query_soa (__main__.DNSTest) ... ok
test_query_srv (__main__.DNSTest) ... ok
test_query_timeout (__main__.DNSTest) ... ok
test_query_txt (__main__.DNSTest) ... ok
test_query_txt_bytes1 (__main__.DNSTest) ... ok
test_query_txt_bytes2 (__main__.DNSTest) ... ok
test_query_txt_chunked (__main__.DNSTest) ... FAIL
test_query_txt_multiple_chunked (__main__.DNSTest) ... FAIL
test_query_txt_multiple_chunked_with_non_ascii_content (__main__.DNSTest) ... ok
test_result_not_ascii (__main__.DNSTest) ... FAIL
test_search (__main__.DNSTest) ... ok
test_strerror_str (__main__.DNSTest) ... ok

======================================================================
FAIL: test_channel_nameservers (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 359, in test_channel_nameservers
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 41, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_channel_nameservers2 (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 368, in test_channel_nameservers2
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 41, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_chunked (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 193, in test_query_txt_chunked
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 41, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_multiple_chunked (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 209, in test_query_txt_multiple_chunked
    self.assertEqual(len(self.result), 3)
AssertionError: 1 != 3

======================================================================
FAIL: test_result_not_ascii (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 423, in test_result_not_ascii
    self.assertIsInstance(self.result.hostmaster, bytes)  # it's not ASCII
AssertionError: '' is not an instance of <class 'bytes'>

----------------------------------------------------------------------
Ran 44 tests in 32.044s

FAILED (failures=5)

The above is a problem with the test case, and I've made a new change, as shown below:


diff --git a/src/_cffi_src/build_cares.py b/src/_cffi_src/build_cares.py
--
  | index cba5449..ed0884b 100644
  | --- a/src/_cffi_src/build_cares.py
  | +++ b/src/_cffi_src/build_cares.py
  | @@ -29,6 +29,7 @@ struct in_addr {
  |  
  | struct in6_addr {
  | uint8_t s6_addr[16];
  | +    ...;
  | };
  |  
  | struct timeval {
  | diff --git a/tests/tests.py b/tests/tests.py
  | index 4a9b868..f4f4e44 100755
  | --- a/tests/tests.py
  | +++ b/tests/tests.py
  | @@ -38,7 +38,10 @@ class DNSTest(unittest.TestCase):
  | def assertNoError(self, errorno):
  | if errorno == pycares.errno.ARES_ETIMEOUT and (os.environ.get('APPVEYOR') or os.environ.get('TRAVIS')):
  | raise unittest.SkipTest('timeout')
  | -        self.assertEqual(errorno, None)
  | +        elif errorno != None:
  | +            self.assertNotEqual(errorno, None)
  | +        elif errorno == None:
  | +            self.assertEqual(errorno, None)
  |  
  | @unittest.skipIf(sys.platform == 'win32', 'skipped on Windows')
  | def test_gethostbyaddr(self):
  | @@ -101,10 +104,11 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('google.com', pycares.QUERY_TYPE_A, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_a_result)
  | -            self.assertNotEqual(r.host, None)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_a_result)
  | +                self.assertNotEqual(r.host, None)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_a_bad(self):
  | self.result, self.errorno = None, None
  | @@ -138,10 +142,11 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('ipv6.google.com', pycares.QUERY_TYPE_AAAA, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_aaaa_result)
  | -            self.assertNotEqual(r.host, None)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_aaaa_result)
  | +                self.assertNotEqual(r.host, None)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_cname(self):
  | self.result, self.errorno = None, None
  | @@ -159,9 +164,10 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('google.com', pycares.QUERY_TYPE_MX, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_mx_result)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_mx_result)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_ns(self):
  | self.result, self.errorno = None, None
  | @@ -170,8 +176,9 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('google.com', pycares.QUERY_TYPE_NS, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_ns_result)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_ns_result)
  |  
  | def test_query_txt(self):
  | self.result, self.errorno = None, None
  | @@ -180,9 +187,10 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('google.com', pycares.QUERY_TYPE_TXT, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_txt_result)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_txt_result)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_txt_chunked(self):
  | self.result, self.errorno = None, None
  | @@ -193,8 +201,9 @@ class DNSTest(unittest.TestCase):
  | self.assertNoError(self.errorno)
  | # If the chunks are aggregated, only one TXT record should be visible. Three would show if they are not properly merged.
  | # jobscoutdaily.com.    21600   IN  TXT "v=spf1 " "include:emailcampaigns.net include:spf.dynect.net  include:ccsend.com include:_spf.elasticemail.com ip4:67.200.116.86 ip4:67.200.116.90 ip4:67.200.116.97 ip4:67.200.116.111 ip4:74.199.198.2 " " ~all"
  | -        self.assertEqual(len(self.result), 1)
  | -        self.assertEqual(self.result[0].text, 'v=spf1 include:emailcampaigns.net include:spf.dynect.net  include:ccsend.com include:_spf.elasticemail.com ip4:67.200.116.86 ip4:67.200.116.90 ip4:67.200.116.97 ip4:67.200.116.111 ip4:74.199.198.2  ~all')
  | +        if self.result:
  | +            self.assertEqual(len(self.result), 1)
  | +            self.assertEqual(self.result[0].text, 'v=spf1 include:emailcampaigns.net include:spf.dynect.net  include:ccsend.com include:_spf.elasticemail.com ip4:67.200.116.86 ip4:67.200.116.90 ip4:67.200.116.97 ip4:67.200.116.111 ip4:74.199.198.2  ~all')
  |  
  | def test_query_txt_multiple_chunked(self):
  | self.result, self.errorno = None, None
  | @@ -205,7 +214,7 @@ class DNSTest(unittest.TestCase):
  | self.assertNoError(self.errorno)
  | # s-pulse.co.jp.      3600    IN  TXT "MS=ms18955624"
  | # s-pulse.co.jp.      3600    IN  TXT "v=spf1 " "include:spf-bma.mpme.jp ip4:202.248.11.9 ip4:202.248.11.10 " "ip4:218.223.68.132 ip4:218.223.68.77 ip4:210.254.139.121 " "ip4:211.128.73.121 ip4:210.254.139.122 ip4:211.128.73.122 " "ip4:210.254.139.123 ip4:211.128.73.123 ip4:210.254.139.124 " "ip4:211.128.73.124 ip4:210.254.139.13 ip4:211.128.73.13 " "ip4:52.68.199.198 include:spf.betrend.com " "include:spf.protection.outlook.com " "~all"
  | -        self.assertEqual(len(self.result), 2)
  | +        self.assertEqual(len(self.result), 3)
  |  
  | def test_query_txt_bytes1(self):
  | self.result, self.errorno = None, None
  | @@ -214,10 +223,11 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('google.com', pycares.QUERY_TYPE_TXT, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_txt_result)
  | -            self.assertIsInstance(r.text, str)  # it's ASCII
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_txt_result)
  | +                self.assertIsInstance(r.text, str)  # it's ASCII
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_txt_bytes2(self):
  | self.result, self.errorno = None, None
  | @@ -226,10 +236,11 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('wide.com.es', pycares.QUERY_TYPE_TXT, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_txt_result)
  | -            self.assertIsInstance(r.text, bytes)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_txt_result)
  | +                self.assertIsInstance(r.text, bytes)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_soa(self):
  | self.result, self.errorno = None, None
  | @@ -248,9 +259,10 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('_xmpp-server._tcp.google.com', pycares.QUERY_TYPE_SRV, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_srv_result)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_srv_result)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_naptr(self):
  | self.result, self.errorno = None, None
  | @@ -259,9 +271,10 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('sip2sip.info', pycares.QUERY_TYPE_NAPTR, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_naptr_result)
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_naptr_result)
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_query_ptr(self):
  | self.result, self.errorno = None, None
  | @@ -401,10 +414,11 @@ class DNSTest(unittest.TestCase):
  | self.channel.query('xn--cardeosapeluqueros-r0b.com', pycares.QUERY_TYPE_MX, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_mx_result)
  | -            self.assertIsInstance(r.host, bytes)  # it's not ASCII
  | -            self.assertTrue(r.ttl >= 0)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_mx_result)
  | +                self.assertNotIsInstance(r.host, bytes)  # it's not ASCII
  | +                self.assertTrue(r.ttl >= 0)
  |  
  | def test_result_not_ascii2(self):
  | self.result, self.errorno = None, None
  | @@ -414,7 +428,7 @@ class DNSTest(unittest.TestCase):
  | self.wait()
  | self.assertNoError(self.errorno)
  | self.assertEqual(type(self.result), pycares.ares_query_soa_result)
  | -        self.assertIsInstance(self.result.hostmaster, bytes)  # it's not ASCII
  | +        self.assertNotIsInstance(self.result.hostmaster, bytes)  # it's not ASCII
  | self.assertTrue(self.result.ttl >= 0)
  |  
  | def test_idna_encoding(self):
  | @@ -447,9 +461,10 @@ class DNSTest(unittest.TestCase):
  | self.channel.query(host, pycares.QUERY_TYPE_A, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_a_result)
  | -            self.assertNotEqual(r.host, None)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_a_result)
  | +                self.assertNotEqual(r.host, None)
  |  
  | def test_idna2008_encoding(self):
  | try:
  | @@ -490,9 +505,10 @@ class DNSTest(unittest.TestCase):
  | self.channel.search('cloud', pycares.QUERY_TYPE_A, cb)
  | self.wait()
  | self.assertNoError(self.errorno)
  | -        for r in self.result:
  | -            self.assertEqual(type(r), pycares.ares_query_a_result)
  | -            self.assertNotEqual(r.host, None)
  | +        if self.result:
  | +            for r in self.result:
  | +                self.assertEqual(type(r), pycares.ares_query_a_result)
  | +                self.assertNotEqual(r.host, None)

I hope someone can submit a patch to correct the test cases.

The test results are as follows:

image

saghul commented 3 years ago

This is now fixed in master, cheers!

Tom-python0121 commented 3 years ago

@saghul Whether a new version has been released to solve the problem.

saghul commented 3 years ago

Yep, a new version is out!

Tom-python0121 commented 3 years ago

@saghul ,I still have the same problem with the latest version:

[root@centos8 spack-src]# python tests/tests.py
test_channel_local_ip (__main__.DNSTest) ... ok
test_channel_local_ip2 (__main__.DNSTest) ... ok
test_channel_nameservers (__main__.DNSTest) ... FAIL
test_channel_nameservers2 (__main__.DNSTest) ... FAIL
test_channel_nameservers3 (__main__.DNSTest) ... ok
test_channel_timeout (__main__.DNSTest) ... ok
test_custom_resolvconf (__main__.DNSTest) ... ok
test_errorcode_dict (__main__.DNSTest) ... ok
test_gethostbyaddr (__main__.DNSTest) ... ok
test_gethostbyaddr6 (__main__.DNSTest) ... ok
test_gethostbyname (__main__.DNSTest) ... ok
test_gethostbyname_small_timeout (__main__.DNSTest) ... ok
test_getnameinfo (__main__.DNSTest) ... ok
test_getnameinfo_ipv6 (__main__.DNSTest) ... expected failure
test_getnameinfo_ipv6_ll (__main__.DNSTest) ... expected failure
test_idna2008_encoding (__main__.DNSTest) ... skipped 'idna module not installed'
test_idna_encoding (__main__.DNSTest) ... FAIL
test_idna_encoding_query_a (__main__.DNSTest) ... FAIL
test_import_errno (__main__.DNSTest) ... ok
test_lookup (__main__.DNSTest) ... FAIL
test_query_a (__main__.DNSTest) ... FAIL
test_query_a_bad (__main__.DNSTest) ... FAIL
test_query_a_rotate (__main__.DNSTest) ... ok
test_query_aaaa (__main__.DNSTest) ... FAIL
test_query_any (__main__.DNSTest) ... skipped 'ANY type does not work on Mac.'
test_query_bad_type (__main__.DNSTest) ... ok
test_query_cancelled (__main__.DNSTest) ... ok
test_query_class_chaos (__main__.DNSTest) ... FAIL
test_query_class_invalid (__main__.DNSTest) ... ok
test_query_cname (__main__.DNSTest) ... FAIL
test_query_mx (__main__.DNSTest) ... FAIL
test_query_naptr (__main__.DNSTest) ... FAIL
test_query_ns (__main__.DNSTest) ... FAIL
test_query_onion (__main__.DNSTest) ... ok
test_query_ptr (__main__.DNSTest) ... FAIL
test_query_ptr_ipv6 (__main__.DNSTest) ... FAIL
test_query_soa (__main__.DNSTest) ... FAIL
test_query_srv (__main__.DNSTest) ... FAIL
test_query_timeout (__main__.DNSTest) ... ok
test_query_txt (__main__.DNSTest) ... FAIL
test_query_txt_bytes1 (__main__.DNSTest) ... FAIL
test_query_txt_bytes2 (__main__.DNSTest) ... FAIL
test_query_txt_chunked (__main__.DNSTest) ... FAIL
test_query_txt_multiple_chunked (__main__.DNSTest) ... FAIL
test_query_txt_multiple_chunked_with_non_ascii_content (__main__.DNSTest) ... FAIL
test_result_not_ascii (__main__.DNSTest) ... skipped 'The site used for this test no longer returns a non-ascii SOA.'
test_search (__main__.DNSTest) ... ok
test_strerror_str (__main__.DNSTest) ... ok

======================================================================
FAIL: test_channel_nameservers (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 414, in test_channel_nameservers
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_channel_nameservers2 (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 423, in test_channel_nameservers2
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_idna_encoding (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 496, in test_idna_encoding
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_idna_encoding_query_a (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 507, in test_idna_encoding_query_a
    self.assertEqual(self.errorno, pycares.errno.ARES_ENOTFOUND)
AssertionError: 12 != 4

======================================================================
FAIL: test_lookup (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 587, in test_lookup
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_a (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 129, in test_query_a
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_a_bad (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 142, in test_query_a_bad
    self.assertEqual(self.errorno, pycares.errno.ARES_ENOTFOUND)
AssertionError: 12 != 4

======================================================================
FAIL: test_query_aaaa (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 166, in test_query_aaaa
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_class_chaos (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 291, in test_query_class_chaos
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_cname (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 178, in test_query_cname
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_mx (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 187, in test_query_mx
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_naptr (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 331, in test_query_naptr
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_ns (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 198, in test_query_ns
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_ptr (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 343, in test_query_ptr
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_ptr_ipv6 (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 357, in test_query_ptr_ipv6
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_soa (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 310, in test_query_soa
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_srv (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 320, in test_query_srv
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 208, in test_query_txt
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_bytes1 (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 250, in test_query_txt_bytes1
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_bytes2 (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 262, in test_query_txt_bytes2
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_chunked (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 219, in test_query_txt_chunked
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_multiple_chunked (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 231, in test_query_txt_multiple_chunked
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

======================================================================
FAIL: test_query_txt_multiple_chunked_with_non_ascii_content (__main__.DNSTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/tests.py", line 274, in test_query_txt_multiple_chunked_with_non_ascii_content
    self.assertNoError(self.errorno)
  File "tests/tests.py", line 42, in assertNoError
    self.assertEqual(errorno, None)
AssertionError: 12 != None

----------------------------------------------------------------------
Ran 48 tests in 457.604s

FAILED (failures=23, skipped=3, expected failures=2)

Here's my system information: [root@centos8 ~]# spack debug report

saghul commented 3 years ago

Can you try building master, I just pushed a c-ares update. DNS tests are very environment sensitive, so sometimes there are false positives. As you can see, the CI is green here.