Print all the Parser test output to a log file
[functest.git] / testcases / features / domino.py
index e4229b4..cc98f54 100755 (executable)
 # Later, the VM2 boots then execute cloud-init to ping VM1.
 # After successful ping, both the VMs are deleted.
 # 0.2: measure test duration and publish results under json format
-#
+# 0.3: add report flag to push results when needed
 #
 
-import os
 import time
-import yaml
 
+import argparse
 import functest.utils.functest_logger as ft_logger
 import functest.utils.functest_utils as functest_utils
 
-with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f:
-    functest_yaml = yaml.safe_load(f)
+parser = argparse.ArgumentParser()
+
+parser.add_argument("-r", "--report",
+                    help="Create json result file",
+                    action="store_true")
+args = parser.parse_args()
+
+functest_yaml = functest_utils.get_functest_yaml()
 
 dirs = functest_yaml.get('general').get('directories')
-FUNCTEST_REPO = dirs.get('dir_repo_functest')
 DOMINO_REPO = dirs.get('dir_repo_domino')
-TEST_DB_URL = functest_yaml.get('results').get('test_db_url')
 
 logger = ft_logger.Logger("domino").getLogger()
 
@@ -55,10 +58,6 @@ def main():
         'duration': duration,
         'status': test_status,
     }
-    pod_name = functest_utils.get_pod_name(logger)
-    scenario = functest_utils.get_scenario(logger)
-    version = functest_utils.get_version(logger)
-    build_tag = functest_utils.get_build_tag(logger)
 
     status = "FAIL"
     if details['status'] == "OK":
@@ -66,25 +65,20 @@ def main():
     elif details['status'] == "SKIPPED":
         status = "SKIP"
 
-    logger.info("Pushing Domino results: TEST_DB_URL=%(db)s pod_name=%(pod)s "
-                "version=%(v)s scenario=%(s)s criteria=%(c)s details=%(d)s" % {
-                    'db': TEST_DB_URL,
-                    'pod': pod_name,
-                    'v': version,
-                    's': scenario,
-                    'c': status,
-                    'b': build_tag,
-                    'd': details,
-                })
-
-    if status is not "SKIP":
-        functest_utils.push_results_to_db("domino",
-                                          "domino-multinode",
-                                          logger,
-                                          start_time,
-                                          stop_time,
-                                          status,
-                                          details)
+    functest_utils.logger_test_results(logger, "Domino",
+                                       "domino-multinode",
+                                       status, details)
+    if args.report:
+        if status is not "SKIP":
+            functest_utils.push_results_to_db("domino",
+                                              "domino-multinode",
+                                              logger,
+                                              start_time,
+                                              stop_time,
+                                              status,
+                                              details)
+            logger.info("Domino results pushed to DB")
+
 
 if __name__ == '__main__':
     main()