Merge "blacklist.txt file format corrected"
[functest.git] / testcases / features / copper.py
index 7ab4e78..78c0fb4 100755 (executable)
 #\r
 \r
 import os\r
+import sys\r
 import time\r
-import yaml\r
-\r
 import functest.utils.functest_logger as ft_logger\r
 import functest.utils.functest_utils as functest_utils\r
+import yaml\r
+\r
 \r
 with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f:\r
     functest_yaml = yaml.safe_load(f)\r
@@ -38,11 +39,11 @@ def main():
 \r
     start_time = time.time()\r
 \r
-    ret = functest_utils.execute_command(cmd, logger, exit_on_error=False)\r
+    ret_val = functest_utils.execute_command(cmd, logger, exit_on_error=False)\r
 \r
     stop_time = time.time()\r
     duration = round(stop_time - start_time, 1)\r
-    if ret == 0:\r
+    if ret_val == 0:\r
         logger.info("COPPER PASSED")\r
         test_status = 'PASS'\r
     else:\r
@@ -59,23 +60,33 @@ def main():
     version = functest_utils.get_version(logger)\r
     build_tag = functest_utils.get_build_tag(logger)\r
 \r
-    logger.info("Pushing COPPER results: TEST_DB_URL=%(db)s pod_name=%(pod)s "\r
-                "version=%(v)s scenario=%(s)s criteria=%(c)s details=%(d)s" % {\r
-                    'db': TEST_DB_URL,\r
-                    'pod': pod_name,\r
-                    'v': version,\r
-                    's': scenario,\r
-                    'c': details['status'],\r
-                    'b': build_tag,\r
-                    'd': details,\r
-                })\r
-    functest_utils.push_results_to_db("COPPER",\r
-                                      "COPPER-notification",\r
-                                      logger,\r
-                                      start_time,\r
-                                      stop_time,\r
-                                      details['status'],\r
-                                      details)\r
+    try:\r
+        logger.info("Pushing COPPER results: TEST_DB_URL=%(db)s "\r
+                    "pod_name=%(pod)s version=%(v)s scenario=%(s)s "\r
+                    "criteria=%(c)s details=%(d)s" % {\r
+                        'db': TEST_DB_URL,\r
+                        'pod': pod_name,\r
+                        'v': version,\r
+                        's': scenario,\r
+                        'c': details['status'],\r
+                        'b': build_tag,\r
+                        'd': details,\r
+                    })\r
+        functest_utils.push_results_to_db("copper",\r
+                                          "copper-notification",\r
+                                          logger,\r
+                                          start_time,\r
+                                          stop_time,\r
+                                          details['status'],\r
+                                          details)\r
+    except:\r
+        logger.error("Error pushing results into Database '%s'"\r
+                     % sys.exc_info()[0])\r
+\r
+    if ret_val != 0:\r
+        sys.exit(-1)\r
+\r
+    sys.exit(0)\r
 \r
 if __name__ == '__main__':\r
     main()\r