2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 14:05:33 +00:00

[1853] Fix module_is_running() to check for component exactly

This commit is contained in:
Mukund Sivaraman
2012-04-04 14:50:10 +05:30
parent 92c00e5601
commit cf96b2ad15

View File

@@ -148,8 +148,8 @@ def run_bindctl(commands, cmdctl_port=None):
"stderr:\n" + str(stderr)
@step('last bindctl( stderr)? output should( not)? contain (\S+)')
def check_bindctl_output(step, stderr, notv, string):
@step('last bindctl( stderr)? output should( not)? contain (\S+)( exactly)?')
def check_bindctl_output(step, stderr, notv, string, exactly):
"""Checks the stdout (or stderr) stream of the last run of bindctl,
fails if the given string is not found in it (or fails if 'not' was
set and it is found
@@ -157,14 +157,19 @@ def check_bindctl_output(step, stderr, notv, string):
stderr ('stderr'): Check stderr instead of stdout output
notv ('not'): reverse the check (fail if string is found)
string ('contain <string>') string to look for
exactly ('exactly'): Make an exact match delimited by whitespace
"""
if stderr is None:
output = world.last_bindctl_stdout
else:
output = world.last_bindctl_stderr
found = False
if string in output:
found = True
if exactly is None:
if string in output:
found = True
else:
if re.search(r'^\s+' + string + r'\s+', output, re.IGNORECASE | re.MULTILINE) is not None:
found = True
if notv is None:
assert found == True, "'" + string +\
"' was not found in bindctl output:\n" +\
@@ -328,4 +333,4 @@ def module_is_running(step, name, not_str):
if not_str is None:
not_str = ""
step.given('send bind10 the command help')
step.given('last bindctl output should' + not_str + ' contain ' + name)
step.given('last bindctl output should' + not_str + ' contain ' + name + ' exactly')