]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Add env toggles to disable some regression tests
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 5 Nov 2019 10:52:57 +0000 (11:52 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 12 Nov 2019 09:35:29 +0000 (10:35 +0100)
regression-tests.dnsdist/test_Basics.py
regression-tests.dnsdist/test_CDB.py
regression-tests.dnsdist/test_DOH.py
regression-tests.dnsdist/test_LMDB.py
regression-tests.dnsdist/test_OCSP.py
regression-tests.dnsdist/test_Prometheus.py
regression-tests.dnsdist/test_TLSSessionResumption.py
regression-tests.dnsdist/test_Tags.py

index 5dfda57d21467c8a49411f3564aeb5cc23c87b37..24cbc549f0b01fb77f9a7ccca0c86be82be83a91 100644 (file)
@@ -1,5 +1,4 @@
 #!/usr/bin/env python
-import unittest
 import dns
 import clientsubnetoption
 from dnsdisttests import DNSDistTest
index dcc74e9cd350e6c84bff258ae551db27741d3b30..c9b4dbe90ee3f5170624637e7af782589797f32a 100644 (file)
@@ -1,11 +1,13 @@
 #!/usr/bin/env python
 import unittest
 import dns
+import os
 import shutil
 import socket
 import time
 from dnsdisttests import DNSDistTest
 
+@unittest.skipIf('SKIP_CDB_TESTS' in os.environ, 'CDB tests are disabled')
 class CDBTest(DNSDistTest):
 
     _cdbFileName = '/tmp/test-cdb-db'
index f23a25a37e68bba417d840cb5ef85ce8ed3edc09..5f209f5d3d75e17ea5294ea9311b7ecb2d7169dc 100644 (file)
@@ -1,6 +1,8 @@
 #!/usr/bin/env python
 import base64
 import dns
+import os
+import unittest
 import clientsubnetoption
 from dnsdisttests import DNSDistTest
 
@@ -9,6 +11,7 @@ from io import BytesIO
 #from hyper import HTTP20Connection
 #from hyper.ssl_compat import SSLContext, PROTOCOL_TLSv1_2
 
+@unittest.skipIf('SKIP_DOH_TESTS' in os.environ, 'DNS over HTTPS tests are disabled')
 class DNSDistDOHTest(DNSDistTest):
 
     @classmethod
@@ -107,6 +110,19 @@ class DNSDistDOHTest(DNSDistTest):
         cls._response_headers = response_headers.getvalue()
         return (receivedQuery, message)
 
+    @classmethod
+    def setUpClass(cls):
+
+        # for some reason, @unittest.skipIf() is not applied to derived classes with some versions of Python
+        if 'SKIP_DOH_TESTS' in os.environ:
+            raise unittest.SkipTest('DNS over HTTPS tests are disabled')
+
+        cls.startResponders()
+        cls.startDNSDist()
+        cls.setUpSockets()
+
+        print("Launching tests..")
+
 #     @classmethod
 #     def openDOHConnection(cls, port, caFile, timeout=2.0):
 #         sslctx = SSLContext(PROTOCOL_TLSv1_2)
index 7529ddd45666306a7513e77d58073ea3ca235b4a..3056d167b4e7f0822cfaabf350dfef5c40e5ce2f 100644 (file)
@@ -2,9 +2,11 @@
 import unittest
 import dns
 import lmdb
+import os
 import socket
 from dnsdisttests import DNSDistTest
 
+@unittest.skipIf('SKIP_LMDB_TESTS' in os.environ, 'LMDB tests are disabled')
 class TestLMDB(DNSDistTest):
 
     _lmdbFileName = '/tmp/test-lmdb-db'
index d3a4ed3a8461d9d5d58cd587ff45e04a0c288533..5e2d5485bb64704c6206c44afecf57c0cccebf20 100644 (file)
@@ -1,6 +1,8 @@
 #!/usr/bin/env python
 import dns
+import os
 import subprocess
+import unittest
 from dnsdisttests import DNSDistTest
 
 class DNSDistOCSPStaplingTest(DNSDistTest):
@@ -17,6 +19,7 @@ class DNSDistOCSPStaplingTest(DNSDistTest):
 
         return output[0].decode()
 
+@unittest.skipIf('SKIP_DOH_TESTS' in os.environ, 'DNS over HTTPS tests are disabled')
 class TestOCSPStaplingDOH(DNSDistOCSPStaplingTest):
 
     _serverKey = 'server.key'
@@ -35,6 +38,19 @@ class TestOCSPStaplingDOH(DNSDistOCSPStaplingTest):
     """
     _config_params = ['_testServerPort', '_serverCert', '_caCert', '_caKey', '_ocspFile', '_dohServerPort', '_serverCert', '_serverKey', '_ocspFile']
 
+    @classmethod
+    def setUpClass(cls):
+
+        # for some reason, @unittest.skipIf() is not applied to derived classes with some versions of Python
+        if 'SKIP_DOH_TESTS' in os.environ:
+            raise unittest.SkipTest('DNS over HTTPS tests are disabled')
+
+        cls.startResponders()
+        cls.startDNSDist()
+        cls.setUpSockets()
+
+        print("Launching tests..")
+
     def testOCSPStapling(self):
         """
         OCSP Stapling: DOH
index 02b015996cd5a607ba408a843d9c567b178403ca..621c62020a16c3fe87d1ebe04533d67b556d7374 100644 (file)
@@ -1,8 +1,11 @@
 #!/usr/bin/env python
+import os
 import requests
 import subprocess
+import unittest
 from dnsdisttests import DNSDistTest
 
+@unittest.skipIf('SKIP_PROMETHEUS_TESTS' in os.environ, 'Prometheus tests are disabled')
 class TestPrometheus(DNSDistTest):
 
     _webTimeout = 2.0
index b6c40790b3a8983493af482b1862b98c9a83037d..190a32af6dd23d61ae4e5ca88b9d5caf49dde350 100644 (file)
@@ -6,6 +6,7 @@ import shutil
 import subprocess
 import tempfile
 import time
+import unittest
 from dnsdisttests import DNSDistTest
 try:
   range = xrange
@@ -57,6 +58,7 @@ class DNSDistTLSSessionResumptionTest(DNSDistTest):
         with open(outputFile, 'wb') as fp:
             fp.write(os.urandom(numberOfTickets * 80))
 
+@unittest.skipIf('SKIP_DOH_TESTS' in os.environ, 'DNS over HTTPS tests are disabled')
 class TestNoTLSSessionResumptionDOH(DNSDistTLSSessionResumptionTest):
 
     _serverKey = 'server.key'
@@ -79,6 +81,7 @@ class TestNoTLSSessionResumptionDOH(DNSDistTLSSessionResumptionTest):
         self.assertFalse(self.checkSessionResumed('127.0.0.1', self._dohServerPort, self._serverName, self._caCert, '/tmp/no-session.out.doh', None, allowNoTicket=True))
         self.assertFalse(self.checkSessionResumed('127.0.0.1', self._dohServerPort, self._serverName, self._caCert, '/tmp/no-session.out.doh', '/tmp/no-session.out.doh', allowNoTicket=True))
 
+@unittest.skipIf('SKIP_DOH_TESTS' in os.environ, 'DNS over HTTPS tests are disabled')
 class TestTLSSessionResumptionDOH(DNSDistTLSSessionResumptionTest):
 
     _serverKey = 'server.key'
index 736c87bf950006f0200a5ebcb1888a11cd60bee9..9a50c2b299d7989c0ab396f9fd60bf4c5d6fcdd3 100644 (file)
@@ -1,5 +1,4 @@
 #!/usr/bin/env python
-import unittest
 import dns
 import clientsubnetoption
 from dnsdisttests import DNSDistTest