def get_network_data_flow(pkg_name, is_wifi=False): ''' return: (int receive_data, int transmit_data), KB ''' def _get_filter_keyword(is_wifi): if is_wifi: return 'wlan0' return 'eth0' def _parse_net_data(net_data): return int(net_data) / 1024 tmp_pid = get_process_id_by_pkg_name(pkg_name) if tmp_pid == '-1': return INIT_NETWORK_DATA cmd = 'adb shell cat /proc/%s/net/dev' % tmp_pid tmp_lines = mysys.run_sys_cmd_and_ret_lines(cmd) if len(tmp_lines) == 0: print 'Error, return empty for command => ' + cmd exit(1) filter_keyword = _get_filter_keyword(is_wifi) for line in tmp_lines: tmp_fields = line.split() if tmp_fields[0].strip().startswith(filter_keyword): tmp_receive_data = _parse_net_data(tmp_fields[1]) tmp_transmit_data = _parse_net_data(tmp_fields[9]) return (tmp_receive_data, tmp_transmit_data) return INIT_NETWORK_DATA
def is_testing_package_on_top(pkg_name): cmd = 'adb shell dumpsys activity | findstr mFocusedActivity | findstr ' + pkg_name tmp_lines = WinSysUtils.run_sys_cmd_and_ret_lines(cmd) if len(tmp_lines) == 0: return False return True
def get_process_id_by_pkg_name(pkg_name): cmd = 'adb shell ps | findstr ' + pkg_name tmp_lines = mysys.run_sys_cmd_and_ret_lines(cmd) if len(tmp_lines) != 1: return '-1' return tmp_lines[0].split()[1]
def get_instrument_run_listener_results_files_name(): cmd = 'adb shell ls %s' % SHELL_TEST_LOG_DIR_PATH print cmd ret_lines = WinSysUtils.run_sys_cmd_and_ret_lines(cmd) return [ line.rstrip('\r\n') for line in ret_lines if line.rstrip('\r\n').endswith('.xml') ]
def rm_old_captures_on_remote(): cmd = 'adb shell ls %s' % g_remote_tmp_dir_path lines_files = WinSysUtils.run_sys_cmd_and_ret_lines(cmd) flag_found = False for line in lines_files: if g_remote_tmp_captures_dir_name in line: flag_found = True break if flag_found: cmd = 'adb shell ls %s' % g_remote_tmp_captures_dir_path lines_capture = WinSysUtils.run_sys_cmd_and_ret_lines(cmd) if len(lines_capture) > 0: cmd = 'adb shell rm %s/*.png' % g_remote_tmp_captures_dir_path WinSysUtils.run_sys_cmd(cmd) else: cmd = 'adb shell mkdir -p %s' % g_remote_tmp_captures_dir_path WinSysUtils.run_sys_cmd(cmd)
def get_uid_by_package_name(pkg_name): cmd = 'adb shell su -c cat /data/system/packages.list | findstr ' + pkg_name ret_lines = mysys.run_sys_cmd_and_ret_lines(cmd) if len(ret_lines) != 1: print 'Error, return empty from packages.list for package:', pkg_name exit(1) return ret_lines[0].split()[1]
def get_uid_by_package_name(pkg_name): cmd = 'adb shell su -c cat /data/system/packages.list | findstr ' + pkg_name ret_lines = mysys.run_sys_cmd_and_ret_lines(cmd) if len(ret_lines) != 1: print 'Error, return empty from packages.list for package:', pkg_name exit(1) return ret_lines[0].split()[1]
def run_instrument_tests_v2(cmd): input_lines = WinSysUtils.run_sys_cmd_and_ret_lines(cmd) if len(input_lines) == 0: return output_lines = [] for line in input_lines: output_lines.append(line.rstrip('\r\n') + '\n') FileUtils.append_lines_to_file(g_local_inst_run_log_file_path, (output_lines)) check_test_case_force_closed(output_lines) check_test_case_failed(output_lines)
def get_instrument_run_listener_results_files_name(): cmd = 'adb shell ls %s' % SHELL_TEST_LOG_DIR_PATH print cmd ret_lines = WinSysUtils.run_sys_cmd_and_ret_lines(cmd) return [line.rstrip('\r\n') for line in ret_lines if line.rstrip('\r\n').endswith('.xml')]