From: Otto Moerbeek Date: Tue, 18 Mar 2025 10:48:12 +0000 (+0100) Subject: Default to *not* running auths, saves a bunch of time X-Git-Tag: dnsdist-2.0.0-alpha2~129^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e63ac9bc31dc8625c2f573aa3c8f93aa9f7aee55;p=thirdparty%2Fpdns.git Default to *not* running auths, saves a bunch of time --- diff --git a/regression-tests.recursor-dnssec/basicDNSSEC.py b/regression-tests.recursor-dnssec/basicDNSSEC.py index 4a71292e9b..de0a078a8a 100644 --- a/regression-tests.recursor-dnssec/basicDNSSEC.py +++ b/regression-tests.recursor-dnssec/basicDNSSEC.py @@ -5,6 +5,7 @@ import os class BasicDNSSEC(RecursorTest): __test__ = False _config_template = """dnssec=validate""" + _auth_zones = RecursorTest._default_auth_zones @classmethod def setUp(cls): diff --git a/regression-tests.recursor-dnssec/recursortests.py b/regression-tests.recursor-dnssec/recursortests.py index f8aada98ed..befc25d259 100644 --- a/regression-tests.recursor-dnssec/recursortests.py +++ b/regression-tests.recursor-dnssec/recursortests.py @@ -409,7 +409,7 @@ PrivateKey: Ep9uo6+wwjb4MaOmqq7LHav2FLrjotVOeZg8JT1Qk04= # This dict is keyed with the suffix of the IP address and its value # is a list of zones hosted on that IP. Note that delegations should # go into the _zones's zonecontent - _auth_zones = { + _default_auth_zones = { '8': {'threads': 1, 'zones': ['ROOT']}, '9': {'threads': 1, @@ -434,6 +434,7 @@ PrivateKey: Ep9uo6+wwjb4MaOmqq7LHav2FLrjotVOeZg8JT1Qk04= '18': {'threads': 1, 'zones': ['example']} } + _auth_zones = {} # Other IPs used: # 2: test_Interop.py # 3-7: free? diff --git a/regression-tests.recursor-dnssec/test_API.py b/regression-tests.recursor-dnssec/test_API.py index 90a6fc08ce..d9714b0af2 100644 --- a/regression-tests.recursor-dnssec/test_API.py +++ b/regression-tests.recursor-dnssec/test_API.py @@ -3,26 +3,7 @@ import requests from recursortests import RecursorTest -class APIRecursorTest(RecursorTest): - - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - -class APIAllowedRecursorTest(APIRecursorTest): +class APIAllowedRecursorTest(RecursorTest): _confdir = 'APIAllowedRecursor' _wsPort = 8042 _wsTimeout = 2 @@ -47,7 +28,7 @@ api-key=%s self.assertEqual(r.status_code, 200) self.assertTrue(r.json()) -class APIDeniedRecursorTest(APIRecursorTest): +class APIDeniedRecursorTest(RecursorTest): _confdir = 'APIDeniedRecursor' _wsPort = 8042 _wsTimeout = 2 diff --git a/regression-tests.recursor-dnssec/test_Additionals.py b/regression-tests.recursor-dnssec/test_Additionals.py index b09bf3e21d..845483c9f9 100644 --- a/regression-tests.recursor-dnssec/test_Additionals.py +++ b/regression-tests.recursor-dnssec/test_Additionals.py @@ -4,7 +4,7 @@ from recursortests import RecursorTest class AdditionalsDefaultTest(RecursorTest): _confdir = 'AdditionalsDefault' - + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate disable-packetcache @@ -42,6 +42,7 @@ class AdditionalsDefaultTest(RecursorTest): class AdditionalsResolveImmediatelyTest(RecursorTest): _confdir = 'AdditionalsResolveImmediately' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate disable-packetcache @@ -104,6 +105,7 @@ class AdditionalsResolveImmediatelyTest(RecursorTest): class AdditionalsResolveCacheOnlyTest(RecursorTest): _confdir = 'AdditionalsResolveCacheOnly' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate disable-packetcache diff --git a/regression-tests.recursor-dnssec/test_AggressiveNSECCache.py b/regression-tests.recursor-dnssec/test_AggressiveNSECCache.py index fb1f046e93..5ea3ebfdce 100644 --- a/regression-tests.recursor-dnssec/test_AggressiveNSECCache.py +++ b/regression-tests.recursor-dnssec/test_AggressiveNSECCache.py @@ -12,7 +12,7 @@ class AggressiveNSECCacheBase(RecursorTest): _wsTimeout = 10 _wsPassword = 'secretpassword' _apiKey = 'secretapikey' - #_recursorStartupDelay = 4.0 + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate aggressive-nsec-cache-size=10000 diff --git a/regression-tests.recursor-dnssec/test_AnyBind.py b/regression-tests.recursor-dnssec/test_AnyBind.py index 1dcae1f376..dd9b4db5e9 100644 --- a/regression-tests.recursor-dnssec/test_AnyBind.py +++ b/regression-tests.recursor-dnssec/test_AnyBind.py @@ -5,6 +5,7 @@ from recursortests import RecursorTest class AnyBindTest(RecursorTest): _confdir = 'AnyBind' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate local-address=0.0.0.0 diff --git a/regression-tests.recursor-dnssec/test_Carbon.py b/regression-tests.recursor-dnssec/test_Carbon.py index 71d0365c33..743145e290 100644 --- a/regression-tests.recursor-dnssec/test_Carbon.py +++ b/regression-tests.recursor-dnssec/test_Carbon.py @@ -26,22 +26,6 @@ class CarbonTest(RecursorTest): carbon-ourname=%s carbon-server=127.0.0.1:%s,127.0.01:%s """ % (_carbonNamespace, _carbonInstance, _carbonInterval, _carbonServerName, _carbonServer1Port, _carbonServer2Port) - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() @classmethod def CarbonResponder(cls, port): diff --git a/regression-tests.recursor-dnssec/test_Chain.py b/regression-tests.recursor-dnssec/test_Chain.py index d98fdad4c5..107c66ac72 100644 --- a/regression-tests.recursor-dnssec/test_Chain.py +++ b/regression-tests.recursor-dnssec/test_Chain.py @@ -8,6 +8,7 @@ class ChainTest(RecursorTest): """ These regression tests test the chaining of outgoing requests. """ + _auth_zones = RecursorTest._default_auth_zones _chainSize = 200 _confdir = 'Chain' _wsPort = 8042 diff --git a/regression-tests.recursor-dnssec/test_DNS64.py b/regression-tests.recursor-dnssec/test_DNS64.py index 3fb9fc81c3..ae87d7d0e9 100644 --- a/regression-tests.recursor-dnssec/test_DNS64.py +++ b/regression-tests.recursor-dnssec/test_DNS64.py @@ -6,6 +6,7 @@ from recursortests import RecursorTest class DNS64Test(RecursorTest): _confdir = 'DNS64' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ serve-rfc6303=no auth-zones=example.dns64=configs/%s/example.dns64.zone diff --git a/regression-tests.recursor-dnssec/test_ECS.py b/regression-tests.recursor-dnssec/test_ECS.py index 77710243ee..be91694f74 100644 --- a/regression-tests.recursor-dnssec/test_ECS.py +++ b/regression-tests.recursor-dnssec/test_ECS.py @@ -98,24 +98,6 @@ ecs-add-for=0.0.0.0/0 cls._UDPResponder.daemon = True cls._UDPResponder.start() - @classmethod - def setUpClass(cls): - cls.setUpSockets() - - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - print("Launching tests..") - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - class NoECSTest(ECSTest): _confdir = 'NoECS' @@ -554,22 +536,6 @@ dnssec=validate _roothints = None - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() @classmethod def generateRecursorConfig(cls, confdir): diff --git a/regression-tests.recursor-dnssec/test_EDNSPadding.py b/regression-tests.recursor-dnssec/test_EDNSPadding.py index 55de943a1a..1bf32e9a5a 100644 --- a/regression-tests.recursor-dnssec/test_EDNSPadding.py +++ b/regression-tests.recursor-dnssec/test_EDNSPadding.py @@ -10,28 +10,14 @@ from recursortests import RecursorTest class RecursorEDNSPaddingTest(RecursorTest): _confdir = 'RecursorEDNSPadding' - - @classmethod - def setUpClass(cls): - cls.setUpSockets() - - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - cls.generateAllAuthConfig(confdir) - - # we only need these auths and this cuts the needed time in half - if cls._auth_zones: - for auth_suffix in ['8', '9', '10']: - authconfdir = os.path.join(confdir, 'auth-%s' % auth_suffix) - ipaddress = cls._PREFIX + '.' + auth_suffix - cls.startAuth(authconfdir, ipaddress) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - print("Launching tests..") + _auth_zones = { + '8': {'threads': 1, + 'zones': ['ROOT']}, + '9': {'threads': 1, + 'zones': ['secure.example', 'islandofsecurity.example']}, + '10': {'threads': 1, + 'zones': ['example']}, + } def checkPadding(self, message, numberOfBytes=None): self.assertEqual(message.edns, 0) diff --git a/regression-tests.recursor-dnssec/test_Expired.py b/regression-tests.recursor-dnssec/test_Expired.py index 06be8af03a..18434f72ec 100644 --- a/regression-tests.recursor-dnssec/test_Expired.py +++ b/regression-tests.recursor-dnssec/test_Expired.py @@ -14,6 +14,7 @@ class ExpiredTest(RecursorTest): because they are expired. """ _confdir = 'Expired' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate""" @@ -32,6 +33,7 @@ class ExpiredWithEDETest(RecursorTest): because they are expired. """ _confdir = 'ExpiredWithEDE' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate diff --git a/regression-tests.recursor-dnssec/test_ExtendedErrors.py b/regression-tests.recursor-dnssec/test_ExtendedErrors.py index a684665a79..49f5ad6148 100644 --- a/regression-tests.recursor-dnssec/test_ExtendedErrors.py +++ b/regression-tests.recursor-dnssec/test_ExtendedErrors.py @@ -55,23 +55,6 @@ extended-resolution-errors=yes _roothints = None - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - @classmethod def generateRecursorConfig(cls, confdir): rpzFilePath = os.path.join(confdir, 'zone.rpz') @@ -220,27 +203,6 @@ extended-resolution-errors=no """ _roothints = None - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - - @classmethod - def generateRecursorConfig(cls, confdir): - super(NoExtendedErrorsTest, cls).generateRecursorConfig(confdir) - @pytest.mark.external def testNotIncepted(self): qname = 'signotincepted.bad-dnssec.wb.sidnlabs.nl.' diff --git a/regression-tests.recursor-dnssec/test_Flags.py b/regression-tests.recursor-dnssec/test_Flags.py index da6d46eb5d..f8fa785422 100644 --- a/regression-tests.recursor-dnssec/test_Flags.py +++ b/regression-tests.recursor-dnssec/test_Flags.py @@ -7,6 +7,7 @@ from recursortests import RecursorTest class FlagsTest(RecursorTest): _confdir = 'Flags' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=%s""" _config_params = ['_dnssec_setting'] _dnssec_setting = None diff --git a/regression-tests.recursor-dnssec/test_Interop.py b/regression-tests.recursor-dnssec/test_Interop.py index 772f72ec60..33800beee9 100644 --- a/regression-tests.recursor-dnssec/test_Interop.py +++ b/regression-tests.recursor-dnssec/test_Interop.py @@ -9,6 +9,7 @@ import threading class InteropTest(RecursorTest): _confdir = 'Interop' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate packetcache-ttl=0 # explicitly disable packetcache @@ -153,6 +154,7 @@ forward-zones+=undelegated.insecure.example=%s.12 class InteropProcessTest(RecursorTest): _confdir = 'InteropProcess' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=process packetcache-ttl=0 # explicitly disable packetcache diff --git a/regression-tests.recursor-dnssec/test_KeepOpenTCP.py b/regression-tests.recursor-dnssec/test_KeepOpenTCP.py index 7c8630e142..23bf9e7248 100644 --- a/regression-tests.recursor-dnssec/test_KeepOpenTCP.py +++ b/regression-tests.recursor-dnssec/test_KeepOpenTCP.py @@ -7,6 +7,7 @@ from recursortests import RecursorTest class KeepOpenTCPTest(RecursorTest): _confdir = 'KeepOpenTCP' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate packetcache-ttl=10 diff --git a/regression-tests.recursor-dnssec/test_LockedCache.py b/regression-tests.recursor-dnssec/test_LockedCache.py index c53e31238d..c17c6d2019 100644 --- a/regression-tests.recursor-dnssec/test_LockedCache.py +++ b/regression-tests.recursor-dnssec/test_LockedCache.py @@ -10,6 +10,7 @@ class LockedCacheTest(RecursorTest): Test that a locked cached entry is *not* updated by the same additional encountered in a second query """ _confdir = 'LockedCache' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate @@ -60,6 +61,7 @@ class NotLockedCacheTest(RecursorTest): Test that a not locked cached entry *is* updated by the same additional encountered in a second query """ _confdir = 'NotLockedCache' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec=validate diff --git a/regression-tests.recursor-dnssec/test_Lua.py b/regression-tests.recursor-dnssec/test_Lua.py index 23750b4caa..436a25f519 100644 --- a/regression-tests.recursor-dnssec/test_Lua.py +++ b/regression-tests.recursor-dnssec/test_Lua.py @@ -116,19 +116,6 @@ class GettagRecursorTest(RecursorTest): end """ - @classmethod - def setUpClass(cls): - - cls.setUpSockets() - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - def testA(self): name = 'gettag.lua.' expected = [ @@ -353,24 +340,6 @@ quiet=no cls._UDPResponder.setDaemon(True) cls._UDPResponder.start() - @classmethod - def setUpClass(cls): - cls.setUpSockets() - - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - print("Launching tests..") - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - def testNoData(self): expected = dns.rrset.from_text('nodata.luahooks.example.', 3600, dns.rdataclass.IN, 'AAAA', '2001:DB8::1') query = dns.message.make_query('nodata.luahooks.example.', 'AAAA', 'IN') @@ -459,6 +428,7 @@ class LuaDNS64Test(RecursorTest): """Tests the dq.followupAction("getFakeAAAARecords")""" _confdir = 'LuaDNS64' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ """ _lua_dns_script_file = """ @@ -752,6 +722,7 @@ class PolicyEventFilterOnFollowUpTest(RecursorTest): """ _confdir = 'PolicyEventFilterOnFollowUp' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ """ _lua_config_file = """ @@ -803,6 +774,7 @@ class PolicyEventFilterOnFollowUpWithNativeDNS64Test(RecursorTest): """ _confdir = 'PolicyEventFilterOnFollowUpWithNativeDNS64' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dns64-prefix=1234::/96 """ @@ -839,6 +811,7 @@ class LuaPostResolveFFITest(RecursorTest): """Tests postresolve_ffi interface""" _confdir = 'LuaPostResolveFFI' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ """ _lua_dns_script_file = """ diff --git a/regression-tests.recursor-dnssec/test_NTA.py b/regression-tests.recursor-dnssec/test_NTA.py index 44b1672d85..6a09dc9564 100644 --- a/regression-tests.recursor-dnssec/test_NTA.py +++ b/regression-tests.recursor-dnssec/test_NTA.py @@ -3,6 +3,7 @@ from recursortests import RecursorTest class NTATest(RecursorTest): _confdir = 'NTA' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate""" _lua_config_file = """addNTA("bogus.example") diff --git a/regression-tests.recursor-dnssec/test_NamedForward.py b/regression-tests.recursor-dnssec/test_NamedForward.py index a4b2525d8f..f1c79099ca 100644 --- a/regression-tests.recursor-dnssec/test_NamedForward.py +++ b/regression-tests.recursor-dnssec/test_NamedForward.py @@ -17,18 +17,6 @@ forward-zones-recurse=.=dns.quad9.net;dns.google;one.one.one.one system-resolver-ttl=10 """ - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - def testA(self): expected = dns.rrset.from_text('dns.google.', 0, dns.rdataclass.IN, 'A', '8.8.8.8', '8.8.4.4') query = dns.message.make_query('dns.google', 'A', want_dnssec=True) diff --git a/regression-tests.recursor-dnssec/test_NoDS.py b/regression-tests.recursor-dnssec/test_NoDS.py index 630b717bc6..8cd2ae8d85 100644 --- a/regression-tests.recursor-dnssec/test_NoDS.py +++ b/regression-tests.recursor-dnssec/test_NoDS.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class NoDSTest(RecursorTest): _confdir = 'NoDS' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate""" _lua_config_file = """clearDS(".")""" diff --git a/regression-tests.recursor-dnssec/test_NoDSYAML.py b/regression-tests.recursor-dnssec/test_NoDSYAML.py index b944d8cfe6..b5561ba25c 100644 --- a/regression-tests.recursor-dnssec/test_NoDSYAML.py +++ b/regression-tests.recursor-dnssec/test_NoDSYAML.py @@ -3,6 +3,7 @@ from recursortests import RecursorTest class NoDSYAMLTest(RecursorTest): _confdir = 'NoDSYAML' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ dnssec: diff --git a/regression-tests.recursor-dnssec/test_OOOTCP.py b/regression-tests.recursor-dnssec/test_OOOTCP.py index 24d225e503..d8faef53e6 100644 --- a/regression-tests.recursor-dnssec/test_OOOTCP.py +++ b/regression-tests.recursor-dnssec/test_OOOTCP.py @@ -5,6 +5,7 @@ from recursortests import RecursorTest class OOOTCPTest(RecursorTest): _confdir = 'OOOTCP' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate """ diff --git a/regression-tests.recursor-dnssec/test_Prometheus.py b/regression-tests.recursor-dnssec/test_Prometheus.py index 4573098755..20f502e8e4 100644 --- a/regression-tests.recursor-dnssec/test_Prometheus.py +++ b/regression-tests.recursor-dnssec/test_Prometheus.py @@ -6,23 +6,6 @@ import unittest from recursortests import RecursorTest class RecPrometheusTest(RecursorTest): - - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() def checkPrometheusContentBasic(self, content): for line in content.splitlines(): diff --git a/regression-tests.recursor-dnssec/test_ProxyByTable.py b/regression-tests.recursor-dnssec/test_ProxyByTable.py index 7f631d4dc5..a3fa68d874 100644 --- a/regression-tests.recursor-dnssec/test_ProxyByTable.py +++ b/regression-tests.recursor-dnssec/test_ProxyByTable.py @@ -7,6 +7,7 @@ class ProxyByTableTest(RecursorTest): This test makes sure that we correctly use the proxy-mapped address during the ACL check """ _confdir = 'ProxyByTable' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate auth-zones=authzone.example=configs/%s/authzone.zone diff --git a/regression-tests.recursor-dnssec/test_ProxyProtocol.py b/regression-tests.recursor-dnssec/test_ProxyProtocol.py index b6a3b15f9d..7185afbbb6 100644 --- a/regression-tests.recursor-dnssec/test_ProxyProtocol.py +++ b/regression-tests.recursor-dnssec/test_ProxyProtocol.py @@ -15,26 +15,7 @@ except NameError: from recursortests import RecursorTest from proxyprotocol import ProxyProtocol -class ProxyProtocolTest(RecursorTest): - - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - -class ProxyProtocolAllowedTest(ProxyProtocolTest): +class ProxyProtocolAllowedTest(RecursorTest): _confdir = 'ProxyProtocolAllowed' _wsPort = 8042 _wsTimeout = 2 @@ -134,7 +115,7 @@ class ProxyProtocolAllowedTest(ProxyProtocolTest): dq:addAnswer(pdns.A, '192.0.2.1', 60) return true end - """ % (ProxyProtocolTest._recursorPort, ProxyProtocolTest._recursorPort) + """ % (RecursorTest._recursorPort, RecursorTest._recursorPort) _config_template = """ proxy-protocol-from=127.0.0.1 @@ -637,7 +618,7 @@ class ProxyProtocolAllowedFFITest(ProxyProtocolAllowedTest): end """ % (ProxyProtocolAllowedTest._recursorPort) -class ProxyProtocolNotAllowedTest(ProxyProtocolTest): +class ProxyProtocolNotAllowedTest(RecursorTest): _confdir = 'ProxyProtocolNotAllowed' _lua_dns_script_file = """ @@ -673,7 +654,7 @@ class ProxyProtocolNotAllowedTest(ProxyProtocolTest): res = sender(query, False, '127.0.0.42', '255.255.255.255', 0, 65535, [ [0, b'foo' ], [ 255, b'bar'] ]) self.assertEqual(res, None) -class ProxyProtocolExceptionTest(ProxyProtocolTest): +class ProxyProtocolExceptionTest(RecursorTest): _confdir = 'ProxyProtocolException' _lua_dns_script_file = """ @@ -687,7 +668,7 @@ class ProxyProtocolExceptionTest(ProxyProtocolTest): proxy-protocol-from=127.0.0.1/32 proxy-protocol-exceptions=127.0.0.1:%d allow-from=127.0.0.0/24, ::1/128 -""" % (ProxyProtocolTest._recursorPort) +""" % (RecursorTest._recursorPort) def testNoHeaderProxyProtocol(self): qname = 'no-header.proxy-protocol-not-allowed.recursor-tests.powerdns.com.' @@ -710,7 +691,7 @@ class ProxyProtocolExceptionTest(ProxyProtocolTest): res = sender(query, False, '127.0.0.42', '255.255.255.255', 0, 65535, [ [0, b'foo' ], [ 255, b'bar'] ]) self.assertEqual(res, None) -class ProxyProtocolConfigReloadTest(ProxyProtocolTest): +class ProxyProtocolConfigReloadTest(RecursorTest): _confdir = 'ProxyProtocolConfigReload' _lua_dns_script_file = """ diff --git a/regression-tests.recursor-dnssec/test_RDFlag.py b/regression-tests.recursor-dnssec/test_RDFlag.py index 85ce958b1d..72329f3e62 100644 --- a/regression-tests.recursor-dnssec/test_RDFlag.py +++ b/regression-tests.recursor-dnssec/test_RDFlag.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class RDNotAllowedTest(RecursorTest): _confdir = 'RDNotAllowed' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ """ @@ -19,6 +20,7 @@ class RDNotAllowedTest(RecursorTest): class RDAllowedTest(RecursorTest): _confdir = 'RDAllowed' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ disable-packetcache=yes diff --git a/regression-tests.recursor-dnssec/test_RootNXTrust.py b/regression-tests.recursor-dnssec/test_RootNXTrust.py index 2925c2a6fe..394cc411f2 100644 --- a/regression-tests.recursor-dnssec/test_RootNXTrust.py +++ b/regression-tests.recursor-dnssec/test_RootNXTrust.py @@ -35,6 +35,7 @@ class RootNXTrustRecursorTest(RecursorTest): class RootNXTrustDisabledTest(RootNXTrustRecursorTest): _confdir = 'RootNXTrustDisabled' + _auth_zones = RecursorTest._default_auth_zones _wsPort = 8042 _wsTimeout = 2 _wsPassword = 'secretpassword' @@ -88,6 +89,7 @@ extended-resolution-errors class RootNXTrustEnabledTest(RootNXTrustRecursorTest): _confdir = 'RootNXTrustEnabled' + _auth_zones = RecursorTest._default_auth_zones _wsPort = 8042 _wsTimeout = 2 _wsPassword = 'secretpassword' diff --git a/regression-tests.recursor-dnssec/test_RoutingTag.py b/regression-tests.recursor-dnssec/test_RoutingTag.py index a1cec5d0ca..9f0631b582 100644 --- a/regression-tests.recursor-dnssec/test_RoutingTag.py +++ b/regression-tests.recursor-dnssec/test_RoutingTag.py @@ -86,20 +86,6 @@ ecs-add-for=0.0.0.0/0 cls._UDPResponder.setDaemon(True) cls._UDPResponder.start() - @classmethod - def setUpClass(cls): - cls.setUpSockets() - - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - print("Launching tests..") - @classmethod def tearDownClass(cls): cls.tearDownRecursor() diff --git a/regression-tests.recursor-dnssec/test_ServerNames.py b/regression-tests.recursor-dnssec/test_ServerNames.py index 1611f625d7..1edda5c951 100644 --- a/regression-tests.recursor-dnssec/test_ServerNames.py +++ b/regression-tests.recursor-dnssec/test_ServerNames.py @@ -8,6 +8,7 @@ class ServerNamesTest(RecursorTest): """ _confdir = 'ServerNames' + _auth_zones = RecursorTest._default_auth_zones _servername = 'awesome-pdns1.example.com' _versionbind = 'Awesome!' _versionbind_expected = dns.rrset.from_text('version.bind.', 86400, 'CH', 'TXT', _versionbind) diff --git a/regression-tests.recursor-dnssec/test_Simple.py b/regression-tests.recursor-dnssec/test_Simple.py index 7a247bce40..7028348984 100644 --- a/regression-tests.recursor-dnssec/test_Simple.py +++ b/regression-tests.recursor-dnssec/test_Simple.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class SimpleTest(RecursorTest): _confdir = 'Simple' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate auth-zones=authzone.example=configs/%s/authzone.zone""" % _confdir diff --git a/regression-tests.recursor-dnssec/test_SimpleDoT.py b/regression-tests.recursor-dnssec/test_SimpleDoT.py index 20eaea132d..0a2c99edd4 100644 --- a/regression-tests.recursor-dnssec/test_SimpleDoT.py +++ b/regression-tests.recursor-dnssec/test_SimpleDoT.py @@ -18,19 +18,6 @@ devonly-regression-test-mode _roothints = None - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - @pytest.mark.external def testTXT(self): expected = dns.rrset.from_text('dot-test-target.powerdns.org.', 0, dns.rdataclass.IN, 'TXT', 'https://github.com/PowerDNS/pdns/pull/12825') diff --git a/regression-tests.recursor-dnssec/test_SimpleForwardOverDoT.py b/regression-tests.recursor-dnssec/test_SimpleForwardOverDoT.py index 8de66060b5..b0927cc6d7 100644 --- a/regression-tests.recursor-dnssec/test_SimpleForwardOverDoT.py +++ b/regression-tests.recursor-dnssec/test_SimpleForwardOverDoT.py @@ -16,18 +16,6 @@ forward-zones-recurse=.=1.1.1.1:853;8.8.8.8:853;9.9.9.9:853 devonly-regression-test-mode """ - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - @pytest.mark.external def testA(self): expected = dns.rrset.from_text('dns.google.', 0, dns.rdataclass.IN, 'A', '8.8.8.8', '8.8.4.4') diff --git a/regression-tests.recursor-dnssec/test_SimpleTCP.py b/regression-tests.recursor-dnssec/test_SimpleTCP.py index 4fb7733c41..a6f8871ea8 100644 --- a/regression-tests.recursor-dnssec/test_SimpleTCP.py +++ b/regression-tests.recursor-dnssec/test_SimpleTCP.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class SimpleTCPTest(RecursorTest): _confdir = 'SimpleTCP' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate auth-zones=authzone.example=configs/%s/authzone.zone""" % _confdir diff --git a/regression-tests.recursor-dnssec/test_SimpleYAML.py b/regression-tests.recursor-dnssec/test_SimpleYAML.py index 9d742162f4..a273149796 100644 --- a/regression-tests.recursor-dnssec/test_SimpleYAML.py +++ b/regression-tests.recursor-dnssec/test_SimpleYAML.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class SimpleYAMLTest(RecursorTest): _confdir = 'SimpleYAML' + _auth_zones = RecursorTest._default_auth_zones _config_template = """ recursor: diff --git a/regression-tests.recursor-dnssec/test_Sortlist.py b/regression-tests.recursor-dnssec/test_Sortlist.py index fdf8e29645..000827bf4b 100644 --- a/regression-tests.recursor-dnssec/test_Sortlist.py +++ b/regression-tests.recursor-dnssec/test_Sortlist.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class SortlistTest(RecursorTest): _confdir = 'Sortlist' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=off""" _lua_config_file = """addSortList("0.0.0.0/0", diff --git a/regression-tests.recursor-dnssec/test_TTL.py b/regression-tests.recursor-dnssec/test_TTL.py index 7e30c1a657..c484b5c2f4 100644 --- a/regression-tests.recursor-dnssec/test_TTL.py +++ b/regression-tests.recursor-dnssec/test_TTL.py @@ -4,6 +4,7 @@ from recursortests import RecursorTest class BogusMaxTTLTest(RecursorTest): _confdir = 'BogusMaxTTL' + _auth_zones = RecursorTest._default_auth_zones _config_template = """dnssec=validate max-cache-bogus-ttl=5""" diff --git a/regression-tests.recursor-dnssec/test_TraceFail.py b/regression-tests.recursor-dnssec/test_TraceFail.py index 6f7e7b0587..9b433b6fce 100644 --- a/regression-tests.recursor-dnssec/test_TraceFail.py +++ b/regression-tests.recursor-dnssec/test_TraceFail.py @@ -12,23 +12,6 @@ trace=fail forward-zones-recurse=.=127.0.0.1:9999 """ - @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorConfig(confdir) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() - def testA(self): query = dns.message.make_query('example', 'A', want_dnssec=False) res = self.sendUDPQuery(query) diff --git a/regression-tests.recursor-dnssec/test_ZTC.py b/regression-tests.recursor-dnssec/test_ZTC.py index c8b1667cd2..011e8d3f6c 100644 --- a/regression-tests.recursor-dnssec/test_ZTC.py +++ b/regression-tests.recursor-dnssec/test_ZTC.py @@ -6,7 +6,6 @@ import subprocess from recursortests import RecursorTest class ZTCTest(RecursorTest): - _confdir = 'ZTC' _config_template = """ dnssec: @@ -20,27 +19,14 @@ recordcache: """ @classmethod - def setUpClass(cls): - - # we don't need all the auth stuff - cls.setUpSockets() - cls.startResponders() - - confdir = os.path.join('configs', cls._confdir) - cls.createConfigDir(confdir) - - cls.generateRecursorYamlConfig(confdir, False) - cls.startRecursor(confdir, cls._recursorPort) - - @classmethod - def tearDownClass(cls): - cls.tearDownRecursor() + def generateRecursorConfig(cls, confdir): + super(ZTCTest, cls).generateRecursorYamlConfig(confdir, False) def testZTC(self): grepCmd = ['grep', 'validationStatus="Secure"', 'configs/' + self._confdir + '/recursor.log'] ret = b'' - for i in range(30): - time.sleep(1) + for i in range(300): + time.sleep(0.1) try: ret = subprocess.check_output(grepCmd, stderr=subprocess.STDOUT) except subprocess.CalledProcessError as e: diff --git a/regression-tests.recursor-dnssec/test_basicNSEC.py b/regression-tests.recursor-dnssec/test_basicNSEC.py index 09227caf8e..953aceed3b 100644 --- a/regression-tests.recursor-dnssec/test_basicNSEC.py +++ b/regression-tests.recursor-dnssec/test_basicNSEC.py @@ -4,3 +4,4 @@ import unittest class basicNSECTest(BasicDNSSEC): __test__ = True _confdir = 'basicNSEC' + _auth_zones = BasicDNSSEC._auth_zones diff --git a/regression-tests.recursor-dnssec/test_basicNSEC3.py b/regression-tests.recursor-dnssec/test_basicNSEC3.py index d82d7cd930..5793e03ab2 100644 --- a/regression-tests.recursor-dnssec/test_basicNSEC3.py +++ b/regression-tests.recursor-dnssec/test_basicNSEC3.py @@ -6,6 +6,7 @@ import subprocess class basicNSEC3Test(BasicDNSSEC): __test__ = True _confdir = 'basicNSEC3' + _auth_zones = BasicDNSSEC._auth_zones @classmethod def secureZone(cls, confdir, zonename, key=None):