import os
import subprocess
import sys
+import time
class TestCheckConfig(unittest.TestCase):
- @staticmethod
- def tryDNSDist(configTemplate, shouldBeSuccessful=True):
+ def tryDNSDist(self, configTemplate, shouldBeSuccessful=True, delay=1):
conffile = 'dnsdist_test.conf'
with open(conffile, 'w') as conf:
conf.write("-- Autogenerated by dnsdisttests.py\n")
with open(os.devnull, 'w') as fdDevNull:
dnsdist = subprocess.Popen(dnsdistcmd, close_fds=True, stdout=fdDevNull)
- if dnsdist.poll() is not None:
- if dnsdist.returncode != 0 and not shouldBeSuccessful:
- sys.exit(1)
- sys.exit(0)
+ if dnsdist.poll() is None:
+ time.sleep(delay)
+ self.assertNotEqual(dnsdist.poll(), None)
+
+ if shouldBeSuccessful:
+ self.assertEquals(dnsdist.returncode, 0)
+ else:
+ self.assertNotEqual(dnsdist.returncode, 0)
def testWorkingConfig(self):
"""
CheckConfig: Invalid parameter
"""
configTemplate = """
- newServer { address="127.0.0.355" }
+ addACL("127.0.0.355")
"""
self.tryDNSDist(configTemplate, False)