From b38aaeb5dbf825ecb42cb8f1d4de309e2ee6d042 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Mon, 21 Nov 2022 09:05:08 +0100 Subject: [PATCH] Some tests need a bit of extra delay. --- regression-tests.dnsdist/dnsdisttests.py | 2 ++ regression-tests.dnsdist/test_Caching.py | 1 + regression-tests.dnsdist/test_Carbon.py | 14 +++----------- regression-tests.dnsdist/test_HealthChecks.py | 1 + regression-tests.dnsdist/test_Responses.py | 1 + regression-tests.dnsdist/test_SNMP.py | 5 ++--- regression-tests.dnsdist/test_TLS.py | 11 +---------- 7 files changed, 11 insertions(+), 24 deletions(-) diff --git a/regression-tests.dnsdist/dnsdisttests.py b/regression-tests.dnsdist/dnsdisttests.py index 6e540b125e..a11f6d1369 100644 --- a/regression-tests.dnsdist/dnsdisttests.py +++ b/regression-tests.dnsdist/dnsdisttests.py @@ -72,6 +72,7 @@ class DNSDistTest(AssertEqualDNSMessageMixin, unittest.TestCase): _backgroundThreads = {} _UDPResponder = None _TCPResponder = None + _extraStartupSleep = 0 @classmethod def waitForTCPSocket(cls, ipaddress, port): @@ -148,6 +149,7 @@ class DNSDistTest(AssertEqualDNSMessageMixin, unittest.TestCase): print(fdLog.read()) print(f"*** End startDNSDist log for {logFile} ***") raise AssertionError('%s failed (%d)' % (dnsdistcmd, cls._dnsdist.returncode)) + time.sleep(cls._extraStartupSleep) @classmethod def setUpSockets(cls): diff --git a/regression-tests.dnsdist/test_Caching.py b/regression-tests.dnsdist/test_Caching.py index 587b0f0b3d..dafa0c89ab 100644 --- a/regression-tests.dnsdist/test_Caching.py +++ b/regression-tests.dnsdist/test_Caching.py @@ -849,6 +849,7 @@ class TestCachingHashingCookies(DNSDistTest): class TestTempFailureCacheTTLAction(DNSDistTest): + _extraStartupSleep = 1 _config_template = """ pc = newPacketCache(100, {maxTTL=86400, minTTL=1}) getPool(""):setCache(pc) diff --git a/regression-tests.dnsdist/test_Carbon.py b/regression-tests.dnsdist/test_Carbon.py index 85ce6361ce..cd8535114d 100644 --- a/regression-tests.dnsdist/test_Carbon.py +++ b/regression-tests.dnsdist/test_Carbon.py @@ -7,6 +7,7 @@ from dnsdisttests import DNSDistTest, Queue class TestCarbon(DNSDistTest): + _extraStartupSleep = 2 _carbonServer1Port = 8000 _carbonServer1Name = "carbonname1" _carbonServer2Port = 8001 @@ -71,17 +72,6 @@ class TestCarbon(DNSDistTest): cls._CarbonResponder2.setDaemon(True) cls._CarbonResponder2.start() - @classmethod - def setUpClass(cls): - - cls.startResponders() - cls.startDNSDist() - cls.setUpSockets() - time.sleep(1) - - print("Launching tests..") - - def testCarbon(self): """ Carbon: send data to 2 carbon servers @@ -102,6 +92,7 @@ class TestCarbon(DNSDistTest): self.assertTrue(len(data1.splitlines()) > 1) expectedStart = b"dnsdist.%s.main." % self._carbonServer1Name.encode('UTF-8') for line in data1.splitlines(): + print(line, file=sys.stderr) self.assertTrue(line.startswith(expectedStart)) parts = line.split(b' ') self.assertEqual(len(parts), 3) @@ -113,6 +104,7 @@ class TestCarbon(DNSDistTest): self.assertTrue(len(data2.splitlines()) > 1) expectedStart = b"dnsdist.%s.main." % self._carbonServer2Name.encode('UTF-8') for line in data2.splitlines(): + print(line, file=sys.stderr) self.assertTrue(line.startswith(expectedStart)) parts = line.split(b' ') self.assertEqual(len(parts), 3) diff --git a/regression-tests.dnsdist/test_HealthChecks.py b/regression-tests.dnsdist/test_HealthChecks.py index a42cb5ff0b..f5554abfdd 100644 --- a/regression-tests.dnsdist/test_HealthChecks.py +++ b/regression-tests.dnsdist/test_HealthChecks.py @@ -183,6 +183,7 @@ _dotHealthCheckQueries = 0 _dohHealthCheckQueries = 0 class TestLazyHealthChecks(HealthCheckTest): + _extraStartupSleep = 1 _do53Port = 10700 _dotPort = 10701 _dohPort = 10702 diff --git a/regression-tests.dnsdist/test_Responses.py b/regression-tests.dnsdist/test_Responses.py index 1fd2f4f054..243ae6f50d 100644 --- a/regression-tests.dnsdist/test_Responses.py +++ b/regression-tests.dnsdist/test_Responses.py @@ -55,6 +55,7 @@ class TestResponseRuleNXDelayed(DNSDistTest): class TestResponseRuleERCode(DNSDistTest): + _extraStartupSleep = 1 _config_template = """ newServer{address="127.0.0.1:%s"} addResponseAction(ERCodeRule(DNSRCode.BADVERS), DelayResponseAction(1000)) diff --git a/regression-tests.dnsdist/test_SNMP.py b/regression-tests.dnsdist/test_SNMP.py index 5d6db34cbd..3d806ed831 100644 --- a/regression-tests.dnsdist/test_SNMP.py +++ b/regression-tests.dnsdist/test_SNMP.py @@ -6,7 +6,8 @@ from pysnmp.hlapi import * from dnsdisttests import DNSDistTest class TestSNMP(DNSDistTest): - + # wait 1s so that the uptime is > 0 + _extraStartupSleep = 1 _snmpTimeout = 2.0 _snmpServer = '127.0.0.1' _snmpPort = 161 @@ -98,8 +99,6 @@ class TestSNMP(DNSDistTest): return results def _checkStats(self, auth, name): - # wait 1s so that the uptime is > 0 - time.sleep(1) results = self._getSNMPStats(auth) self._checkStatsValues(results, self.__class__._queriesSent) diff --git a/regression-tests.dnsdist/test_TLS.py b/regression-tests.dnsdist/test_TLS.py index 73ea381587..ff2ef630cc 100644 --- a/regression-tests.dnsdist/test_TLS.py +++ b/regression-tests.dnsdist/test_TLS.py @@ -10,16 +10,6 @@ from dnsdisttests import DNSDistTest class TLSTests(object): - @classmethod - def setUpClass(cls): - - cls.startResponders() - cls.startDNSDist() - cls.setUpSockets() - time.sleep(1) - - print("Launching tests..") - def getServerCertificate(self): conn = self.openTLSConnection(self._tlsServerPort, self._serverName, self._caCert) cert = conn.getpeercert() @@ -275,6 +265,7 @@ class TLSTests(object): class TestOpenSSL(DNSDistTest, TLSTests): + _extraStartupSleep = 1 _consoleKey = DNSDistTest.generateConsoleKey() _consoleKeyB64 = base64.b64encode(_consoleKey).decode('ascii') _serverKey = 'server.key' -- 2.47.2