コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
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]
コード例 #4
0
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')
    ]
コード例 #5
0
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)
コード例 #6
0
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]
コード例 #7
0
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]
コード例 #8
0
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)
コード例 #9
0
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')]