]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Default to *not* running auths, saves a bunch of time
authorOtto Moerbeek <otto@drijf.net>
Tue, 18 Mar 2025 10:48:12 +0000 (11:48 +0100)
committerOtto Moerbeek <otto@drijf.net>
Tue, 18 Mar 2025 10:48:12 +0000 (11:48 +0100)
41 files changed:
regression-tests.recursor-dnssec/basicDNSSEC.py
regression-tests.recursor-dnssec/recursortests.py
regression-tests.recursor-dnssec/test_API.py
regression-tests.recursor-dnssec/test_Additionals.py
regression-tests.recursor-dnssec/test_AggressiveNSECCache.py
regression-tests.recursor-dnssec/test_AnyBind.py
regression-tests.recursor-dnssec/test_Carbon.py
regression-tests.recursor-dnssec/test_Chain.py
regression-tests.recursor-dnssec/test_DNS64.py
regression-tests.recursor-dnssec/test_ECS.py
regression-tests.recursor-dnssec/test_EDNSPadding.py
regression-tests.recursor-dnssec/test_Expired.py
regression-tests.recursor-dnssec/test_ExtendedErrors.py
regression-tests.recursor-dnssec/test_Flags.py
regression-tests.recursor-dnssec/test_Interop.py
regression-tests.recursor-dnssec/test_KeepOpenTCP.py
regression-tests.recursor-dnssec/test_LockedCache.py
regression-tests.recursor-dnssec/test_Lua.py
regression-tests.recursor-dnssec/test_NTA.py
regression-tests.recursor-dnssec/test_NamedForward.py
regression-tests.recursor-dnssec/test_NoDS.py
regression-tests.recursor-dnssec/test_NoDSYAML.py
regression-tests.recursor-dnssec/test_OOOTCP.py
regression-tests.recursor-dnssec/test_Prometheus.py
regression-tests.recursor-dnssec/test_ProxyByTable.py
regression-tests.recursor-dnssec/test_ProxyProtocol.py
regression-tests.recursor-dnssec/test_RDFlag.py
regression-tests.recursor-dnssec/test_RootNXTrust.py
regression-tests.recursor-dnssec/test_RoutingTag.py
regression-tests.recursor-dnssec/test_ServerNames.py
regression-tests.recursor-dnssec/test_Simple.py
regression-tests.recursor-dnssec/test_SimpleDoT.py
regression-tests.recursor-dnssec/test_SimpleForwardOverDoT.py
regression-tests.recursor-dnssec/test_SimpleTCP.py
regression-tests.recursor-dnssec/test_SimpleYAML.py
regression-tests.recursor-dnssec/test_Sortlist.py
regression-tests.recursor-dnssec/test_TTL.py
regression-tests.recursor-dnssec/test_TraceFail.py
regression-tests.recursor-dnssec/test_ZTC.py
regression-tests.recursor-dnssec/test_basicNSEC.py
regression-tests.recursor-dnssec/test_basicNSEC3.py

index 4a71292e9b55d8fdcd8594dcb9e9c3a252b8d8a8..de0a078a8ab7520da30100e96026d2d56e838185 100644 (file)
@@ -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):
index f8aada98ed66dc6ddfee6896ca4d4df6fa107340..befc25d259afbfd3593d408317aec0254561231c 100644 (file)
@@ -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?
index 90a6fc08ce08db0c21ae386210e4570ced684556..d9714b0af292cde81c12e542f5f8cf1211da8198 100644 (file)
@@ -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
index b09bf3e21d99873fea23cc9f678f6c2b9bb1473c..845483c9f98ffedf5dd7abd25b0f0b81ce725b5b 100644 (file)
@@ -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
index fb1f046e932bae38b705a81f96eb4a7aa8b3ba41..5ea3ebfdce22d136c4f51a1311c127f7867ff32c 100644 (file)
@@ -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
index 1dcae1f376bbec6b98d37c9934b4b4f36a1d1b15..dd9b4db5e9985a1a99b68c71547bcd8720948779 100644 (file)
@@ -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
index 71d0365c33a7416881408220663a0bd0d2d7d7fb..743145e290e1230cd4b3313028583445e115b2aa 100644 (file)
@@ -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):
index d98fdad4c55331ca0aa1f0c9cf242856ec1572ba..107c66ac729270f54a2d881ca006901b0f3ff220 100644 (file)
@@ -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
index 3fb9fc81c3f645927793c14203188365739599a0..ae87d7d0e9b55255dfe968414f3e2c924d5507c2 100644 (file)
@@ -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
index 77710243ee223098565c63c26c61347e65434fc1..be91694f7443a62784609b38c43012ba92ac48cc 100644 (file)
@@ -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):
index 55de943a1ad65e688dda0aa6cc52a8e26d032d39..1bf32e9a5aadd703adda938e6731fc8a969f2049 100644 (file)
@@ -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)
index 06be8af03a8c2464e31672158a8d7e71e5f566b1..18434f72ec852966be97994a39971807901cec48 100644 (file)
@@ -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
index a684665a7935d15048b797f3fdb2bb59d55054f7..49f5ad61480e8dd8c9bd524095e9e78ea00d5bf3 100644 (file)
@@ -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.'
index da6d46eb5dbb9389e55fb0d9eb97bdd4b6305401..f8fa785422a666b776856605b9898d27fb947fcf 100644 (file)
@@ -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
index 772f72ec60ef8eee0f4bded0f138304726d67953..33800beee96cc889e5c551b7ea1ba94c1501cd25 100644 (file)
@@ -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
index 7c8630e14212121fa30ac455b33ef0a753d857ca..23bf9e7248c65208ab1b6415a0eca5d6ccad5644 100644 (file)
@@ -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
index c53e31238d1cc6cd50e1d5f7dfcfe10d29aca35a..c17c6d20197c5100772f386f9ee29482b70b2616 100644 (file)
@@ -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
index 23750b4caa7263ddbad95953ba2bc465e0c66eb2..436a25f5199a6ca158440ade475b75f9f7bde754 100644 (file)
@@ -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 = """
index 44b1672d856344c22dd9e262e62dd37040542240..6a09dc956449a4966a3100f8d5cae92b1c3cf07d 100644 (file)
@@ -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")
index a4b2525d8f551755aaa7ed0ab5112a1227bf34c0..f1c79099caff280732d949d74cc335196d3c138d 100644 (file)
@@ -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)
index 630b717bc666f42c078db226c1214b5336cabde8..8cd2ae8d858b2b25154af4ea054660a90db42aa4 100644 (file)
@@ -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(".")"""
index b944d8cfe648acfaa31ad55ec42d0335eb0ac8eb..b5561ba25cad1e4220f09c1b7ab614f6626f7e76 100644 (file)
@@ -3,6 +3,7 @@ from recursortests import RecursorTest
 
 class NoDSYAMLTest(RecursorTest):
     _confdir = 'NoDSYAML'
