summaryrefslogtreecommitdiffstats
path: root/tests/run_tests.py
diff options
context:
space:
mode:
authorThomas Duval <thomas.duval@orange.com>2016-08-10 15:03:15 +0200
committerThomas Duval <thomas.duval@orange.com>2016-08-10 15:03:15 +0200
commit8224f757790854bdd79733f408e9a6224c7c295e (patch)
tree14d9c65eb74ea4bf1cddaac98fbf70e590221818 /tests/run_tests.py
parent66cd6319877f2f472778af536f8bc097c3dc39c2 (diff)
Add python test file for functest integration.
Change-Id: Ie7cec83b136470c31f19633e63520b9596c49027
Diffstat (limited to 'tests/run_tests.py')
-rw-r--r--tests/run_tests.py77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/run_tests.py b/tests/run_tests.py
new file mode 100644
index 00000000..4d7eacd8
--- /dev/null
+++ b/tests/run_tests.py
@@ -0,0 +1,77 @@
+#!/usr/bin/python
+
+# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
+# This software is distributed under the terms and conditions of the 'Apache-2.0'
+# license which can be found in the file 'LICENSE' in this package distribution
+# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
+
+
+import os
+import sys
+import time
+import functest.utils.functest_logger as ft_logger
+import functest.utils.functest_utils as functest_utils
+import yaml
+
+
+with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f:
+ functest_yaml = yaml.safe_load(f)
+
+dirs = functest_yaml.get('general').get('directories')
+FUNCTEST_REPO = dirs.get('dir_repo_functest')
+COPPER_REPO = dirs.get('dir_repo_moon')
+TEST_DB_URL = functest_yaml.get('results').get('test_db_url')
+
+logger = ft_logger.Logger("moon").getLogger()
+
+
+def main():
+ cmd = "moon test --self"
+
+ start_time = time.time()
+
+ ret_val = functest_utils.execute_command(cmd, logger, exit_on_error=False)
+
+ stop_time = time.time()
+ duration = round(stop_time - start_time, 1)
+ if ret_val == 0:
+ logger.info("MOON PASSED")
+ test_status = 'PASS'
+ else:
+ logger.info("MOON")
+ test_status = 'FAIL'
+
+ details = {
+ 'timestart': start_time,
+ '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)
+
+ logger.info("Pushing MOON 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': details['status'],
+ 'b': build_tag,
+ 'd': details,
+ })
+ functest_utils.push_results_to_db("MOON",
+ "MOON-notification",
+ logger,
+ start_time,
+ stop_time,
+ details['status'],
+ details)
+ if ret_val != 0:
+ sys.exit(-1)
+
+ sys.exit(0)
+
+if __name__ == '__main__':
+ main()