import argparse
import importlib
+import logging
import os
import sys
import time
+import traceback
import yaml
-import functest.utils.functest_logger as ft_logger
import functest.utils.functest_utils as ft_utils
from sdnvpn.lib import config as sdnvpn_config
+from sdnvpn.lib.gather_logs import gather_logs
-
-parser = argparse.ArgumentParser()
-parser.add_argument("-r", "--report",
- help="Create json result file",
- action="store_true")
-args = parser.parse_args()
-
-logger = ft_logger.Logger("sdnvpn-run-tests").getLogger()
+logger = logging.getLogger('sdnvpn-run-tests')
COMMON_CONFIG = sdnvpn_config.CommonConfig()
TEST_DB_URL = COMMON_CONFIG.test_db
details)
-def main():
+def main(report=False):
# Workaround for https://jira.opnfv.org/projects/SDNVPN/issues/SDNVPN-100
# and SDNVPN-126
cmd_line = "neutron quota-update --subnet -1 --network -1 --port -1"
logger.info("%s\n" % ("=" * len(title)))
t = importlib.import_module(testcase, package=None)
start_time = time.time()
- result = t.main()
+ try:
+ result = t.main()
+ except Exception as ex:
+ result = -1
+ logger.info("Caught Exception in %s: %s Trace: %s" %
+ (test_name, ex, traceback.format_exc()))
end_time = time.time()
if result < 0:
status = "FAIL"
overall_status = "FAIL"
+ logger.info("Testcase %s failed" % test_name)
else:
status = result.get("status")
details = result.get("details")
if status == "FAIL":
overall_status = "FAIL"
- if args.report:
+ if report:
push_results(
test_name_db, start_time, end_time, status, details)
+ try:
+ gather_logs('overall')
+ except Exception as ex:
+ logger.error(('Something went wrong in the Log gathering.'
+ 'Ex: %s, Trace: %s')
+ % ex, traceback.format_exc())
if overall_status == "FAIL":
sys.exit(-1)
if __name__ == '__main__':
- main()
+ logging.basicConfig(level=logging.INFO)
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-r", "--report",
+ help="Create json result file",
+ action="store_true")
+ args = parser.parse_args()
+ main(report=args.report)