From 82505ec40f0ac693606c9b8758e3b82665833673 Mon Sep 17 00:00:00 2001 From: Liangliang He Date: Tue, 3 Apr 2018 16:41:33 +0800 Subject: [PATCH] Skip devices for unsupported ABIs --- tools/bazel_adb_run.py | 5 ++++- tools/sh_commands.py | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/bazel_adb_run.py b/tools/bazel_adb_run.py index 675a20dd..6e083de2 100644 --- a/tools/bazel_adb_run.py +++ b/tools/bazel_adb_run.py @@ -94,12 +94,15 @@ def main(unused_args): sh_commands.bazel_build(target, abi=target_abi) if FLAGS.run_target: for serialno in target_devices: - device_properties = sh_commands.adb_getprop_by_serialno(serialno) + if target_abi not in set(sh_commands.adb_supported_abis(serialno)): + print("Skip device %s which does not support ABI %s" % (serialno, target_abi)) + continue stdouts = sh_commands.adb_run(serialno, host_bin_path, bin_name, args=FLAGS.args, opencl_profiling=1, vlog_level=0, device_bin_path="/data/local/tmp/mace") + device_properties = sh_commands.adb_getprop_by_serialno(serialno) globals()[FLAGS.stdout_processor](stdouts, device_properties, target_abi) if __name__ == "__main__": diff --git a/tools/sh_commands.py b/tools/sh_commands.py index d7e55e39..4b47544f 100644 --- a/tools/sh_commands.py +++ b/tools/sh_commands.py @@ -49,6 +49,12 @@ def adb_getprop_by_serialno(serialno): props[m.group(1)] = m.group(2) return props +def adb_supported_abis(serialno): + props = adb_getprop_by_serialno(serialno) + abilist_str = props["ro.product.cpu.abilist"] + abis = [abi.strip() for abi in abilist_str.split(',')] + return abis + def adb_get_all_socs(): socs = [] for d in adb_devices(): @@ -88,6 +94,7 @@ def adb_run(serialno, host_bin_path, bin_name, # bazel commands ################################ def bazel_build(target, strip="always", abi="armeabi-v7a"): + print("Build %s with ABI %s" % (target, abi)) stdout_buff=[] process_output = make_output_processor(stdout_buff) p= sh.bazel("build", -- GitLab