Improve errors and status codes management
authorCédric Ollivier <cedric.ollivier@orange.com>
Mon, 22 Aug 2016 09:48:44 +0000 (11:48 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Mon, 22 Aug 2016 10:05:00 +0000 (12:05 +0200)
Run returns the number of errors which is irrelevant to catch as
they are published to DB. Useless generated files are desactivated too.

Change-Id: I2baf6d5242c5f4095302a47ff90272fb95103457
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
testcases/Controllers/ODL/OpenDaylightTesting.py

index 74e3157..c9c658e 100755 (executable)
@@ -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
 
@@ -94,7 +95,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)):
@@ -104,16 +106,14 @@ class ODLTestCases:
                 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)
-
+                run(*dirs, variable=variables,
+                    output=cls.res_dir + 'output.xml',
+                    log='NONE',
+                    report='NONE',
+                    stdout=stdout)
             with open(stdout_file, 'r') as stdout:
                 cls.logger.info("\n" + stdout.read())
-
-            return result
+            return True
         else:
             return False
 
@@ -176,7 +176,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)