|
@@ -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')
|