From: Remi Gacogne Date: Wed, 29 Jun 2022 16:32:45 +0000 (+0200) Subject: dnsdist: Close file descriptors in regression tests X-Git-Tag: rec-4.9.0-alpha0~12^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75b536de5f427d33116e7af9f17393cea9735074;p=thirdparty%2Fpdns.git dnsdist: Close file descriptors in regression tests --- diff --git a/regression-tests.dnsdist/dnsdisttests.py b/regression-tests.dnsdist/dnsdisttests.py index 5da02e030b..4fd5694bcb 100644 --- a/regression-tests.dnsdist/dnsdisttests.py +++ b/regression-tests.dnsdist/dnsdisttests.py @@ -150,6 +150,7 @@ class DNSDistTest(AssertEqualDNSMessageMixin, unittest.TestCase): @classmethod def tearDownClass(cls): + cls._sock.close() if 'DNSDIST_FAST_TESTS' in os.environ: delay = 0.1 else: @@ -712,6 +713,7 @@ class DNSDistTest(AssertEqualDNSMessageMixin, unittest.TestCase): (responseLen,) = struct.unpack("!I", data) data = sock.recv(responseLen) response = cls._decryptConsole(data, readingNonce) + sock.close() return response def compareOptions(self, a, b): diff --git a/regression-tests.dnsdist/test_TLS.py b/regression-tests.dnsdist/test_TLS.py index 896a577f6d..61624a5097 100644 --- a/regression-tests.dnsdist/test_TLS.py +++ b/regression-tests.dnsdist/test_TLS.py @@ -12,7 +12,9 @@ class TLSTests(object): def getServerCertificate(self): conn = self.openTLSConnection(self._tlsServerPort, self._serverName, self._caCert) - return conn.getpeercert() + cert = conn.getpeercert() + conn.close() + return cert def getTLSProvider(self): return self.sendConsoleCommand("getBind(0):getEffectiveTLSProvider()").rstrip() @@ -59,6 +61,7 @@ class TLSTests(object): self.generateNewCertificateAndKey() self.sendConsoleCommand("reloadAllCertificates()") + conn.close() # open a new connection conn = self.openTLSConnection(self._tlsServerPort, self._serverName, self._caCert) @@ -86,6 +89,7 @@ class TLSTests(object): # and that the serial is different self.assertNotEqual(serialNumber, cert['serialNumber']) + conn.close() def testTLKA(self): """ @@ -112,6 +116,8 @@ class TLSTests(object): self.assertEqual(query, receivedQuery) self.assertEqual(response, receivedResponse) + conn.close() + def testTLSPipelining(self): """ TLS: Several queries over the same connection without waiting for the responses @@ -139,6 +145,8 @@ class TLSTests(object): self.assertEqual(query, receivedQuery) self.assertEqual(response, receivedResponse) + conn.close() + def testTLSSNIRouting(self): """ TLS: SNI Routing @@ -169,6 +177,7 @@ class TLSTests(object): self.assertTrue(receivedResponse) self.assertEqual(expectedResponse, receivedResponse) + conn.close() # this one should not conn = self.openTLSConnection(self._tlsServerPort, self._serverName, self._caCert) @@ -179,6 +188,7 @@ class TLSTests(object): receivedQuery.id = query.id self.assertEqual(query, receivedQuery) self.assertEqual(response, receivedResponse) + conn.close() def testTLSSNIRoutingAfterResumption(self): # we have more complicated tests about session resumption itself, @@ -352,12 +362,14 @@ class TestDOTWithCache(DNSDistTest): self.assertEqual(expectedQuery, receivedQuery) self.checkQueryNoEDNS(expectedQuery, receivedQuery) self.assertEqual(response, receivedResponse) + conn.close() for _ in range(numberOfQueries): conn = self.openTLSConnection(self._tlsServerPort, self._serverName, self._caCert) self.sendTCPQueryOverConnection(conn, query, response=None) receivedResponse = self.recvTCPResponseOverConnection(conn, useQueue=False) self.assertEqual(receivedResponse, response) + conn.close() class TestTLSFrontendLimits(DNSDistTest): @@ -461,6 +473,7 @@ class TestProtocols(DNSDistTest): receivedQuery.id = query.id self.assertEqual(query, receivedQuery) self.assertEqual(response, receivedResponse) + conn.close() class TestPKCSTLSCertificate(DNSDistTest, TLSTests): _consoleKey = DNSDistTest.generateConsoleKey()