From 441a4a29f8841dac6596ef7b278e52e29b14dcd9 Mon Sep 17 00:00:00 2001 From: linux_geek Date: Fri, 30 Sep 2016 23:36:12 +0500 Subject: Running a single benchmark as an option for user. JIRA: QTIP-104 Change-Id: I4413d1e2670192b86af0aad62fb2752d2709fa14 Signed-off-by: Taseer Ahmed --- func/cli.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'func/cli.py') diff --git a/func/cli.py b/func/cli.py index 66ab2277..833437d5 100644 --- a/func/cli.py +++ b/func/cli.py @@ -32,6 +32,9 @@ class cli: '\n network ' 'They contain all the tests that will be run. They are listed by suite.' 'Please ensure there are no empty lines') + parser.add_argument('-b', '--benchmark', help='Name of the benchmark.' + 'Can be found in test_lists/file_name') + return parser.parse_args(args) def __init__(self, args=sys.argv[1:]): @@ -39,20 +42,31 @@ class cli: args = self._parse_args(args) if not args_handler.check_suit_in_test_list(args.file): print('\n\n ERROR: Test File Does not exist in test_list/ please enter correct file \n\n') - sys.exit(0) + sys.exit(1) if not args_handler.check_lab_name(args.lab): print('\n\n You have specified a lab that is not present in test_cases/ please enter \ correct file. If unsure how to proceed, use -l default.\n\n') - sys.exit(0) + sys.exit(1) suite = args.file benchmarks = args_handler.get_files_in_test_list(suite) test_cases = args_handler.get_files_in_test_case(args.lab, suite) benchmarks_list = filter(lambda x: x in test_cases, benchmarks) - map(lambda x: args_handler.prepare_and_run_benchmark( - os.environ['INSTALLER_TYPE'], os.environ['PWD'], - args_handler.get_benchmark_path(args.lab.lower(), suite, x)), benchmarks_list) + if args.benchmark: + if not args_handler.check_benchmark_name(args.lab, args.file, args.benchmark): + print('\n\n You have specified an incorrect benchmark. Please' + 'enter the correct one.\n\n') + sys.exit(1) + else: + print("Starting with " + args.benchmark) + args_handler.prepare_and_run_benchmark( + os.environ['INSTALLER_TYPE'], os.environ['PWD'], + args_handler.get_benchmark_path(args.lab.lower(), args.file, args.benchmark)) + else: + map(lambda x: args_handler.prepare_and_run_benchmark( + os.environ['INSTALLER_TYPE'], os.environ['PWD'], + args_handler.get_benchmark_path(args.lab.lower(), suite, x)), benchmarks_list) print('{0} is not a Template in the Directory Enter a Valid file name.' 'or use qtip.py -h for list'.format(filter(lambda x: x not in test_cases, benchmarks))) -- cgit 1.2.3-korg