summaryrefslogtreecommitdiffstats
path: root/libs/utils/atfutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'libs/utils/atfutils.py')
-rw-r--r--libs/utils/atfutils.py42
1 files changed, 29 insertions, 13 deletions
diff --git a/libs/utils/atfutils.py b/libs/utils/atfutils.py
index b1f774e..d1c4e0a 100644
--- a/libs/utils/atfutils.py
+++ b/libs/utils/atfutils.py
@@ -16,7 +16,7 @@ def assert_success(exit_status):
"""
if exit_status is None:
return 1
-
+
if not exit_status:
return 0
else:
@@ -27,7 +27,7 @@ def assert_failure(exit_status):
"""
if exit_status is None:
return 1
-
+
if exit_status:
return 0
else:
@@ -38,25 +38,25 @@ def expect(actual_string, expected_string):
"""
escaped_pattern = re.escape(expected_string)
new_pattern = re.compile(escaped_pattern, re.IGNORECASE)
-
+
matched = False
if not expected_string:
matched = True
-
+
else:
if re.search(new_pattern, actual_string):
matched = True
return matched
-def validate_output(output, expected_exit_status, expected_output):
+def validate_output(output, expected_exit_status, expected_output, stream="stdout"):
"""
Parameters:
output: This is dictionary which is return value of
executecommand(ssh module)
-
+
expected_exit_status: exit_status we are expecting
-
+
expected_output : output expected from the execution of command
Returns:
@@ -66,18 +66,25 @@ def validate_output(output, expected_exit_status, expected_output):
False: if output doesn't match with expected_exit_status or
expected_output
"""
+ output_status = False
if expected_exit_status is not 0:
exit_status = assert_failure(output['exitstatus'])
else:
exit_status = assert_success(output['exitstatus'])
-
- output_status = expect(str(output['stdoutdata']),
- expected_output)
+
+ if stream is "stdout":
+ output_status = expect(str(output['stdoutdata']),
+ expected_output)
+
+ elif stream is "stderr":
+ output_status = expect(str(output['stderrdata']),
+ expected_output)
+
if output_status is True and (not exit_status):
return 0
else:
return 1
-
+
def print_stdout(stdoutdata):
"""
"""
@@ -103,10 +110,19 @@ def set_active_volume(volumekey):
'%s' Not defined in TestEnvironment" % volumekey )
return return_status
-
+def get_active_volume():
+ """
+ """
+ logger = GlobalObj.getLoggerObj()
+ env = GlobalObj.getTestenvObj()
+ active_volume = env.getActiveVolume()
+ if active_volume is None:
+ logger.error("Active Volume not set in the TestEnvironment")
+ return active_volume
__all__ = ['assert_success',
'assert_failure',
'print-stdout',
'print_stderr',
- 'set_active_volume']
+ 'set_active_volume',
+ 'get_active_volume']