]> granicus.if.org Git - pdns/commitdiff
rec: Don't stop the reactor in the regression tests
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 14 Dec 2017 12:48:28 +0000 (13:48 +0100)
committeraerique <aerique@xs4all.nl>
Wed, 17 Jan 2018 08:57:58 +0000 (09:57 +0100)
So, there is one and only one global reactor for every test suites,
ever, and you can't restart it if you stop it (see the awful
`ReactorNotRestartable` exception).
That doesn't prevent you from adding new ports to listen on to the
existing one, so let's just start if it isn't already running and
never stop it.

(cherry picked from commit fbfaa4a7ee59829cbf2d3765a3a967edb823bb39)

regression-tests.recursor-dnssec/test_ECS.py
regression-tests.recursor-dnssec/test_Interop.py
regression-tests.recursor-dnssec/test_LargeAnswer.py

index f4d351db650575d89e3f9d798c9e1f7dc4d48ff8..e3c9e0c616dcf462b94c3ce2038b6a648ba91684 100644 (file)
@@ -70,7 +70,7 @@ disable-syslog=yes
             ecsReactorRunning = True
 
         if not reactor.running:
-            cls._UDPResponder = threading.Thread(name='UDP ECS Responder', target=reactor.run, args=(False,))
+            cls._UDPResponder = threading.Thread(name='UDP Responder', target=reactor.run, args=(False,))
             cls._UDPResponder.setDaemon(True)
             cls._UDPResponder.start()
 
index 3462ee267dcc380b8f31051955fca2b500b2ac1f..9b670eac6705084ea340b90612cc9c76317f328e 100644 (file)
@@ -135,10 +135,6 @@ forward-zones+=undelegated.insecure.example=%s.12
             cls._UDPResponder.setDaemon(True)
             cls._UDPResponder.start()
 
-    @classmethod
-    def tearDownResponders(cls):
-        reactor.stop()
-
 class UDPResponder(DatagramProtocol):
     def datagramReceived(self, datagram, address):
         request = dns.message.from_wire(datagram)
index c8300dc28cbd431573031a9bf82d5e465d66cb4d..866564ff66f7cd415a19aced50fa2053dc15a14e 100644 (file)
@@ -37,28 +37,10 @@ udp-truncation-threshold=%d
             largeReactorRunning = True
 
         if not reactor.running:
-            cls._UDPResponder = threading.Thread(name='UDP Large Responder', target=reactor.run, args=(False,))
+            cls._UDPResponder = threading.Thread(name='UDP Responder', target=reactor.run, args=(False,))
             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 checkResponseContent(self, rawResponse, value):
        self.assertEquals(len(rawResponse), self._udpTruncationThreshold)
        response = dns.message.from_wire(rawResponse)