+    _auth_zones = RecursorTest._default_auth_zones
 
     _config_template = """
 dnssec:
index 24d225e503c090aa3e7f660d17e96f797c581693..d8faef53e6ad1218bb1caf7864231de17b3e5115 100644 (file)
@@ -5,6 +5,7 @@ from recursortests import RecursorTest
 
 class OOOTCPTest(RecursorTest):
     _confdir = 'OOOTCP'
+    _auth_zones = RecursorTest._default_auth_zones
 
     _config_template = """dnssec=validate
 """
index 45730987551dcd72b4d17746c83a5cb5e5ae46a0..20f502e8e4f0f7f94abdaef0acd107afa5f6e6d4 100644 (file)
@@ -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():
index 7f631d4dc539a636d504174cc2f38989652282d7..a3fa68d874fc614e4b7e48bc9678b81edf56d934 100644 (file)
@@ -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
index b6a3b15f9daa809a3e024d337a891042bd9ab54f..7185afbbb6b97ebb1461aa4d64b344d946e0efd1 100644 (file)
@@ -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 = """
 
index 85ce958b1d240caed9ddc4dc2aa3a79498c32cab..72329f3e62ab9866065edc52aae547e994923968 100644 (file)
@@ -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
index 2925c2a6fe83a151a5e5e95b78d79213226861f6..394cc411f29eeee8807c1ca6c16de4978cb04749 100644 (file)
@@ -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'
index a1cec5d0cae9b031345131a2d582b6f1ae8f5baf..9f0631b582df9dd2e1d8a290a7bafc25a813cadc 100644 (file)
@@ -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()
index 1611f625d7b12c83cf1d4b7eea37689975d3bdb4..1edda5c95113c7b7d54e782110b63a0dde0a1521 100644 (file)
@@ -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)
index 7a247bce40a44463d1470ef485ac7d9a5c54f0d4..7028348984d814ec2e453c0c96b574e24e7a1b43 100644 (file)
@@ -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
index 20eaea132d295d09dcd904d69dc5a981a9e14c86..0a2c99edd483f57fb24180d485b7d6ff7e0b8de5 100644 (file)
@@ -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')
index 8de66060b5d8a6d97fa09de644680688133ae322..b0927cc6d75b0a0d6c1adc8db337a873109443d5 100644 (file)
@@ -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')
index 4fb7733c41ae9295e2a282acbc796f2f5aefe169..a6f8871ea8d554a29435a79c264e103ee648e12c 100644 (file)
@@ -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
index 9d742162f4b1dfa98a6a2ae29d07bace4907e4f5..a27314979651301c2753c128345062466a8792fd 100644 (file)
@@ -4,6 +4,7 @@ from recursortests import RecursorTest
 
 class SimpleYAMLTest(RecursorTest):
     _confdir = 'SimpleYAML'
+    _auth_zones = RecursorTest._default_auth_zones
 
     _config_template = """
 recursor:
index fdf8e29645edf13a7826086cc624fe9b9e1943be..000827bf4b55189b35580ba32b3e8cc03aaf15f6 100644 (file)
@@ -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", 
index 7e30c1a657d05decaed0c35e1c83cded457c5726..c484b5c2f4a042e008479708c7d0c5248cab75ec 100644 (file)
@@ -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"""
index 6f7e7b05872ab801747284ca3daeda3349c32804..9b433b6fcef5a545587af1a1508f9bae9e157da9 100644 (file)
@@ -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)
index c8b1667cd2cd5c13feccb6bcec3541d22296ae22..011e8d3f6c89ffa979a7c2884b4d37e3a74458bd 100644 (file)
@@ -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:
index 09227caf8ecf4b911315e98915f7dc48401107f9..953aceed3bfe2621f13d6c6295ed624e25c12fbd 100644 (file)
@@ -4,3 +4,4 @@ import unittest
 class basicNSECTest(BasicDNSSEC):
     __test__ = True
     _confdir = 'basicNSEC'
+    _auth_zones = BasicDNSSEC._auth_zones
index d82d7cd9304de1f21129e19353df3188640a0ae8..5793e03ab267d71a9201d01f87223662da106e18 100644 (file)
@@ -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):