summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/test-tools/component-test/start.py
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/test-tools/component-test/start.py')
-rwxr-xr-xfluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/test-tools/component-test/start.py152
1 files changed, 152 insertions, 0 deletions
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/test-tools/component-test/start.py b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/test-tools/component-test/start.py
new file mode 100755
index 000000000..2cbc4fe63
--- /dev/null
+++ b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/test-tools/component-test/start.py
@@ -0,0 +1,152 @@
+#
+# Copyright (C) 2019 Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+#
+
+#!/usr/bin/env python
+
+# -*- coding: utf-8 -*-
+"""
+It is the entrance of the iagent test framework.
+
+"""
+from __future__ import print_function
+
+import argparse
+import datetime
+import os
+import pprint
+import random
+import re
+import shlex
+import subprocess
+import signal
+import sys
+import time
+
+sys.path.append('../../../app-sdk/python')
+from framework.test_utils import *
+from framework.framework import *
+
+
+def signal_handler(signal, frame):
+ print('Pressed Ctrl+C!')
+ sys.exit(0)
+
+def Register_signal_handler():
+ signal.signal(signal.SIGINT, signal_handler)
+# signal.pause()
+
+
+def flatten_args_list(l):
+ if l is None:
+ return None
+
+ return [x for y in l for x in y]
+
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description = "to run specific case(s) "\
+ "in specific suite(s) with FC test framework")
+ parser.add_argument('-s', dest = 'suite_id', action = 'append',
+ nargs = '+',
+ help = 'one or multiple suite ids, which are also setup ids.'\
+ 'by default if it isn\'t passed from argument, all '\
+ 'suites are going to be run.')
+ parser.add_argument('-t', dest = 'case_id', action = 'append',
+ nargs = '+',
+ help = 'one or multiple cases ids.'\
+ 'by default if it isn\'t passed from argument, all '\
+ 'cases in specific suites are going to be run.')
+ parser.add_argument('-n', dest = 'repeat_time', action = 'store',
+ default = 1,
+ help = 'how many times do you want to run. there is 40s '\
+ 'break time between two rounds. each round includs '\
+ 'init_setup, run_test_case and deinit_setup.')
+ parser.add_argument('--shuffle_all', dest = 'shuffle_all',
+ default = False, action = 'store_true',
+ help = 'shuffle_all test cases in per test suite '\
+ 'by default, all cases under per suite should '\
+ 'be executed by input order.')
+ parser.add_argument('--cases_list', dest='cases_list_file_path',
+ default=None,
+ action='store',
+ help="read cases list from a flie ")
+ parser.add_argument('--skip_proc', dest='skip_proc',
+ default = False, action = 'store_true',
+ help='do not start the test process.'\
+ 'sometimes the gw_broker process will be started in eclipse for debug purpose')
+ parser.add_argument('-b', dest = 'binaries', action = 'store',
+ help = 'The path of target folder ')
+ parser.add_argument('-d', dest = 'debug', action = 'store_true',
+ help = 'wait user to attach the target process after launch processes ')
+ parser.add_argument('--rebuild', dest = 'rebuild', action = 'store_true',
+ help = 'rebuild all test binaries')
+ args = parser.parse_args()
+
+ print("------------------------------------------------------------")
+ print("parsing arguments ... ...")
+ print(args)
+
+ '''
+ logger = logging.getLogger('coapthon.server.coap')
+ logger.setLevel(logging.DEBUG)
+ console = logging.StreamHandler()
+ console.setLevel(logging.DEBUG)
+ logger.addHandler(console)
+ '''
+ print("------------------------------------------------------------")
+ print("preparing wamr binary and test tools ... ...")
+ os.system("cd ../../samples/simple/ && bash build.sh -p host-interp")
+
+ Register_signal_handler()
+
+ api_init_globals();
+
+ api_create_case_event();
+
+ suites_list = flatten_args_list(args.suite_id)
+ cases_list = flatten_args_list(args.case_id)
+
+ dirname, filename = os.path.split(os.path.abspath(sys.argv[0]))
+ api_set_root_path(dirname);
+
+ framework = CTestFramework(dirname);
+ framework.repeat_time = int(args.repeat_time)
+ framework.shuffle_all = args.shuffle_all
+ framework.skip_proc=args.skip_proc
+
+ api_set_value('keep_env', args.skip_proc)
+ api_set_value('debug', args.debug)
+ api_set_value('rebuild', args.rebuild)
+
+ binary_path = args.binaries
+ if binary_path is None:
+ binary_path = os.path.abspath(dirname + '/../..')
+
+ print("checking execution binary path: " + binary_path)
+ if not os.path.exists(binary_path):
+ print("The execution binary path was not available. quit...")
+ os._exit(0)
+ api_set_value('binary_path', binary_path)
+
+ if suites_list is not None:
+ framework.target_suites = suites_list
+ else:
+ framework.load_suites()
+
+ framework.target_cases = cases_list
+ framework.start_run()
+
+ print("\n\n------------------------------------------------------------")
+ print("The run folder is [" + framework.running_folder +"]")
+ print("that's all. bye")
+
+ print("kill to quit..")
+ t_kill_process_by_name("start.py")
+
+ sys.exit(0)
+ os._exit()
+
+