summaryrefslogtreecommitdiffstats
path: root/testcases/Controllers/ODL/OpenDaylightTesting.py
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2016-08-22 12:09:06 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-08-22 12:09:06 +0000
commit9d50c6cc6d8079db245816782f434139f4ba3f01 (patch)
treef6a84a7badf7f87760a8267b21d4be8b0d348b27 /testcases/Controllers/ODL/OpenDaylightTesting.py
parentc57935ad4099a7f24f14e6ebb26d4a87dadb08d9 (diff)
parent2a8caf0838fe1bbb8d6527a4ec388fa06e24494d (diff)
Merge changes from topics 'dont_open_twice', 'add_logs', 'manage_return_codes'
* changes: Avoid opening tmp files twice Add logs (info) Improve errors and status codes management
Diffstat (limited to 'testcases/Controllers/ODL/OpenDaylightTesting.py')
-rwxr-xr-xtestcases/Controllers/ODL/OpenDaylightTesting.py36
1 files changed, 21 insertions, 15 deletions
diff --git a/testcases/Controllers/ODL/OpenDaylightTesting.py b/testcases/Controllers/ODL/OpenDaylightTesting.py
index 74e3157dc..184cacf81 100755
--- a/testcases/Controllers/ODL/OpenDaylightTesting.py
+++ b/testcases/Controllers/ODL/OpenDaylightTesting.py
@@ -59,7 +59,8 @@ class ODLTestCases:
shutil.copy(f, cls.neutron_suite_dir)
except IOError as e:
cls.logger.error(
- "Cannot copy OPNFV's testcases to ODL directory", e)
+ "Cannot copy OPNFV's testcases to ODL directory: "
+ "%s" % e.strerror)
return False
return True
@@ -67,7 +68,6 @@ class ODLTestCases:
def set_robotframework_vars(cls, odlusername="admin", odlpassword="admin"):
odl_variables_files = cls.odl_test_repo + 'csit/variables/Variables.py'
try:
- cls.logger.debug(cls.neutron_suite_dir + '__init__.robot')
for line in fileinput.input(odl_variables_files,
inplace=True):
print re.sub("AUTH = .*",
@@ -76,7 +76,7 @@ class ODLTestCases:
line.rstrip())
return True
except Exception as e:
- cls.logger.error("Cannot set ODL creds", e)
+ cls.logger.error("Cannot set ODL creds: %s" % e.strerror)
return False
@classmethod
@@ -94,7 +94,8 @@ class ODLTestCases:
'PORT:' + kwargs['odlwebport'],
'RESTCONFPORT:' + kwargs['odlrestconfport']]
except KeyError as e:
- cls.logger.error("Cannot run ODL testcases. Please check", e)
+ cls.logger.error("Cannot run ODL testcases. Please check "
+ "%s" % e.strerror)
return False
if (cls.copy_opnf_testcases() and
cls.set_robotframework_vars(odlusername, odlpassword)):
@@ -103,17 +104,20 @@ class ODLTestCases:
except OSError:
pass
stdout_file = cls.res_dir + 'stdout.txt'
- with open(stdout_file, 'w') as stdout:
- result = run(*dirs, variable=variables,
- output=cls.res_dir + 'output.xml',
- log=cls.res_dir + 'log.html',
- report=cls.res_dir + 'report.html',
- stdout=stdout)
-
- with open(stdout_file, 'r') as stdout:
+ with open(stdout_file, 'w+') as stdout:
+ run(*dirs, variable=variables,
+ output=cls.res_dir + 'output.xml',
+ log='NONE',
+ report='NONE',
+ stdout=stdout)
+ stdout.seek(0, 0)
cls.logger.info("\n" + stdout.read())
-
- return result
+ cls.logger.info("ODL results was sucessfully generated")
+ try:
+ os.remove(stdout_file)
+ except OSError:
+ pass
+ return True
else:
return False
@@ -134,6 +138,7 @@ class ODLTestCases:
cls.logger.error("Cannot push ODL results to DB")
return False
else:
+ cls.logger.info("ODL results was sucessfully pushed to DB")
return True
except RobotError as e:
cls.logger.error("Run tests before publishing: %s" % e.message)
@@ -176,7 +181,8 @@ if __name__ == '__main__':
action='store_true')
args = vars(parser.parse_args())
- ODLTestCases.run(**args)
+ if not ODLTestCases.run(**args):
+ sys.exit(os.EX_SOFTWARE)
if args['pushtodb']:
sys.exit(not ODLTestCases.push_to_db())
sys.exit(os.EX_OK)