diff options
-rwxr-xr-x | build-scripts/post-build-lava.py | 96 |
1 files changed, 28 insertions, 68 deletions
diff --git a/build-scripts/post-build-lava.py b/build-scripts/post-build-lava.py index 08250e3..25d05e8 100755 --- a/build-scripts/post-build-lava.py +++ b/build-scripts/post-build-lava.py @@ -1,7 +1,6 @@ #!/usr/bin/env python import os import json -import urllib2 import xmlrpclib # Map a TARGET_PRODUCT to LAVA parameters. @@ -69,7 +68,19 @@ def gen_lava_android_test_actions(tests=[]): return actions -def lava_android_test_custom_actions(commands=[], cmd_file=None, parser=None): +def gen_test_plan_actions(): + test_plan = os.environ.get("LAVA_TEST_PLAN") + if test_plan == None: + test_plan = '0xbench, glmark2, monkey' + test_plans = test_plan.split(',') + for index in range(len(test_plans)): + test_plans[index] = test_plans[index].strip() + if test_plans[index] == "test_android_0xbench": + test_plans[index] = "0xbench" + return gen_lava_android_test_actions(test_plans) + + +def gen_command_action(commands=[], cmd_file=None, parser=None): parameters = None if commands: parameters = {'commands': commands} @@ -84,76 +95,25 @@ def lava_android_test_custom_actions(commands=[], cmd_file=None, parser=None): return action -def gen_test_plan_action(): - test_plan = os.environ.get("LAVA_TEST_PLAN") - if test_plan == None: - test_plan = '0xbench, glmark2, monkey' - test_plans = test_plan.split(',') - for index in range(len(test_plans)): - test_plans[index] = test_plans[index].strip() - if test_plans[index] == "test_android_0xbench": - test_plans[index] = "0xbench" - return gen_lava_android_test_actions(test_plans) +def gen_custom_actions(): + test_actions = [] + prefix = 'LAVA_TEST_' + pat_suffix = '_PATTERN' + for var in os.environ.keys(): + if var.startswith(prefix) and (not var.endswith(pat_suffix)) \ + and (var != 'LAVA_TEST_PLAN'): + cmd = os.environ.get(var) + pattern = os.environ.get('%s%s' % (var, pat_suffix)) + test_actions.append(gen_command_action(commands=[cmd], + parser=pattern)) + + return test_actions def gen_test_actions(): test_actions = [] - lava_tests_str = os.environ.get("LAVA_TESTS") - if lava_tests_str is not None: - lava_tests_ary = lava_tests_str.split(',') - for lava_test in lava_tests_ary: - lava_test = lava_test.strip() - lava_test_upper = lava_test.strip().upper() - if lava_test_upper == 'LAVA_TEST_PLAN': - test_actions.extend(gen_test_plan_action()) - elif lava_test_upper.startswith('LT_CMD_FILE_'): - cmd_file = os.environ.get(lava_test) - parser = os.environ.get('%s_PARSER' % lava_test) - test_actions.append( - lava_android_test_custom_actions(cmd_file=cmd_file, - parser=parser)) - elif lava_test_upper.startswith('LT_CMD_'): - commands = [os.environ.get(lava_test)] - parser = os.environ.get('%s_PARSER' % lava_test) - test_actions.append( - lava_android_test_custom_actions(commands=commands, - parser=parser)) - elif lava_test_upper.startswith('LT_CMDS_FILE_'): - file_url = os.environ.get(lava_test) - try: - fd = urllib2.urlopen(file_url.strip()) - except: - print "File to get command list file(%s) for %s." % ( - file_url, lava_test) - continue - commands = [] - for line in fd.readlines(): - test_cmd = line.strip() - if test_cmd: - commands.append(test_cmd) - if commands: - parser = os.environ.get('%s_PARSER' % lava_test) - test_actions.append(lava_android_test_custom_actions( - commands=commands, parser=parser)) - elif lava_test_upper.startswith('LT_CMDS_'): - test_cmds_names_str = os.environ.get(lava_test) - test_cmds_names_ary = test_cmds_names_str.split(',') - commands = [] - for test_cmd_var_name in test_cmds_names_ary: - test_cmd = os.environ.get(test_cmd_var_name.strip()) - if test_cmd: - commands.append(test_cmd) - if commands: - parser = os.environ.get('%s_PARSER' % lava_test) - test_actions.append( - lava_android_test_custom_actions(commands=commands, - parser=parser)) - else: - continue - else: - #keep compatibility - test_actions.extend(gen_test_plan_action()) - + test_actions.extend(gen_custom_actions()) + test_actions.extend(gen_test_plan_actions()) return test_actions |