├── AdbWinApi.dll ├── AdbWinUsbApi.dll ├── NOTICE.txt ├── README.md ├── adb.exe ├── api ├── annotations.zip └── api-versions.xml ├── dmtracedump.exe ├── etc1tool.exe ├── fastboot.exe ├── hprof-conv.exe ├── jumpAI-windows-amd64.exe ├── lib64 └── libc++.so ├── libwinpthread-1.dll ├── source.properties ├── sqlite3.exe ├── systrace ├── NOTICE ├── UPSTREAM_REVISION ├── catapult │ ├── common │ │ ├── battor │ │ │ ├── battor │ │ │ │ ├── __init__.py │ │ │ │ ├── battor_binary_dependencies.json │ │ │ │ ├── battor_error.py │ │ │ │ ├── battor_wrapper.py │ │ │ │ ├── battor_wrapper_devicetest.py │ │ │ │ └── battor_wrapper_unittest.py │ │ │ └── bin │ │ │ │ ├── run_py_tests │ │ │ │ └── upload_battor_binaries.py │ │ ├── bin │ │ │ └── run_tests │ │ ├── eslint │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bin │ │ │ │ ├── run_eslint │ │ │ │ └── run_tests │ │ │ ├── eslint │ │ │ │ ├── __init__.py │ │ │ │ └── smoke_test.py │ │ │ ├── rules │ │ │ │ └── catapult-camelcase.js │ │ │ └── tests │ │ │ │ └── catapult-camelcase.js │ │ ├── lab │ │ │ ├── commits.py │ │ │ ├── hardware.py │ │ │ └── keychain_unlock.sh │ │ ├── node_runner │ │ │ └── node_runner │ │ │ │ ├── __init__.py │ │ │ │ ├── node_binaries.json │ │ │ │ ├── node_util.py │ │ │ │ └── package.json │ │ ├── py_trace_event │ │ │ ├── README.txt │ │ │ └── py_trace_event │ │ │ │ ├── __init__.py │ │ │ │ ├── run_tests │ │ │ │ ├── setup.py │ │ │ │ ├── trace_event.py │ │ │ │ ├── trace_event_impl │ │ │ │ ├── __init__.py │ │ │ │ ├── decorators.py │ │ │ │ ├── decorators_test.py │ │ │ │ ├── log.py │ │ │ │ ├── log_io_test.py │ │ │ │ ├── meta_class.py │ │ │ │ ├── multiprocessing_shim.py │ │ │ │ ├── parsed_trace_events.py │ │ │ │ └── trace_test.py │ │ │ │ ├── trace_event_unittest.py │ │ │ │ ├── trace_time.py │ │ │ │ └── trace_time_unittest.py │ │ └── py_utils │ │ │ ├── PRESUBMIT.py │ │ │ └── py_utils │ │ │ ├── __init__.py │ │ │ ├── binary_manager.py │ │ │ ├── binary_manager_unittest.py │ │ │ ├── chrome_binaries.json │ │ │ ├── cloud_storage.py │ │ │ ├── cloud_storage_global_lock.py │ │ │ ├── cloud_storage_unittest.py │ │ │ ├── contextlib_ext.py │ │ │ ├── contextlib_ext_unittest.py │ │ │ ├── dependency_util.py │ │ │ ├── lock.py │ │ │ ├── lock_unittest.py │ │ │ ├── py_utils_unittest.py │ │ │ ├── refactor │ │ │ ├── __init__.py │ │ │ ├── annotated_symbol │ │ │ │ ├── __init__.py │ │ │ │ ├── base_symbol.py │ │ │ │ ├── class_definition.py │ │ │ │ ├── function_definition.py │ │ │ │ ├── import_statement.py │ │ │ │ └── reference.py │ │ │ ├── module.py │ │ │ ├── offset_token.py │ │ │ └── snippet.py │ │ │ ├── refactor_util │ │ │ ├── __init__.py │ │ │ └── move.py │ │ │ ├── tempfile_ext.py │ │ │ ├── tempfile_ext_unittest.py │ │ │ ├── test_data │ │ │ └── foo.txt │ │ │ └── xvfb.py │ ├── dependency_manager │ │ ├── PRESUBMIT.py │ │ ├── bin │ │ │ ├── run_tests │ │ │ └── update │ │ ├── dependency_manager │ │ │ ├── __init__.py │ │ │ ├── archive_info.py │ │ │ ├── base_config.py │ │ │ ├── base_config_unittest.py │ │ │ ├── cloud_storage_info.py │ │ │ ├── cloud_storage_info_unittest.py │ │ │ ├── dependency_info.py │ │ │ ├── dependency_info_unittest.py │ │ │ ├── dependency_manager_unittest.py │ │ │ ├── dependency_manager_util.py │ │ │ ├── dependency_manager_util_unittest.py │ │ │ ├── exceptions.py │ │ │ ├── local_path_info.py │ │ │ ├── manager.py │ │ │ ├── uploader.py │ │ │ └── uploader_unittest.py │ │ └── pylintrc │ ├── devil │ │ ├── PRESUBMIT.py │ │ ├── bin │ │ │ ├── run_py_devicetests │ │ │ └── run_py_tests │ │ ├── devil │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── android │ │ │ │ ├── __init__.py │ │ │ │ ├── apk_helper.py │ │ │ │ ├── app_ui.py │ │ │ │ ├── app_ui_test.py │ │ │ │ ├── battery_utils.py │ │ │ │ ├── battery_utils_test.py │ │ │ │ ├── constants │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── chrome.py │ │ │ │ │ └── file_system.py │ │ │ │ ├── decorators.py │ │ │ │ ├── decorators_test.py │ │ │ │ ├── device_blacklist.py │ │ │ │ ├── device_blacklist_test.py │ │ │ │ ├── device_errors.py │ │ │ │ ├── device_errors_test.py │ │ │ │ ├── device_list.py │ │ │ │ ├── device_signal.py │ │ │ │ ├── device_temp_file.py │ │ │ │ ├── device_test_case.py │ │ │ │ ├── device_utils.py │ │ │ │ ├── device_utils_devicetest.py │ │ │ │ ├── device_utils_test.py │ │ │ │ ├── fastboot_utils.py │ │ │ │ ├── fastboot_utils_test.py │ │ │ │ ├── flag_changer.py │ │ │ │ ├── flag_changer_devicetest.py │ │ │ │ ├── flag_changer_test.py │ │ │ │ ├── forwarder.py │ │ │ │ ├── install_commands.py │ │ │ │ ├── logcat_monitor.py │ │ │ │ ├── logcat_monitor_test.py │ │ │ │ ├── md5sum.py │ │ │ │ ├── md5sum_test.py │ │ │ │ ├── perf │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── cache_control.py │ │ │ │ │ ├── perf_control.py │ │ │ │ │ ├── perf_control_devicetest.py │ │ │ │ │ ├── surface_stats_collector.py │ │ │ │ │ └── thermal_throttle.py │ │ │ │ ├── ports.py │ │ │ │ ├── sdk │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── aapt.py │ │ │ │ │ ├── adb_compatibility_devicetest.py │ │ │ │ │ ├── adb_wrapper.py │ │ │ │ │ ├── adb_wrapper_devicetest.py │ │ │ │ │ ├── build_tools.py │ │ │ │ │ ├── dexdump.py │ │ │ │ │ ├── fastboot.py │ │ │ │ │ ├── gce_adb_wrapper.py │ │ │ │ │ ├── intent.py │ │ │ │ │ ├── keyevent.py │ │ │ │ │ ├── shared_prefs.py │ │ │ │ │ ├── shared_prefs_test.py │ │ │ │ │ ├── split_select.py │ │ │ │ │ ├── test │ │ │ │ │ │ └── data │ │ │ │ │ │ │ ├── push_directory │ │ │ │ │ │ │ └── push_directory_contents.txt │ │ │ │ │ │ │ └── push_file.txt │ │ │ │ │ └── version_codes.py │ │ │ │ ├── settings.py │ │ │ │ ├── tools │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── adb_run_shell_cmd.py │ │ │ │ │ ├── cpufreq.py │ │ │ │ │ ├── device_monitor.py │ │ │ │ │ ├── device_monitor_test.py │ │ │ │ │ ├── device_recovery.py │ │ │ │ │ ├── device_status.py │ │ │ │ │ ├── flash_device.py │ │ │ │ │ ├── keyboard.py │ │ │ │ │ ├── provision_devices.py │ │ │ │ │ ├── screenshot.py │ │ │ │ │ ├── script_common.py │ │ │ │ │ ├── script_common_test.py │ │ │ │ │ ├── video_recorder.py │ │ │ │ │ └── wait_for_devices.py │ │ │ │ └── valgrind_tools │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── base_tool.py │ │ │ ├── base_error.py │ │ │ ├── constants │ │ │ │ ├── __init__.py │ │ │ │ └── exit_codes.py │ │ │ ├── devil_dependencies.json │ │ │ ├── devil_env.py │ │ │ ├── devil_env_test.py │ │ │ └── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── battor_device_mapping.py │ │ │ │ ├── cmd_helper.py │ │ │ │ ├── cmd_helper_test.py │ │ │ │ ├── file_utils.py │ │ │ │ ├── find_usb_devices.py │ │ │ │ ├── find_usb_devices_test.py │ │ │ │ ├── geometry.py │ │ │ │ ├── geometry_test.py │ │ │ │ ├── host_utils.py │ │ │ │ ├── lazy │ │ │ │ ├── __init__.py │ │ │ │ └── weak_constant.py │ │ │ │ ├── lsusb.py │ │ │ │ ├── lsusb_test.py │ │ │ │ ├── markdown.py │ │ │ │ ├── mock_calls.py │ │ │ │ ├── mock_calls_test.py │ │ │ │ ├── parallelizer.py │ │ │ │ ├── parallelizer_test.py │ │ │ │ ├── reraiser_thread.py │ │ │ │ ├── reraiser_thread_unittest.py │ │ │ │ ├── reset_usb.py │ │ │ │ ├── run_tests_helper.py │ │ │ │ ├── signal_handler.py │ │ │ │ ├── test │ │ │ │ └── data │ │ │ │ │ └── test_serial_map.json │ │ │ │ ├── timeout_retry.py │ │ │ │ ├── timeout_retry_unittest.py │ │ │ │ ├── update_mapping.py │ │ │ │ ├── usb_hubs.py │ │ │ │ ├── watchdog_timer.py │ │ │ │ └── zip_utils.py │ │ ├── docs │ │ │ ├── device_blacklist.md │ │ │ └── persistent_device_list.md │ │ └── pylintrc │ ├── systrace │ │ ├── PRESUBMIT.py │ │ ├── README.md │ │ ├── bin │ │ │ ├── adb_profile_chrome │ │ │ ├── adb_profile_chrome_startup │ │ │ ├── run_tests │ │ │ └── systrace │ │ ├── profile_chrome │ │ │ ├── __init__.py │ │ │ ├── chrome_startup_tracing_agent.py │ │ │ ├── chrome_startup_tracing_agent_unittest.py │ │ │ ├── chrome_tracing_agent.py │ │ │ ├── chrome_tracing_agent_unittest.py │ │ │ ├── ddms_tracing_agent.py │ │ │ ├── ddms_tracing_agent_unittest.py │ │ │ ├── fake_agent_1.py │ │ │ ├── fake_agent_2.py │ │ │ ├── flags.py │ │ │ ├── main.py │ │ │ ├── perf_tracing_agent.py │ │ │ ├── perf_tracing_agent_unittest.py │ │ │ ├── profiler.py │ │ │ ├── profiler_unittest.py │ │ │ ├── run_tests │ │ │ ├── third_party │ │ │ │ ├── COPYING │ │ │ │ ├── README.chromium │ │ │ │ └── perf_to_tracing.py │ │ │ ├── ui.py │ │ │ └── util.py │ │ ├── pylintrc │ │ └── systrace │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── decorators.py │ │ │ ├── monitor_unittest.py │ │ │ ├── output_generator.py │ │ │ ├── output_generator_unittest.py │ │ │ ├── prefix.html │ │ │ ├── run_systrace.py │ │ │ ├── suffix.html │ │ │ ├── systrace_runner.py │ │ │ ├── systrace_trace_viewer.html │ │ │ ├── test_data │ │ │ ├── atrace_data │ │ │ ├── atrace_data_raw │ │ │ ├── atrace_data_stripped │ │ │ ├── atrace_data_thread_fixed │ │ │ ├── atrace_data_with_thread_list │ │ │ ├── atrace_extracted_tgids │ │ │ ├── atrace_extracted_threads │ │ │ ├── atrace_fixed_tgids │ │ │ ├── atrace_missing_tgids │ │ │ ├── atrace_procfs_dump │ │ │ ├── atrace_ps_dump │ │ │ ├── atrace_ps_dump_2 │ │ │ ├── atrace_ps_dump_3 │ │ │ ├── atrace_thread_names │ │ │ ├── compressed_atrace_data.txt │ │ │ ├── decompressed_atrace_data.txt │ │ │ └── profile-chrome_systrace_perf_chrome_data │ │ │ ├── trace_result.py │ │ │ ├── tracing_agents │ │ │ ├── __init__.py │ │ │ ├── agents_unittest.py │ │ │ ├── atrace_agent.py │ │ │ ├── atrace_agent_unittest.py │ │ │ ├── atrace_from_file_agent.py │ │ │ ├── atrace_from_file_agent_unittest.py │ │ │ ├── battor_trace_agent.py │ │ │ ├── battor_trace_agent_unittest.py │ │ │ ├── ftrace_agent.py │ │ │ └── ftrace_agent_unittest.py │ │ │ ├── tracing_controller.py │ │ │ ├── update_systrace_trace_viewer.py │ │ │ ├── util.py │ │ │ └── util_unittest.py │ └── telemetry │ │ ├── BUILD.gn │ │ ├── PRESUBMIT.py │ │ ├── README.md │ │ ├── bin │ │ ├── README.chromium │ │ ├── run_browser_tests │ │ └── run_tests │ │ ├── build │ │ ├── __init__.py │ │ ├── generate_telemetry_harness.sh │ │ ├── linux_setup_msr.py │ │ └── update_docs.py │ │ ├── cloud_storage │ │ ├── docs │ │ ├── api-deprecation-procedure.md │ │ ├── pydoc │ │ │ ├── telemetry.android.android_story.html │ │ │ ├── telemetry.android.html │ │ │ ├── telemetry.android.shared_android_state.html │ │ │ ├── telemetry.benchmark.html │ │ │ ├── telemetry.benchmark_runner.html │ │ │ ├── telemetry.core.android_action_runner.html │ │ │ ├── telemetry.core.android_platform.html │ │ │ ├── telemetry.core.cros_interface.html │ │ │ ├── telemetry.core.discover.html │ │ │ ├── telemetry.core.exceptions.html │ │ │ ├── telemetry.core.html │ │ │ ├── telemetry.core.local_server.html │ │ │ ├── telemetry.core.memory_cache_http_server.html │ │ │ ├── telemetry.core.network_controller.html │ │ │ ├── telemetry.core.os_version.html │ │ │ ├── telemetry.core.platform.html │ │ │ ├── telemetry.core.profiling_controller.html │ │ │ ├── telemetry.core.tracing_controller.html │ │ │ ├── telemetry.core.util.html │ │ │ ├── telemetry.decorators.html │ │ │ ├── telemetry.html │ │ │ ├── telemetry.internal.actions.drag.html │ │ │ ├── telemetry.internal.actions.html │ │ │ ├── telemetry.internal.actions.javascript_click.html │ │ │ ├── telemetry.internal.actions.load_media.html │ │ │ ├── telemetry.internal.actions.loop.html │ │ │ ├── telemetry.internal.actions.media_action.html │ │ │ ├── telemetry.internal.actions.mouse_click.html │ │ │ ├── telemetry.internal.actions.navigate.html │ │ │ ├── telemetry.internal.actions.page_action.html │ │ │ ├── telemetry.internal.actions.pinch.html │ │ │ ├── telemetry.internal.actions.play.html │ │ │ ├── telemetry.internal.actions.repaint_continuously.html │ │ │ ├── telemetry.internal.actions.repeatable_scroll.html │ │ │ ├── telemetry.internal.actions.scroll.html │ │ │ ├── telemetry.internal.actions.scroll_bounce.html │ │ │ ├── telemetry.internal.actions.seek.html │ │ │ ├── telemetry.internal.actions.swipe.html │ │ │ ├── telemetry.internal.actions.tap.html │ │ │ ├── telemetry.internal.actions.wait.html │ │ │ ├── telemetry.internal.app.android_app.html │ │ │ ├── telemetry.internal.app.android_process.html │ │ │ ├── telemetry.internal.app.html │ │ │ ├── telemetry.internal.app.possible_app.html │ │ │ ├── telemetry.internal.backends.android_app_backend.html │ │ │ ├── telemetry.internal.backends.android_browser_backend_settings.html │ │ │ ├── telemetry.internal.backends.android_command_line_backend.html │ │ │ ├── telemetry.internal.backends.app_backend.html │ │ │ ├── telemetry.internal.backends.browser_backend.html │ │ │ ├── telemetry.internal.backends.chrome.android_browser_backend.html │ │ │ ├── telemetry.internal.backends.chrome.android_browser_finder.html │ │ │ ├── telemetry.internal.backends.chrome.chrome_browser_backend.html │ │ │ ├── telemetry.internal.backends.chrome.cros_browser_backend.html │ │ │ ├── telemetry.internal.backends.chrome.cros_browser_finder.html │ │ │ ├── telemetry.internal.backends.chrome.cros_browser_with_oobe.html │ │ │ ├── telemetry.internal.backends.chrome.cros_test_case.html │ │ │ ├── telemetry.internal.backends.chrome.crx_id.html │ │ │ ├── telemetry.internal.backends.chrome.desktop_browser_backend.html │ │ │ ├── telemetry.internal.backends.chrome.desktop_browser_finder.html │ │ │ ├── telemetry.internal.backends.chrome.extension_backend.html │ │ │ ├── telemetry.internal.backends.chrome.html │ │ │ ├── telemetry.internal.backends.chrome.ios_browser_backend.html │ │ │ ├── telemetry.internal.backends.chrome.ios_browser_finder.html │ │ │ ├── telemetry.internal.backends.chrome.misc_web_contents_backend.html │ │ │ ├── telemetry.internal.backends.chrome.oobe.html │ │ │ ├── telemetry.internal.backends.chrome.system_info_backend.html │ │ │ ├── telemetry.internal.backends.chrome.tab_list_backend.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.devtools_client_backend.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.devtools_http.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_backend.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_backend_list.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_console.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_memory.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_network.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_page.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_runtime.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.inspector_websocket.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.memory_backend.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.tracing_backend.html │ │ │ ├── telemetry.internal.backends.chrome_inspector.websocket.html │ │ │ ├── telemetry.internal.backends.codepen_credentials_backend.html │ │ │ ├── telemetry.internal.backends.facebook_credentials_backend.html │ │ │ ├── telemetry.internal.backends.form_based_credentials_backend.html │ │ │ ├── telemetry.internal.backends.form_based_credentials_backend_unittest_base.html │ │ │ ├── telemetry.internal.backends.google_credentials_backend.html │ │ │ ├── telemetry.internal.backends.html │ │ │ ├── telemetry.internal.backends.mandoline.android.html │ │ │ ├── telemetry.internal.backends.mandoline.android_mandoline_backend.html │ │ │ ├── telemetry.internal.backends.mandoline.android_mandoline_finder.html │ │ │ ├── telemetry.internal.backends.mandoline.config.html │ │ │ ├── telemetry.internal.backends.mandoline.desktop_mandoline_backend.html │ │ │ ├── telemetry.internal.backends.mandoline.desktop_mandoline_finder.html │ │ │ ├── telemetry.internal.backends.mandoline.html │ │ │ ├── telemetry.internal.backends.mandoline.mandoline_browser_backend.html │ │ │ ├── telemetry.internal.backends.mandoline.paths.html │ │ │ ├── telemetry.internal.backends.remote.html │ │ │ ├── telemetry.internal.backends.remote.trybot_browser_finder.html │ │ │ ├── telemetry.internal.browser.browser.html │ │ │ ├── telemetry.internal.browser.browser_credentials.html │ │ │ ├── telemetry.internal.browser.browser_finder.html │ │ │ ├── telemetry.internal.browser.browser_finder_exceptions.html │ │ │ ├── telemetry.internal.browser.browser_info.html │ │ │ ├── telemetry.internal.browser.browser_options.html │ │ │ ├── telemetry.internal.browser.extension_dict.html │ │ │ ├── telemetry.internal.browser.extension_page.html │ │ │ ├── telemetry.internal.browser.extension_to_load.html │ │ │ ├── telemetry.internal.browser.html │ │ │ ├── telemetry.internal.browser.possible_browser.html │ │ │ ├── telemetry.internal.browser.profile_types.html │ │ │ ├── telemetry.internal.browser.tab.html │ │ │ ├── telemetry.internal.browser.tab_list.html │ │ │ ├── telemetry.internal.browser.user_agent.html │ │ │ ├── telemetry.internal.browser.web_contents.html │ │ │ ├── telemetry.internal.forwarders.android_forwarder.html │ │ │ ├── telemetry.internal.forwarders.cros_forwarder.html │ │ │ ├── telemetry.internal.forwarders.do_nothing_forwarder.html │ │ │ ├── telemetry.internal.forwarders.html │ │ │ ├── telemetry.internal.html │ │ │ ├── telemetry.internal.image_processing._bitmap.html │ │ │ ├── telemetry.internal.image_processing.cv_util.html │ │ │ ├── telemetry.internal.image_processing.fake_frame_generator.html │ │ │ ├── telemetry.internal.image_processing.frame_generator.html │ │ │ ├── telemetry.internal.image_processing.html │ │ │ ├── telemetry.internal.image_processing.image_util_bitmap_impl.html │ │ │ ├── telemetry.internal.image_processing.image_util_numpy_impl.html │ │ │ ├── telemetry.internal.image_processing.screen_finder.html │ │ │ ├── telemetry.internal.image_processing.video.html │ │ │ ├── telemetry.internal.image_processing.video_file_frame_generator.html │ │ │ ├── telemetry.internal.platform.android_device.html │ │ │ ├── telemetry.internal.platform.android_platform_backend.html │ │ │ ├── telemetry.internal.platform.cros_device.html │ │ │ ├── telemetry.internal.platform.cros_platform_backend.html │ │ │ ├── telemetry.internal.platform.desktop_device.html │ │ │ ├── telemetry.internal.platform.desktop_platform_backend.html │ │ │ ├── telemetry.internal.platform.device.html │ │ │ ├── telemetry.internal.platform.device_finder.html │ │ │ ├── telemetry.internal.platform.gpu_device.html │ │ │ ├── telemetry.internal.platform.gpu_info.html │ │ │ ├── telemetry.internal.platform.html │ │ │ ├── telemetry.internal.platform.ios_device.html │ │ │ ├── telemetry.internal.platform.ios_platform_backend.html │ │ │ ├── telemetry.internal.platform.linux_based_platform_backend.html │ │ │ ├── telemetry.internal.platform.linux_platform_backend.html │ │ │ ├── telemetry.internal.platform.mac_platform_backend.html │ │ │ ├── telemetry.internal.platform.msr_server_win.html │ │ │ ├── telemetry.internal.platform.network_controller_backend.html │ │ │ ├── telemetry.internal.platform.platform_backend.html │ │ │ ├── telemetry.internal.platform.posix_platform_backend.html │ │ │ ├── telemetry.internal.platform.power_monitor.android_dumpsys_power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.android_fuelgauge_power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.android_temperature_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.cros_power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.monsoon_power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.msr_power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.power_monitor_controller.html │ │ │ ├── telemetry.internal.platform.power_monitor.powermetrics_power_monitor.html │ │ │ ├── telemetry.internal.platform.power_monitor.sysfs_power_monitor.html │ │ │ ├── telemetry.internal.platform.profiler.android_prebuilt_profiler_helper.html │ │ │ ├── telemetry.internal.platform.profiler.android_profiling_helper.html │ │ │ ├── telemetry.internal.platform.profiler.android_screen_recorder_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.android_systrace_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.android_traceview_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.html │ │ │ ├── telemetry.internal.platform.profiler.iprofiler_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.java_heap_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.monsoon.html │ │ │ ├── telemetry.internal.platform.profiler.monsoon_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.netlog_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.oomkiller_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.perf_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.profiler_finder.html │ │ │ ├── telemetry.internal.platform.profiler.sample_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.strace_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.tcmalloc_heap_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.tcpdump_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.trace_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.v8_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.vtune_profiler.html │ │ │ ├── telemetry.internal.platform.profiler.win_pgo_profiler.html │ │ │ ├── telemetry.internal.platform.profiling_controller_backend.html │ │ │ ├── telemetry.internal.platform.system_info.html │ │ │ ├── telemetry.internal.platform.tracing_agent.chrome_tracing_agent.html │ │ │ ├── telemetry.internal.platform.tracing_agent.chrome_tracing_devtools_manager.html │ │ │ ├── telemetry.internal.platform.tracing_agent.display_tracing_agent.html │ │ │ ├── telemetry.internal.platform.tracing_agent.html │ │ │ ├── telemetry.internal.platform.tracing_controller_backend.html │ │ │ ├── telemetry.internal.platform.trybot_device.html │ │ │ ├── telemetry.internal.platform.win_platform_backend.html │ │ │ ├── telemetry.internal.results.buildbot_output_formatter.html │ │ │ ├── telemetry.internal.results.chart_json_output_formatter.html │ │ │ ├── telemetry.internal.results.csv_pivot_table_output_formatter.html │ │ │ ├── telemetry.internal.results.gtest_progress_reporter.html │ │ │ ├── telemetry.internal.results.html │ │ │ ├── telemetry.internal.results.html_output_formatter.html │ │ │ ├── telemetry.internal.results.json_output_formatter.html │ │ │ ├── telemetry.internal.results.output_formatter.html │ │ │ ├── telemetry.internal.results.page_test_results.html │ │ │ ├── telemetry.internal.results.progress_reporter.html │ │ │ ├── telemetry.internal.results.results_options.html │ │ │ ├── telemetry.internal.results.story_run.html │ │ │ ├── telemetry.internal.story_runner.html │ │ │ ├── telemetry.internal.testing.discoverable_classes.another_discover_dummyclass.html │ │ │ ├── telemetry.internal.testing.discoverable_classes.discover_dummyclass.html │ │ │ ├── telemetry.internal.testing.discoverable_classes.html │ │ │ ├── telemetry.internal.testing.discoverable_classes.parameter_discover_dummyclass.html │ │ │ ├── telemetry.internal.testing.html │ │ │ ├── telemetry.internal.testing.page_sets.example_domain.html │ │ │ ├── telemetry.internal.testing.page_sets.html │ │ │ ├── telemetry.internal.testing.pages.external_page.html │ │ │ ├── telemetry.internal.testing.pages.html │ │ │ ├── telemetry.internal.testing.system_stub_test_module.html │ │ │ ├── telemetry.internal.util.binary_manager.html │ │ │ ├── telemetry.internal.util.bootstrap.html │ │ │ ├── telemetry.internal.util.camel_case.html │ │ │ ├── telemetry.internal.util.classes.html │ │ │ ├── telemetry.internal.util.command_line.html │ │ │ ├── telemetry.internal.util.exception_formatter.html │ │ │ ├── telemetry.internal.util.external_modules.html │ │ │ ├── telemetry.internal.util.file_handle.html │ │ │ ├── telemetry.internal.util.find_dependencies.html │ │ │ ├── telemetry.internal.util.global_hooks.html │ │ │ ├── telemetry.internal.util.html │ │ │ ├── telemetry.internal.util.path.html │ │ │ ├── telemetry.internal.util.path_set.html │ │ │ ├── telemetry.internal.util.ps_util.html │ │ │ ├── telemetry.internal.util.webpagereplay.html │ │ │ ├── telemetry.page.action_runner.html │ │ │ ├── telemetry.page.html │ │ │ ├── telemetry.page.page.html │ │ │ ├── telemetry.page.page_test.html │ │ │ ├── telemetry.page.shared_page_state.html │ │ │ ├── telemetry.project_config.html │ │ │ ├── telemetry.record_wpr.html │ │ │ ├── telemetry.story.html │ │ │ ├── telemetry.story.shared_state.html │ │ │ ├── telemetry.story.story.html │ │ │ ├── telemetry.story.story_filter.html │ │ │ ├── telemetry.story.story_set.html │ │ │ ├── telemetry.testing.browser_test_case.html │ │ │ ├── telemetry.testing.disabled_cases.html │ │ │ ├── telemetry.testing.fakes.html │ │ │ ├── telemetry.testing.gtest_progress_reporter.html │ │ │ ├── telemetry.testing.html │ │ │ ├── telemetry.testing.internal.fake_gpu_info.html │ │ │ ├── telemetry.testing.internal.html │ │ │ ├── telemetry.testing.options_for_unittests.html │ │ │ ├── telemetry.testing.page_test_test_case.html │ │ │ ├── telemetry.testing.progress_reporter.html │ │ │ ├── telemetry.testing.run_chromeos_tests.html │ │ │ ├── telemetry.testing.run_tests.html │ │ │ ├── telemetry.testing.simple_mock.html │ │ │ ├── telemetry.testing.story_set_smoke_test.html │ │ │ ├── telemetry.testing.stream.html │ │ │ ├── telemetry.testing.system_stub.html │ │ │ ├── telemetry.testing.tab_test_case.html │ │ │ ├── telemetry.testing.test_page_test_results.html │ │ │ ├── telemetry.testing.unittest_runner.html │ │ │ ├── telemetry.timeline.async_slice.html │ │ │ ├── telemetry.timeline.bounds.html │ │ │ ├── telemetry.timeline.counter.html │ │ │ ├── telemetry.timeline.event.html │ │ │ ├── telemetry.timeline.event_container.html │ │ │ ├── telemetry.timeline.flow_event.html │ │ │ ├── telemetry.timeline.html │ │ │ ├── telemetry.timeline.importer.html │ │ │ ├── telemetry.timeline.inspector_importer.html │ │ │ ├── telemetry.timeline.memory_dump_event.html │ │ │ ├── telemetry.timeline.model.html │ │ │ ├── telemetry.timeline.process.html │ │ │ ├── telemetry.timeline.sample.html │ │ │ ├── telemetry.timeline.slice.html │ │ │ ├── telemetry.timeline.surface_flinger_importer.html │ │ │ ├── telemetry.timeline.tab_id_importer.html │ │ │ ├── telemetry.timeline.thread.html │ │ │ ├── telemetry.timeline.trace_data.html │ │ │ ├── telemetry.timeline.trace_event_importer.html │ │ │ ├── telemetry.timeline.tracing_category_filter.html │ │ │ ├── telemetry.timeline.tracing_config.html │ │ │ ├── telemetry.timeline.tracing_options.html │ │ │ ├── telemetry.util.color_histogram.html │ │ │ ├── telemetry.util.html │ │ │ ├── telemetry.util.image_util.html │ │ │ ├── telemetry.util.mac.html │ │ │ ├── telemetry.util.mac.keychain_helper.html │ │ │ ├── telemetry.util.perf_result_data_type.html │ │ │ ├── telemetry.util.perf_tests_helper.html │ │ │ ├── telemetry.util.perf_tests_results_helper.html │ │ │ ├── telemetry.util.process_statistic_timeline_data.html │ │ │ ├── telemetry.util.rgba_color.html │ │ │ ├── telemetry.util.statistics.html │ │ │ ├── telemetry.util.wpr_modes.html │ │ │ ├── telemetry.value.failure.html │ │ │ ├── telemetry.value.histogram.html │ │ │ ├── telemetry.value.histogram_util.html │ │ │ ├── telemetry.value.html │ │ │ ├── telemetry.value.improvement_direction.html │ │ │ ├── telemetry.value.list_of_scalar_values.html │ │ │ ├── telemetry.value.merge_values.html │ │ │ ├── telemetry.value.none_values.html │ │ │ ├── telemetry.value.scalar.html │ │ │ ├── telemetry.value.skip.html │ │ │ ├── telemetry.value.summarizable.html │ │ │ ├── telemetry.value.summary.html │ │ │ ├── telemetry.value.trace.html │ │ │ ├── telemetry.web_perf.html │ │ │ ├── telemetry.web_perf.metrics.blob_timeline.html │ │ │ ├── telemetry.web_perf.metrics.gpu_timeline.html │ │ │ ├── telemetry.web_perf.metrics.html │ │ │ ├── telemetry.web_perf.metrics.indexeddb_timeline.html │ │ │ ├── telemetry.web_perf.metrics.layout.html │ │ │ ├── telemetry.web_perf.metrics.mainthread_jank_stats.html │ │ │ ├── telemetry.web_perf.metrics.memory_timeline.html │ │ │ ├── telemetry.web_perf.metrics.rendering_frame.html │ │ │ ├── telemetry.web_perf.metrics.rendering_stats.html │ │ │ ├── telemetry.web_perf.metrics.responsiveness_metric.html │ │ │ ├── telemetry.web_perf.metrics.single_event.html │ │ │ ├── telemetry.web_perf.metrics.smoothness.html │ │ │ ├── telemetry.web_perf.metrics.text_selection.html │ │ │ ├── telemetry.web_perf.metrics.timeline_based_metric.html │ │ │ ├── telemetry.web_perf.metrics.trace_event_stats.html │ │ │ ├── telemetry.web_perf.metrics.v8_gc_latency.html │ │ │ ├── telemetry.web_perf.metrics.webrtc_rendering_stats.html │ │ │ ├── telemetry.web_perf.metrics.webrtc_rendering_timeline.html │ │ │ ├── telemetry.web_perf.smooth_gesture_util.html │ │ │ ├── telemetry.web_perf.story_test.html │ │ │ ├── telemetry.web_perf.timeline_based_measurement.html │ │ │ ├── telemetry.web_perf.timeline_based_page_test.html │ │ │ ├── telemetry.web_perf.timeline_interaction_record.html │ │ │ ├── telemetry.wpr.archive_info.html │ │ │ └── telemetry.wpr.html │ │ └── run_benchmarks_locally.md │ │ ├── examples │ │ ├── benchmarks │ │ │ ├── __init__.py │ │ │ ├── simple_story_set.py │ │ │ └── tbm_benchmark.py │ │ ├── browser_tests │ │ │ ├── __init__.py │ │ │ ├── failed_tests.py │ │ │ ├── pages │ │ │ │ ├── page_with_clickables.html │ │ │ │ └── page_with_link.html │ │ │ ├── simple_browser_test.py │ │ │ ├── simple_numeric_test.py │ │ │ └── simple_sharding_test.py │ │ ├── credentials_example.json │ │ └── run_benchmark │ │ ├── json_format │ │ ├── list_telemetry_unittests │ │ ├── pylintrc │ │ ├── support │ │ └── html_output │ │ │ └── results-template.html │ │ ├── telemetry.gyp │ │ ├── telemetry.isolate │ │ ├── telemetry │ │ ├── __init__.py │ │ ├── android │ │ │ ├── __init__.py │ │ │ ├── android_story.py │ │ │ └── shared_android_state.py │ │ ├── benchmark.py │ │ ├── benchmark_run_unittest.py │ │ ├── benchmark_runner.py │ │ ├── benchmark_runner_unittest.py │ │ ├── benchmark_unittest.py │ │ ├── core │ │ │ ├── __init__.py │ │ │ ├── android_action_runner.py │ │ │ ├── android_platform.py │ │ │ ├── cros_interface.py │ │ │ ├── cros_interface_unittest.py │ │ │ ├── discover.py │ │ │ ├── discover_unittest.py │ │ │ ├── exceptions.py │ │ │ ├── local_server.py │ │ │ ├── local_server_unittest.py │ │ │ ├── memory_cache_http_server.py │ │ │ ├── memory_cache_http_server_unittest.py │ │ │ ├── network_controller.py │ │ │ ├── os_version.py │ │ │ ├── platform.py │ │ │ ├── platform_unittest.py │ │ │ ├── profiling_controller.py │ │ │ ├── tracing_controller.py │ │ │ ├── tracing_controller_unittest.py │ │ │ ├── util.py │ │ │ └── util_unittest.py │ │ ├── decorators.py │ │ ├── decorators_unittest.py │ │ ├── internal │ │ │ ├── __init__.py │ │ │ ├── actions │ │ │ │ ├── __init__.py │ │ │ │ ├── action_runner.py │ │ │ │ ├── action_runner_unittest.py │ │ │ │ ├── drag.js │ │ │ │ ├── drag.py │ │ │ │ ├── drag_unittest.py │ │ │ │ ├── gesture_common.js │ │ │ │ ├── javascript_click.py │ │ │ │ ├── key_event.py │ │ │ │ ├── key_event_unittest.py │ │ │ │ ├── load_media.js │ │ │ │ ├── load_media.py │ │ │ │ ├── load_media_unittest.py │ │ │ │ ├── loop.js │ │ │ │ ├── loop.py │ │ │ │ ├── loop_unittest.py │ │ │ │ ├── media_action.js │ │ │ │ ├── media_action.py │ │ │ │ ├── mouse_click.js │ │ │ │ ├── mouse_click.py │ │ │ │ ├── mouse_click_unittest.py │ │ │ │ ├── navigate.py │ │ │ │ ├── navigate_unittest.py │ │ │ │ ├── page_action.py │ │ │ │ ├── page_action_unittest.py │ │ │ │ ├── pinch.js │ │ │ │ ├── pinch.py │ │ │ │ ├── pinch_unittest.py │ │ │ │ ├── play.js │ │ │ │ ├── play.py │ │ │ │ ├── play_unittest.py │ │ │ │ ├── repaint_continuously.py │ │ │ │ ├── repeatable_scroll.py │ │ │ │ ├── repeatable_scroll_unittest.py │ │ │ │ ├── scroll.js │ │ │ │ ├── scroll.py │ │ │ │ ├── scroll_bounce.js │ │ │ │ ├── scroll_bounce.py │ │ │ │ ├── scroll_to_element.py │ │ │ │ ├── scroll_to_element_unittest.py │ │ │ │ ├── scroll_unittest.py │ │ │ │ ├── seek.js │ │ │ │ ├── seek.py │ │ │ │ ├── seek_unittest.py │ │ │ │ ├── swipe.js │ │ │ │ ├── swipe.py │ │ │ │ ├── tap.js │ │ │ │ ├── tap.py │ │ │ │ ├── tap_unittest.py │ │ │ │ ├── utils.py │ │ │ │ └── wait.py │ │ │ ├── app │ │ │ │ ├── __init__.py │ │ │ │ ├── android_app.py │ │ │ │ ├── android_app_unittest.py │ │ │ │ ├── android_process.py │ │ │ │ └── possible_app.py │ │ │ ├── backends │ │ │ │ ├── __init__.py │ │ │ │ ├── android_app_backend.py │ │ │ │ ├── android_app_backend_unittest.py │ │ │ │ ├── android_browser_backend_settings.py │ │ │ │ ├── android_command_line_backend.py │ │ │ │ ├── android_command_line_backend_unittest.py │ │ │ │ ├── app_backend.py │ │ │ │ ├── browser_backend.py │ │ │ │ ├── browser_backend_unittest.py │ │ │ │ ├── chrome │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── android_browser_backend.py │ │ │ │ │ ├── android_browser_finder.py │ │ │ │ │ ├── android_browser_finder_unittest.py │ │ │ │ │ ├── chrome_browser_backend.py │ │ │ │ │ ├── chrome_browser_backend_unittest.py │ │ │ │ │ ├── chromeos_login_ext │ │ │ │ │ │ ├── main.html │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── manifest.json │ │ │ │ │ ├── cros_browser_backend.py │ │ │ │ │ ├── cros_browser_finder.py │ │ │ │ │ ├── cros_browser_finder_unittest.py │ │ │ │ │ ├── cros_browser_with_oobe.py │ │ │ │ │ ├── cros_test_case.py │ │ │ │ │ ├── cros_unittest.py │ │ │ │ │ ├── crx_id.py │ │ │ │ │ ├── crx_id_unittest.py │ │ │ │ │ ├── desktop_browser_backend.py │ │ │ │ │ ├── desktop_browser_finder.py │ │ │ │ │ ├── desktop_browser_finder_unittest.py │ │ │ │ │ ├── extension_backend.py │ │ │ │ │ ├── ios_browser_backend.py │ │ │ │ │ ├── ios_browser_finder.py │ │ │ │ │ ├── ios_browser_finder_unittest.py │ │ │ │ │ ├── misc_web_contents_backend.py │ │ │ │ │ ├── oobe.py │ │ │ │ │ ├── system_info_backend.py │ │ │ │ │ ├── tab_list_backend.py │ │ │ │ │ └── tab_list_backend_unittest.py │ │ │ │ ├── chrome_inspector │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── devtools_client_backend.py │ │ │ │ │ ├── devtools_client_backend_unittest.py │ │ │ │ │ ├── devtools_http.py │ │ │ │ │ ├── devtools_http_unittest.py │ │ │ │ │ ├── inspector_backend.py │ │ │ │ │ ├── inspector_backend_list.py │ │ │ │ │ ├── inspector_console.py │ │ │ │ │ ├── inspector_console_unittest.py │ │ │ │ │ ├── inspector_memory.py │ │ │ │ │ ├── inspector_memory_unittest.py │ │ │ │ │ ├── inspector_page.py │ │ │ │ │ ├── inspector_page_unittest.py │ │ │ │ │ ├── inspector_runtime.py │ │ │ │ │ ├── inspector_runtime_unittest.py │ │ │ │ │ ├── inspector_websocket.py │ │ │ │ │ ├── inspector_websocket_unittest.py │ │ │ │ │ ├── memory_backend.py │ │ │ │ │ ├── memory_backend_unittest.py │ │ │ │ │ ├── tracing_backend.py │ │ │ │ │ ├── tracing_backend_unittest.py │ │ │ │ │ ├── websocket.py │ │ │ │ │ └── websocket_unittest.py │ │ │ │ ├── codepen_credentials_backend.py │ │ │ │ ├── codepen_credentials_backend_unittest.py │ │ │ │ ├── facebook_credentials_backend.py │ │ │ │ ├── facebook_credentials_backend_unittest.py │ │ │ │ ├── form_based_credentials_backend.py │ │ │ │ ├── form_based_credentials_backend_unittest_base.py │ │ │ │ ├── google_credentials_backend.py │ │ │ │ └── google_credentials_backend_unittest.py │ │ │ ├── bin │ │ │ │ └── README.md │ │ │ ├── binary_dependencies.json │ │ │ ├── browser │ │ │ │ ├── __init__.py │ │ │ │ ├── browser.py │ │ │ │ ├── browser_credentials.py │ │ │ │ ├── browser_credentials_unittest.py │ │ │ │ ├── browser_finder.py │ │ │ │ ├── browser_finder_exceptions.py │ │ │ │ ├── browser_info.py │ │ │ │ ├── browser_options.py │ │ │ │ ├── browser_options_unittest.py │ │ │ │ ├── browser_unittest.py │ │ │ │ ├── extension_dict.py │ │ │ │ ├── extension_page.py │ │ │ │ ├── extension_to_load.py │ │ │ │ ├── extension_unittest.py │ │ │ │ ├── network_quiescence.js │ │ │ │ ├── possible_browser.py │ │ │ │ ├── profile_types.py │ │ │ │ ├── profile_types_unittest.py │ │ │ │ ├── tab.py │ │ │ │ ├── tab_list.py │ │ │ │ ├── tab_unittest.py │ │ │ │ ├── user_agent.py │ │ │ │ ├── user_agent_unittest.py │ │ │ │ ├── wait_for_frame.js │ │ │ │ └── web_contents.py │ │ │ ├── browser_profiles │ │ │ │ ├── content_scripts1 │ │ │ │ │ └── Default │ │ │ │ │ │ ├── Extensions │ │ │ │ │ │ └── behllobkkfkfnphdnhnkndlbkcpglgmj │ │ │ │ │ │ │ └── 1.0.0.0 │ │ │ │ │ │ │ ├── manifest.json │ │ │ │ │ │ │ └── script.js │ │ │ │ │ │ └── Preferences │ │ │ │ └── extension_webrequest │ │ │ │ │ └── Default │ │ │ │ │ ├── Extensions │ │ │ │ │ └── behllobkkfkfnphdnhnkndlbkcpglgmj │ │ │ │ │ │ └── 1.0.0.0 │ │ │ │ │ │ ├── background.html │ │ │ │ │ │ └── manifest.json │ │ │ │ │ └── Preferences │ │ │ ├── forwarders │ │ │ │ ├── __init__.py │ │ │ │ ├── android_forwarder.py │ │ │ │ ├── cros_forwarder.py │ │ │ │ ├── cros_forwarder_unittest.py │ │ │ │ ├── do_nothing_forwarder.py │ │ │ │ └── do_nothing_forwarder_unittest.py │ │ │ ├── image_processing │ │ │ │ ├── __init__.py │ │ │ │ ├── bitmaptools.cc │ │ │ │ ├── cv_util.py │ │ │ │ ├── cv_util_unittest.py │ │ │ │ ├── fake_frame_generator.py │ │ │ │ ├── frame_generator.py │ │ │ │ ├── image_util_bitmap_impl.py │ │ │ │ ├── image_util_numpy_impl.py │ │ │ │ ├── screen_finder.py │ │ │ │ ├── screen_finder_unittest.py │ │ │ │ ├── video.py │ │ │ │ ├── video_file_frame_generator.py │ │ │ │ ├── video_file_frame_generator_unittest.py │ │ │ │ └── video_unittest.py │ │ │ ├── platform │ │ │ │ ├── __init__.py │ │ │ │ ├── android_device.py │ │ │ │ ├── android_device_unittest.py │ │ │ │ ├── android_platform_backend.py │ │ │ │ ├── android_platform_backend_unittest.py │ │ │ │ ├── cros_device.py │ │ │ │ ├── cros_platform_backend.py │ │ │ │ ├── cros_platform_backend_unittest.py │ │ │ │ ├── desktop_device.py │ │ │ │ ├── desktop_platform_backend.py │ │ │ │ ├── device.py │ │ │ │ ├── device_finder.py │ │ │ │ ├── efficient_android_directory_copy.sh │ │ │ │ ├── gpu_device.py │ │ │ │ ├── gpu_device_unittest.py │ │ │ │ ├── gpu_info.py │ │ │ │ ├── gpu_info_unittest.py │ │ │ │ ├── ios_device.py │ │ │ │ ├── ios_platform_backend.py │ │ │ │ ├── linux_based_platform_backend.py │ │ │ │ ├── linux_based_platform_backend_unittest.py │ │ │ │ ├── linux_platform_backend.py │ │ │ │ ├── linux_platform_backend_unittest.py │ │ │ │ ├── mac_platform_backend.py │ │ │ │ ├── mac_platform_backend_unittest.py │ │ │ │ ├── msr_server_win.py │ │ │ │ ├── network_controller_backend.py │ │ │ │ ├── platform_backend.py │ │ │ │ ├── platform_backend_unittest.py │ │ │ │ ├── posix_platform_backend.py │ │ │ │ ├── posix_platform_backend_unittest.py │ │ │ │ ├── power_monitor │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── android_dumpsys_power_monitor.py │ │ │ │ │ ├── android_dumpsys_power_monitor_unittest.py │ │ │ │ │ ├── android_fuelgauge_power_monitor.py │ │ │ │ │ ├── android_fuelgauge_power_monitor_unittest.py │ │ │ │ │ ├── android_power_monitor_base.py │ │ │ │ │ ├── android_power_monitor_controller.py │ │ │ │ │ ├── android_power_monitor_controller_unittest.py │ │ │ │ │ ├── android_temperature_monitor.py │ │ │ │ │ ├── android_temperature_monitor_unittest.py │ │ │ │ │ ├── cros_power_monitor.py │ │ │ │ │ ├── cros_power_monitor_unittest.py │ │ │ │ │ ├── monsoon_power_monitor.py │ │ │ │ │ ├── monsoon_power_monitor_unittest.py │ │ │ │ │ ├── msr_power_monitor.py │ │ │ │ │ ├── msr_power_monitor_unittest.py │ │ │ │ │ ├── pm_mock.py │ │ │ │ │ ├── powermetrics_power_monitor.py │ │ │ │ │ ├── powermetrics_power_monitor_unittest.py │ │ │ │ │ ├── sysfs_power_monitor.py │ │ │ │ │ └── sysfs_power_monitor_unittest.py │ │ │ │ ├── profiler │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── android_prebuilt_profiler_helper.py │ │ │ │ │ ├── android_profiling_helper.py │ │ │ │ │ ├── android_profiling_helper_unittest.py │ │ │ │ │ ├── android_screen_recorder_profiler.py │ │ │ │ │ ├── android_screen_recorder_profiler_unittest.py │ │ │ │ │ ├── android_systrace_profiler.py │ │ │ │ │ ├── android_systrace_profiler_unittest.py │ │ │ │ │ ├── android_traceview_profiler.py │ │ │ │ │ ├── iprofiler_profiler.py │ │ │ │ │ ├── java_heap_profiler.py │ │ │ │ │ ├── monsoon.py │ │ │ │ │ ├── monsoon_profiler.py │ │ │ │ │ ├── netlog_profiler.py │ │ │ │ │ ├── oomkiller_profiler.py │ │ │ │ │ ├── perf_profiler.py │ │ │ │ │ ├── perf_profiler_unittest.py │ │ │ │ │ ├── profiler_finder.py │ │ │ │ │ ├── sample_profiler.py │ │ │ │ │ ├── strace_profiler.py │ │ │ │ │ ├── tcmalloc_heap_profiler.py │ │ │ │ │ ├── tcpdump_profiler.py │ │ │ │ │ ├── trace_profiler.py │ │ │ │ │ ├── trace_profiler_unittest.py │ │ │ │ │ ├── v8_profiler.py │ │ │ │ │ ├── vtune_profiler.py │ │ │ │ │ ├── vtune_profiler_unittest.py │ │ │ │ │ └── win_pgo_profiler.py │ │ │ │ ├── profiling_controller_backend.py │ │ │ │ ├── remote_platform_options.py │ │ │ │ ├── system_info.py │ │ │ │ ├── system_info_unittest.py │ │ │ │ ├── tracing_agent │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── atrace_tracing_agent.py │ │ │ │ │ ├── battor_tracing_agent.py │ │ │ │ │ ├── battor_tracing_agent_unittest.py │ │ │ │ │ ├── chrome_tracing_agent.py │ │ │ │ │ ├── chrome_tracing_agent_unittest.py │ │ │ │ │ ├── chrome_tracing_devtools_manager.py │ │ │ │ │ ├── cpu_tracing_agent.py │ │ │ │ │ ├── cpu_tracing_agent_unittest.py │ │ │ │ │ ├── display_tracing_agent.py │ │ │ │ │ └── display_tracing_agent_unittest.py │ │ │ │ ├── tracing_controller_backend.py │ │ │ │ ├── tracing_controller_backend_unittest.py │ │ │ │ └── win_platform_backend.py │ │ │ ├── results │ │ │ │ ├── __init__.py │ │ │ │ ├── base_test_results_unittest.py │ │ │ │ ├── chart_json_output_formatter.py │ │ │ │ ├── chart_json_output_formatter_unittest.py │ │ │ │ ├── csv_pivot_table_output_formatter.py │ │ │ │ ├── csv_pivot_table_output_formatter_unittest.py │ │ │ │ ├── gtest_progress_reporter.py │ │ │ │ ├── gtest_progress_reporter_unittest.py │ │ │ │ ├── histogram_set_json_output_formatter.py │ │ │ │ ├── html_output_formatter.py │ │ │ │ ├── json_output_formatter.py │ │ │ │ ├── json_output_formatter_unittest.py │ │ │ │ ├── legacy_html_output_formatter.py │ │ │ │ ├── legacy_html_output_formatter_unittest.py │ │ │ │ ├── output_formatter.py │ │ │ │ ├── page_test_results.py │ │ │ │ ├── page_test_results_unittest.py │ │ │ │ ├── progress_reporter.py │ │ │ │ ├── results_options.py │ │ │ │ ├── story_run.py │ │ │ │ └── story_run_unittest.py │ │ │ ├── story_runner.py │ │ │ ├── story_runner_unittest.py │ │ │ ├── testing │ │ │ │ ├── __init__.py │ │ │ │ ├── animated_page.html │ │ │ │ ├── arch-lsb-release │ │ │ │ ├── archive_files │ │ │ │ │ ├── test.json │ │ │ │ │ ├── test_000.wpr │ │ │ │ │ ├── test_000.wpr.sha1 │ │ │ │ │ ├── test_missing_wpr_file.json │ │ │ │ │ ├── test_page_set.py │ │ │ │ │ ├── test_simple_one_page_set.py │ │ │ │ │ └── test_simple_two_page_set.py │ │ │ │ ├── autotest_ext │ │ │ │ │ ├── background.js │ │ │ │ │ └── manifest.json │ │ │ │ ├── bear.webm │ │ │ │ ├── blank.html │ │ │ │ ├── blink_style.html │ │ │ │ ├── cast.html │ │ │ │ ├── create_many_objects.html │ │ │ │ ├── dependency_test_dir │ │ │ │ │ ├── dog │ │ │ │ │ │ └── dog │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── dog_object.py │ │ │ │ │ └── other_animals │ │ │ │ │ │ ├── cat │ │ │ │ │ │ └── cat │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── cat_object.py │ │ │ │ │ │ └── moose │ │ │ │ │ │ └── moose │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── horn │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── horn_object.py │ │ │ │ │ │ └── moose_object.py │ │ │ │ ├── discoverable_classes │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── another_discover_dummyclass.py │ │ │ │ │ ├── discover_dummyclass.py │ │ │ │ │ └── parameter_discover_dummyclass.py │ │ │ │ ├── dom_counter_sample.html │ │ │ │ ├── draggable.html │ │ │ │ ├── favicon.ico │ │ │ │ ├── frame0.png │ │ │ │ ├── frame1.png │ │ │ │ ├── frame2.png │ │ │ │ ├── frame3.png │ │ │ │ ├── frame4.png │ │ │ │ ├── frame5.png │ │ │ │ ├── frame6.png │ │ │ │ ├── frame7.png │ │ │ │ ├── green_rect.html │ │ │ │ ├── host.html │ │ │ │ ├── iframe1.html │ │ │ │ ├── iframe2.html │ │ │ │ ├── iframe3.html │ │ │ │ ├── image.png │ │ │ │ ├── image_decoding.html │ │ │ │ ├── interaction_enabled_page.html │ │ │ │ ├── jebgalgnebhfojomionfpkfelancnnkf.crx │ │ │ │ ├── manifest_with_key.json │ │ │ │ ├── non_scrollable_page.html │ │ │ │ ├── page_that_logs_to_console.html │ │ │ │ ├── page_with_clickables.html │ │ │ │ ├── page_with_link.html │ │ │ │ ├── page_with_swipeables.html │ │ │ │ ├── pages │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── external_page.py │ │ │ │ ├── perf_report_output.txt │ │ │ │ ├── powermetrics_output.output │ │ │ │ ├── powermetrics_output_unsupported_hardware.output │ │ │ │ ├── powermetrics_vmware.output │ │ │ │ ├── proc_meminfo │ │ │ │ ├── sample_perf_report_output.txt │ │ │ │ ├── sample_vtune_db_output │ │ │ │ ├── screen_3_frames.mov │ │ │ │ ├── screenshot_test.html │ │ │ │ ├── scrollable_page.html │ │ │ │ ├── simple_app │ │ │ │ │ ├── background.js │ │ │ │ │ ├── main.html │ │ │ │ │ ├── manifest.json │ │ │ │ │ └── second.html │ │ │ │ ├── simple_extension │ │ │ │ │ ├── background.js │ │ │ │ │ └── manifest.json │ │ │ │ ├── smaps │ │ │ │ ├── stat │ │ │ │ ├── status │ │ │ │ ├── status_nohwm │ │ │ │ ├── system_stub_test_module.py │ │ │ │ ├── test_page_sets │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── data │ │ │ │ │ │ ├── example_domain.json │ │ │ │ │ │ └── example_domain_001.wpr.sha1 │ │ │ │ │ └── example_domain.py │ │ │ │ ├── test_png.png │ │ │ │ ├── test_png_2.png │ │ │ │ ├── ubuntu-saucy-lsb-release │ │ │ │ ├── vid.mp4 │ │ │ │ ├── video_test.html │ │ │ │ └── webview_app │ │ │ │ │ ├── background.js │ │ │ │ │ ├── main.html │ │ │ │ │ └── manifest.json │ │ │ └── util │ │ │ │ ├── __init__.py │ │ │ │ ├── atexit_with_log.py │ │ │ │ ├── binary_manager.py │ │ │ │ ├── binary_manager_unittest.py │ │ │ │ ├── camel_case.py │ │ │ │ ├── camel_case_unittest.py │ │ │ │ ├── classes.py │ │ │ │ ├── classes_unittest.py │ │ │ │ ├── command_line.py │ │ │ │ ├── exception_formatter.py │ │ │ │ ├── external_modules.py │ │ │ │ ├── file_handle.py │ │ │ │ ├── file_handle_unittest.py │ │ │ │ ├── global_hooks.py │ │ │ │ ├── path.py │ │ │ │ ├── path_set.py │ │ │ │ ├── path_set_unittest.py │ │ │ │ ├── path_unittest.py │ │ │ │ ├── ps_util.py │ │ │ │ ├── ts_proxy_server.py │ │ │ │ ├── ts_proxy_server_unittest.py │ │ │ │ ├── wp_server_unittest.py │ │ │ │ └── wpr_server.py │ │ ├── page │ │ │ ├── __init__.py │ │ │ ├── action_runner.py │ │ │ ├── cache_temperature.py │ │ │ ├── cache_temperature_unittest.py │ │ │ ├── legacy_page_test.py │ │ │ ├── page.py │ │ │ ├── page_run_end_to_end_unittest.py │ │ │ ├── page_test_unittest.py │ │ │ ├── page_unittest.py │ │ │ ├── shared_page_state.py │ │ │ ├── shared_page_state_unittest.py │ │ │ └── traffic_setting.py │ │ ├── project_config.py │ │ ├── record_wpr.py │ │ ├── record_wpr_unittest.py │ │ ├── story │ │ │ ├── __init__.py │ │ │ ├── shared_state.py │ │ │ ├── story.py │ │ │ ├── story_filter.py │ │ │ ├── story_filter_unittest.py │ │ │ ├── story_set.py │ │ │ ├── story_set_unittest.py │ │ │ └── story_unittest.py │ │ ├── telemetry_unittest_deps.json │ │ ├── testing │ │ │ ├── __init__.py │ │ │ ├── browser_test_case.py │ │ │ ├── browser_test_runner.py │ │ │ ├── browser_test_runner_unittest.py │ │ │ ├── decorators_unittest.py │ │ │ ├── disabled_cases.py │ │ │ ├── fakes │ │ │ │ └── __init__.py │ │ │ ├── gtest_progress_reporter.py │ │ │ ├── gtest_progress_reporter_unittest.py │ │ │ ├── internal │ │ │ │ ├── __init__.py │ │ │ │ └── fake_gpu_info.py │ │ │ ├── options_for_unittests.py │ │ │ ├── page_test_test_case.py │ │ │ ├── progress_reporter.py │ │ │ ├── progress_reporter_unittest.py │ │ │ ├── run_chromeos_tests.py │ │ │ ├── run_tests.py │ │ │ ├── run_tests_unittest.py │ │ │ ├── serially_executed_browser_test_case.py │ │ │ ├── simple_mock.py │ │ │ ├── simple_mock_unittest.py │ │ │ ├── story_set_smoke_test.py │ │ │ ├── stream.py │ │ │ ├── system_stub.py │ │ │ ├── system_stub_unittest.py │ │ │ ├── tab_test_case.py │ │ │ ├── test_page_test_results.py │ │ │ └── unittest_runner.py │ │ ├── timeline │ │ │ ├── __init__.py │ │ │ ├── async_slice.py │ │ │ ├── atrace_config.py │ │ │ ├── bounds.py │ │ │ ├── bounds_unittest.py │ │ │ ├── chrome_trace_category_filter.py │ │ │ ├── chrome_trace_category_filter_unittest.py │ │ │ ├── chrome_trace_config.py │ │ │ ├── chrome_trace_config_unittest.py │ │ │ ├── counter.py │ │ │ ├── counter_unittest.py │ │ │ ├── event.py │ │ │ ├── event_container.py │ │ │ ├── event_unittest.py │ │ │ ├── flow_event.py │ │ │ ├── importer.py │ │ │ ├── inspector_importer.py │ │ │ ├── inspector_importer_unittest.py │ │ │ ├── memory_dump_event.py │ │ │ ├── memory_dump_event_unittest.py │ │ │ ├── model.py │ │ │ ├── model_unittest.py │ │ │ ├── process.py │ │ │ ├── sample.py │ │ │ ├── slice.py │ │ │ ├── slice_unittest.py │ │ │ ├── surface_flinger_importer.py │ │ │ ├── tab_id_importer.py │ │ │ ├── tab_id_importer_unittest.py │ │ │ ├── thread.py │ │ │ ├── thread_unittest.py │ │ │ ├── trace_data.py │ │ │ ├── trace_data_unittest.py │ │ │ ├── trace_event_importer.py │ │ │ ├── trace_event_importer_unittest.py │ │ │ └── tracing_config.py │ │ ├── util │ │ │ ├── __init__.py │ │ │ ├── bot_utils.py │ │ │ ├── color_histogram.py │ │ │ ├── color_histogram_unittest.py │ │ │ ├── command_line.py │ │ │ ├── dependency.py │ │ │ ├── image_util.py │ │ │ ├── image_util_unittest.py │ │ │ ├── js_template.py │ │ │ ├── js_template_unittest.py │ │ │ ├── mac │ │ │ │ ├── README │ │ │ │ ├── __init__.py │ │ │ │ ├── determine_if_keychain_entry_is_decryptable.c │ │ │ │ ├── determine_if_keychain_is_locked.c │ │ │ │ └── keychain_helper.py │ │ │ ├── matching.py │ │ │ ├── matching_unittest.py │ │ │ ├── perf_result_data_type.py │ │ │ ├── perf_tests_helper.py │ │ │ ├── perf_tests_results_helper.py │ │ │ ├── process_statistic_timeline_data.py │ │ │ ├── process_statistic_timeline_data_unittest.py │ │ │ ├── rgba_color.py │ │ │ ├── screenshot.py │ │ │ ├── screenshot_unittest.py │ │ │ ├── statistics.py │ │ │ ├── statistics_unittest.py │ │ │ └── wpr_modes.py │ │ ├── value │ │ │ ├── __init__.py │ │ │ ├── common_value_helpers.py │ │ │ ├── common_value_helpers_unittest.py │ │ │ ├── failure.py │ │ │ ├── failure_unittest.py │ │ │ ├── histogram.py │ │ │ ├── histogram_unittest.py │ │ │ ├── histogram_util.py │ │ │ ├── histogram_util_unittest.py │ │ │ ├── improvement_direction.py │ │ │ ├── list_of_scalar_values.py │ │ │ ├── list_of_scalar_values_unittest.py │ │ │ ├── merge_values.py │ │ │ ├── merge_values_unittest.py │ │ │ ├── none_values.py │ │ │ ├── scalar.py │ │ │ ├── scalar_unittest.py │ │ │ ├── skip.py │ │ │ ├── skip_unittest.py │ │ │ ├── summarizable.py │ │ │ ├── summarizable_unittest.py │ │ │ ├── summary.py │ │ │ ├── summary_unittest.py │ │ │ ├── trace.py │ │ │ ├── trace_unittest.py │ │ │ ├── unit-info.json │ │ │ └── value_unittest.py │ │ ├── web_perf │ │ │ ├── __init__.py │ │ │ ├── metrics │ │ │ │ ├── __init__.py │ │ │ │ ├── blob_timeline.py │ │ │ │ ├── blob_timeline_unittest.py │ │ │ │ ├── gpu_timeline.py │ │ │ │ ├── gpu_timeline_unittest.py │ │ │ │ ├── indexeddb_timeline.py │ │ │ │ ├── jitter_timeline.py │ │ │ │ ├── jitter_timeline_unittest.py │ │ │ │ ├── layout.py │ │ │ │ ├── mainthread_jank_stats.py │ │ │ │ ├── mainthread_jank_stats_unittest.py │ │ │ │ ├── rendering_frame.py │ │ │ │ ├── rendering_frame_unittest.py │ │ │ │ ├── rendering_stats.py │ │ │ │ ├── rendering_stats_unittest.py │ │ │ │ ├── single_event.py │ │ │ │ ├── single_event_unittest.py │ │ │ │ ├── smoothness.py │ │ │ │ ├── smoothness_unittest.py │ │ │ │ ├── startup.py │ │ │ │ ├── startup_unittest.py │ │ │ │ ├── text_selection.py │ │ │ │ ├── timeline_based_metric.py │ │ │ │ ├── timeline_based_metric_unittest.py │ │ │ │ ├── trace_event_stats.py │ │ │ │ ├── trace_event_stats_unittest.py │ │ │ │ ├── v8_execution.py │ │ │ │ ├── v8_execution_unittest.py │ │ │ │ ├── v8_gc_latency.py │ │ │ │ ├── v8_gc_latency_unittest.py │ │ │ │ ├── webrtc_rendering_stats.py │ │ │ │ ├── webrtc_rendering_stats_unittest.py │ │ │ │ └── webrtc_rendering_timeline.py │ │ │ ├── smooth_gesture_util.py │ │ │ ├── smooth_gesture_util_unittest.py │ │ │ ├── story_test.py │ │ │ ├── timeline_based_measurement.py │ │ │ ├── timeline_based_measurement_unittest.py │ │ │ ├── timeline_based_page_test.py │ │ │ ├── timeline_based_page_test_unittest.py │ │ │ ├── timeline_interaction_record.py │ │ │ └── timeline_interaction_record_unittest.py │ │ └── wpr │ │ │ ├── __init__.py │ │ │ ├── archive_info.py │ │ │ └── archive_info_unittest.py │ │ ├── third_party │ │ ├── WebKit │ │ │ ├── LICENSE │ │ │ ├── PerformanceTests │ │ │ │ └── resources │ │ │ │ │ ├── jquery.tablesorter.min.js │ │ │ │ │ └── statistics.js │ │ │ └── README.chromium │ │ ├── __init__.py │ │ ├── altgraph │ │ │ ├── MANIFEST.in │ │ │ ├── PKG-INFO │ │ │ ├── README.chromium │ │ │ ├── README.txt │ │ │ ├── altgraph.egg-info │ │ │ │ ├── PKG-INFO │ │ │ │ ├── SOURCES.txt │ │ │ │ ├── dependency_links.txt │ │ │ │ ├── top_level.txt │ │ │ │ └── zip-safe │ │ │ ├── altgraph │ │ │ │ ├── Dot.py │ │ │ │ ├── Graph.py │ │ │ │ ├── GraphAlgo.py │ │ │ │ ├── GraphStat.py │ │ │ │ ├── GraphUtil.py │ │ │ │ ├── ObjectGraph.py │ │ │ │ └── __init__.py │ │ │ ├── altgraph_tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test_altgraph.py │ │ │ │ ├── test_dot.py │ │ │ │ ├── test_graph.py │ │ │ │ ├── test_graphstat.py │ │ │ │ ├── test_graphutil.py │ │ │ │ └── test_object_graph.py │ │ │ ├── doc │ │ │ │ ├── changelog.rst │ │ │ │ ├── conf.py │ │ │ │ ├── core.rst │ │ │ │ ├── dot.rst │ │ │ │ ├── graph.rst │ │ │ │ ├── graphalgo.rst │ │ │ │ ├── graphstat.rst │ │ │ │ ├── graphutil.rst │ │ │ │ ├── index.rst │ │ │ │ ├── license.rst │ │ │ │ └── objectgraph.rst │ │ │ ├── setup.cfg │ │ │ └── setup.py │ │ ├── chromite │ │ │ ├── LICENSE │ │ │ ├── README.chromium │ │ │ └── ssh_keys │ │ │ │ ├── testing_rsa │ │ │ │ └── testing_rsa.pub │ │ ├── flot │ │ │ ├── LICENSE.txt │ │ │ ├── README.chromium │ │ │ └── jquery.flot.min.js │ │ ├── mock │ │ │ ├── LICENSE.txt │ │ │ ├── README.chromium │ │ │ └── mock.py │ │ ├── modulegraph │ │ │ ├── MANIFEST.in │ │ │ ├── PKG-INFO │ │ │ ├── README.chromium │ │ │ ├── README.txt │ │ │ ├── doc │ │ │ │ ├── changelog.rst │ │ │ │ ├── commandline.rst │ │ │ │ ├── conf.py │ │ │ │ ├── find_modules.rst │ │ │ │ ├── index.rst │ │ │ │ ├── license.rst │ │ │ │ ├── modulegraph.rst │ │ │ │ ├── util.rst │ │ │ │ └── zipio.rst │ │ │ ├── modulegraph.egg-info │ │ │ │ ├── PKG-INFO │ │ │ │ ├── SOURCES.txt │ │ │ │ ├── dependency_links.txt │ │ │ │ ├── entry_points.txt │ │ │ │ ├── requires.txt │ │ │ │ ├── top_level.txt │ │ │ │ └── zip-safe │ │ │ ├── modulegraph │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── find_modules.py │ │ │ │ ├── modulegraph.py │ │ │ │ ├── util.py │ │ │ │ └── zipio.py │ │ │ ├── modulegraph_tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test_basic.py │ │ │ │ ├── test_edge_data.py │ │ │ │ ├── test_explicit_packages.py │ │ │ │ ├── test_implies.py │ │ │ │ ├── test_import_from_init.py │ │ │ │ ├── test_imports.py │ │ │ │ ├── test_modulegraph.py │ │ │ │ ├── test_pep420_nspkg.py │ │ │ │ ├── test_pycompat_pkg.py │ │ │ │ ├── test_relimport2.py │ │ │ │ ├── test_setuptools_nspkg.py │ │ │ │ ├── test_util.py │ │ │ │ ├── test_zipio.py │ │ │ │ ├── testdata │ │ │ │ │ ├── nspkg │ │ │ │ │ │ ├── distribute-0.6.10 │ │ │ │ │ │ │ ├── child │ │ │ │ │ │ │ │ ├── namedpkg │ │ │ │ │ │ │ │ │ └── slave.py │ │ │ │ │ │ │ │ ├── nameduser-1.5-py2.6-nspkg.pth │ │ │ │ │ │ │ │ └── nameduser-1.5-py2.6.egg-info │ │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ └── parent │ │ │ │ │ │ │ │ ├── namedpkg-1.0-py2.6-nspkg.pth │ │ │ │ │ │ │ │ ├── namedpkg-1.0-py2.6.egg-info │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ │ └── namedpkg │ │ │ │ │ │ │ │ └── parent.py │ │ │ │ │ │ ├── distribute-0.6.12 │ │ │ │ │ │ │ ├── child │ │ │ │ │ │ │ │ ├── namedpkg │ │ │ │ │ │ │ │ │ └── slave.py │ │ │ │ │ │ │ │ ├── nameduser-1.5-py2.5-nspkg.pth │ │ │ │ │ │ │ │ └── nameduser-1.5-py2.5.egg-info │ │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ └── parent │ │ │ │ │ │ │ │ ├── namedpkg-1.0-py2.5-nspkg.pth │ │ │ │ │ │ │ │ ├── namedpkg-1.0-py2.5.egg-info │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ │ └── namedpkg │ │ │ │ │ │ │ │ └── parent.py │ │ │ │ │ │ ├── setuptools-0.6c9 │ │ │ │ │ │ │ ├── child │ │ │ │ │ │ │ │ ├── namedpkg │ │ │ │ │ │ │ │ │ └── slave.py │ │ │ │ │ │ │ │ ├── nameduser-1.5-py2.5-nspkg.pth │ │ │ │ │ │ │ │ └── nameduser-1.5-py2.5.egg-info │ │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ └── parent │ │ │ │ │ │ │ │ ├── namedpkg-1.0-py2.5-nspkg.pth │ │ │ │ │ │ │ │ ├── namedpkg-1.0-py2.5.egg-info │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ │ └── namedpkg │ │ │ │ │ │ │ │ └── parent.py │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── child │ │ │ │ │ │ │ ├── namedpkg │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ └── slave.py │ │ │ │ │ │ │ ├── nameduser.egg-info │ │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ └── setup.py │ │ │ │ │ │ │ ├── install.py │ │ │ │ │ │ │ └── parent │ │ │ │ │ │ │ ├── namedpkg.egg-info │ │ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ │ │ └── top_level.txt │ │ │ │ │ │ │ ├── namedpkg │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── parent.py │ │ │ │ │ │ │ └── setup.py │ │ │ │ │ ├── script │ │ │ │ │ ├── subdir │ │ │ │ │ │ ├── file1.txt │ │ │ │ │ │ └── file2.txt │ │ │ │ │ ├── syspath.egg │ │ │ │ │ ├── syspath.zip │ │ │ │ │ ├── syspath │ │ │ │ │ │ ├── myext.pyd │ │ │ │ │ │ ├── mymodule.py │ │ │ │ │ │ ├── mymodule3.py │ │ │ │ │ │ └── mypkg │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── test.egg │ │ │ │ │ ├── test.txt │ │ │ │ │ └── zipped.egg │ │ │ │ ├── testpkg-compatmodule │ │ │ │ │ └── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── api.py │ │ │ │ │ │ ├── api2.py │ │ │ │ │ │ └── api3.py │ │ │ │ ├── testpkg-edgedata │ │ │ │ │ ├── function_class_existing.py │ │ │ │ │ ├── function_conditional_existing.py │ │ │ │ │ ├── function_conditional_import2_existing.py │ │ │ │ │ ├── function_conditional_import_existing.py │ │ │ │ │ ├── function_existing.py │ │ │ │ │ ├── function_import2_existing.py │ │ │ │ │ ├── function_import_existing.py │ │ │ │ │ ├── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── function_class_existing.py │ │ │ │ │ │ ├── function_conditional_existing.py │ │ │ │ │ │ ├── function_conditional_import2_existing.py │ │ │ │ │ │ ├── function_conditional_import_existing.py │ │ │ │ │ │ ├── function_existing.py │ │ │ │ │ │ ├── function_import2_existing.py │ │ │ │ │ │ ├── function_import_existing.py │ │ │ │ │ │ ├── toplevel_class_existing.py │ │ │ │ │ │ ├── toplevel_conditional_existing.py │ │ │ │ │ │ ├── toplevel_conditional_import2_existing.py │ │ │ │ │ │ ├── toplevel_conditional_import_existing.py │ │ │ │ │ │ ├── toplevel_existing.py │ │ │ │ │ │ ├── toplevel_import2_existing.py │ │ │ │ │ │ └── toplevel_import_existing.py │ │ │ │ │ ├── script.py │ │ │ │ │ ├── script_from_import.py │ │ │ │ │ ├── script_multi_import.py │ │ │ │ │ ├── toplevel_class_existing.py │ │ │ │ │ ├── toplevel_conditional_existing.py │ │ │ │ │ ├── toplevel_conditional_import2_existing.py │ │ │ │ │ ├── toplevel_conditional_import_existing.py │ │ │ │ │ ├── toplevel_existing.py │ │ │ │ │ ├── toplevel_import2_existing.py │ │ │ │ │ └── toplevel_import_existing.py │ │ │ │ ├── testpkg-import-from-init │ │ │ │ │ ├── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── subpkg │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── compat.py │ │ │ │ │ ├── pkg2 │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── subpkg │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── compat.py │ │ │ │ │ └── script.py │ │ │ │ ├── testpkg-packages │ │ │ │ │ ├── main_script.py │ │ │ │ │ └── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── sub1 │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── modA.py │ │ │ │ │ │ ├── sub2 │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── mod.py │ │ │ │ │ │ └── sub3.py │ │ │ │ ├── testpkg-pep420-namespace │ │ │ │ │ ├── path1 │ │ │ │ │ │ └── package │ │ │ │ │ │ │ └── sub2.py │ │ │ │ │ └── path2 │ │ │ │ │ │ └── package │ │ │ │ │ │ ├── nspkg │ │ │ │ │ │ └── mod.py │ │ │ │ │ │ ├── sub1.py │ │ │ │ │ │ └── subpackage │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── sub.py │ │ │ │ ├── testpkg-regr1 │ │ │ │ │ ├── main_script.py │ │ │ │ │ └── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── a.py │ │ │ │ │ │ └── b.py │ │ │ │ ├── testpkg-regr2 │ │ │ │ │ ├── main_script.py │ │ │ │ │ └── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ └── pkg.py │ │ │ │ ├── testpkg-regr3 │ │ │ │ │ ├── mypkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── distutils │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── ccompiler.py │ │ │ │ │ └── script.py │ │ │ │ ├── testpkg-regr4 │ │ │ │ │ ├── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── core │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── callables.py │ │ │ │ │ │ │ ├── listener.py │ │ │ │ │ │ │ └── listenerimpl.py │ │ │ │ │ └── script.py │ │ │ │ ├── testpkg-regr5 │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── script.py │ │ │ │ ├── testpkg-regr6 │ │ │ │ │ ├── module.py │ │ │ │ │ └── script.py │ │ │ │ ├── testpkg-relimport │ │ │ │ │ ├── mod.py │ │ │ │ │ ├── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── mod.py │ │ │ │ │ │ ├── oldstyle.py │ │ │ │ │ │ ├── relative.py │ │ │ │ │ │ ├── relimport.py │ │ │ │ │ │ ├── sub2 │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── mod.py │ │ │ │ │ │ ├── subpkg │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── mod2.py │ │ │ │ │ │ │ ├── relative.py │ │ │ │ │ │ │ └── relative2.py │ │ │ │ │ │ └── toplevel.py │ │ │ │ │ └── script.py │ │ │ │ ├── testpkg-relimport2 │ │ │ │ │ ├── pkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── mod1.py │ │ │ │ │ │ ├── mod2.py │ │ │ │ │ │ ├── mod3.py │ │ │ │ │ │ └── sub │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ └── toplevel.py │ │ │ │ └── testpkg-setuptools-namespace │ │ │ │ │ ├── build │ │ │ │ │ └── lib │ │ │ │ │ │ └── nspkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── module.py │ │ │ │ │ │ └── nssubpkg │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── sub.py │ │ │ │ │ ├── setup.py │ │ │ │ │ └── src │ │ │ │ │ ├── nspkg.egg-info │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ ├── namespace_packages.txt │ │ │ │ │ ├── not-zip-safe │ │ │ │ │ └── top_level.txt │ │ │ │ │ └── nspkg │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── module.py │ │ │ │ │ └── nssubpkg │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── sub.py │ │ │ ├── scripts │ │ │ │ └── extract_implies.py │ │ │ ├── setup.cfg │ │ │ └── setup.py │ │ ├── mox3 │ │ │ ├── CONTRIBUTING.rst │ │ │ ├── COPYING.txt │ │ │ ├── MANIFEST.in │ │ │ ├── README.chromium │ │ │ ├── README.rst │ │ │ ├── doc │ │ │ │ └── source │ │ │ │ │ ├── contributing.rst │ │ │ │ │ ├── index.rst │ │ │ │ │ └── readme.rst │ │ │ ├── mox3 │ │ │ │ ├── __init__.py │ │ │ │ ├── fixture.py │ │ │ │ ├── mox.py │ │ │ │ ├── stubout.py │ │ │ │ └── tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── mox_helper.py │ │ │ │ │ ├── stubout_helper.py │ │ │ │ │ ├── test_mox.py │ │ │ │ │ └── test_stubout.py │ │ │ ├── requirements.txt │ │ │ ├── setup.cfg │ │ │ ├── setup.py │ │ │ ├── test-requirements.txt │ │ │ └── tox.ini │ │ ├── png │ │ │ ├── README.chromium │ │ │ └── png.py │ │ ├── pyfakefs │ │ │ ├── README.chromium │ │ │ └── pyfakefs │ │ │ │ ├── COPYING │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── all_tests.py │ │ │ │ ├── example.py │ │ │ │ ├── example_test.py │ │ │ │ ├── fake_filesystem.py │ │ │ │ ├── fake_filesystem_glob.py │ │ │ │ ├── fake_filesystem_glob_test.py │ │ │ │ ├── fake_filesystem_shutil.py │ │ │ │ ├── fake_filesystem_shutil_test.py │ │ │ │ ├── fake_filesystem_test.py │ │ │ │ ├── fake_filesystem_unittest.py │ │ │ │ ├── fake_filesystem_unittest_test.py │ │ │ │ ├── fake_filesystem_vs_real_test.py │ │ │ │ ├── fake_tempfile.py │ │ │ │ ├── fake_tempfile_test.py │ │ │ │ ├── requirements.txt │ │ │ │ ├── setup.py │ │ │ │ └── tox.ini │ │ ├── pyserial │ │ │ ├── LICENSE.txt │ │ │ ├── README.chromium │ │ │ ├── linux-product_info.patch │ │ │ └── serial │ │ │ │ ├── __init__.py │ │ │ │ ├── rfc2217.py │ │ │ │ ├── serialcli.py │ │ │ │ ├── serialjava.py │ │ │ │ ├── serialposix.py │ │ │ │ ├── serialutil.py │ │ │ │ ├── serialwin32.py │ │ │ │ ├── sermsdos.py │ │ │ │ ├── tools │ │ │ │ ├── __init__.py │ │ │ │ ├── list_ports.py │ │ │ │ ├── list_ports_linux.py │ │ │ │ ├── list_ports_osx.py │ │ │ │ ├── list_ports_posix.py │ │ │ │ ├── list_ports_windows.py │ │ │ │ └── miniterm.py │ │ │ │ ├── urlhandler │ │ │ │ ├── __init__.py │ │ │ │ ├── protocol_hwgrep.py │ │ │ │ ├── protocol_loop.py │ │ │ │ ├── protocol_rfc2217.py │ │ │ │ └── protocol_socket.py │ │ │ │ └── win32.py │ │ ├── tsproxy │ │ │ ├── LICENSE │ │ │ ├── README.chromium │ │ │ ├── README.md │ │ │ └── tsproxy.py │ │ ├── web-page-replay │ │ │ ├── COPYING │ │ │ ├── PRESUBMIT.py │ │ │ ├── README.chromium │ │ │ ├── README.md │ │ │ ├── adb_install_cert.py │ │ │ ├── certutils.py │ │ │ ├── certutils_test.py │ │ │ ├── customhandlers.py │ │ │ ├── daemonserver.py │ │ │ ├── deterministic.js │ │ │ ├── dnsproxy.py │ │ │ ├── documentation │ │ │ │ ├── Contributing.md │ │ │ │ ├── GettingStarted.md │ │ │ │ ├── Rules.md │ │ │ │ └── WebPageReplayDiagram.png │ │ │ ├── exception_formatter.py │ │ │ ├── httparchive.py │ │ │ ├── httparchive_test.py │ │ │ ├── httpclient.py │ │ │ ├── httpclient_test.py │ │ │ ├── httpproxy.py │ │ │ ├── httpproxy_test.py │ │ │ ├── httpzlib.py │ │ │ ├── mock-archive.txt │ │ │ ├── mockhttprequest.py │ │ │ ├── net_configs.py │ │ │ ├── platformsettings.py │ │ │ ├── platformsettings_test.py │ │ │ ├── proxyshaper.py │ │ │ ├── proxyshaper_test.py │ │ │ ├── pylintrc │ │ │ ├── replay.py │ │ │ ├── replay_test.py │ │ │ ├── requirements.txt │ │ │ ├── rules │ │ │ │ ├── __init__.py │ │ │ │ ├── log_url.py │ │ │ │ └── rule.py │ │ │ ├── rules_parser.py │ │ │ ├── rules_parser_test.py │ │ │ ├── run_tests │ │ │ ├── script_injector.py │ │ │ ├── script_injector_test.py │ │ │ ├── servermanager.py │ │ │ ├── setup.py │ │ │ ├── sslproxy.py │ │ │ ├── sslproxy_test.py │ │ │ ├── test_runner.py │ │ │ ├── test_utils.py │ │ │ ├── third_party │ │ │ │ ├── __init__.py │ │ │ │ ├── dns │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.web-page-replay │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── dnssec.py │ │ │ │ │ ├── e164.py │ │ │ │ │ ├── edns.py │ │ │ │ │ ├── entropy.py │ │ │ │ │ ├── exception.py │ │ │ │ │ ├── flags.py │ │ │ │ │ ├── inet.py │ │ │ │ │ ├── ipv4.py │ │ │ │ │ ├── ipv6.py │ │ │ │ │ ├── message.py │ │ │ │ │ ├── name.py │ │ │ │ │ ├── namedict.py │ │ │ │ │ ├── node.py │ │ │ │ │ ├── opcode.py │ │ │ │ │ ├── query.py │ │ │ │ │ ├── rcode.py │ │ │ │ │ ├── rdata.py │ │ │ │ │ ├── rdataclass.py │ │ │ │ │ ├── rdataset.py │ │ │ │ │ ├── rdatatype.py │ │ │ │ │ ├── rdtypes │ │ │ │ │ │ ├── ANY │ │ │ │ │ │ │ ├── AFSDB.py │ │ │ │ │ │ │ ├── CERT.py │ │ │ │ │ │ │ ├── CNAME.py │ │ │ │ │ │ │ ├── DLV.py │ │ │ │ │ │ │ ├── DNAME.py │ │ │ │ │ │ │ ├── DNSKEY.py │ │ │ │ │ │ │ ├── DS.py │ │ │ │ │ │ │ ├── GPOS.py │ │ │ │ │ │ │ ├── HINFO.py │ │ │ │ │ │ │ ├── HIP.py │ │ │ │ │ │ │ ├── ISDN.py │ │ │ │ │ │ │ ├── KEY.py │ │ │ │ │ │ │ ├── LOC.py │ │ │ │ │ │ │ ├── MX.py │ │ │ │ │ │ │ ├── NS.py │ │ │ │ │ │ │ ├── NSEC.py │ │ │ │ │ │ │ ├── NSEC3.py │ │ │ │ │ │ │ ├── NSEC3PARAM.py │ │ │ │ │ │ │ ├── NXT.py │ │ │ │ │ │ │ ├── PTR.py │ │ │ │ │ │ │ ├── RP.py │ │ │ │ │ │ │ ├── RRSIG.py │ │ │ │ │ │ │ ├── RT.py │ │ │ │ │ │ │ ├── SIG.py │ │ │ │ │ │ │ ├── SOA.py │ │ │ │ │ │ │ ├── SPF.py │ │ │ │ │ │ │ ├── SSHFP.py │ │ │ │ │ │ │ ├── TXT.py │ │ │ │ │ │ │ ├── X25.py │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── IN │ │ │ │ │ │ │ ├── A.py │ │ │ │ │ │ │ ├── AAAA.py │ │ │ │ │ │ │ ├── APL.py │ │ │ │ │ │ │ ├── DHCID.py │ │ │ │ │ │ │ ├── IPSECKEY.py │ │ │ │ │ │ │ ├── KX.py │ │ │ │ │ │ │ ├── NAPTR.py │ │ │ │ │ │ │ ├── NSAP.py │ │ │ │ │ │ │ ├── NSAP_PTR.py │ │ │ │ │ │ │ ├── PX.py │ │ │ │ │ │ │ ├── SRV.py │ │ │ │ │ │ │ ├── WKS.py │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── dsbase.py │ │ │ │ │ │ ├── keybase.py │ │ │ │ │ │ ├── mxbase.py │ │ │ │ │ │ ├── nsbase.py │ │ │ │ │ │ ├── sigbase.py │ │ │ │ │ │ └── txtbase.py │ │ │ │ │ ├── renderer.py │ │ │ │ │ ├── resolver.py │ │ │ │ │ ├── reversename.py │ │ │ │ │ ├── rrset.py │ │ │ │ │ ├── set.py │ │ │ │ │ ├── tokenizer.py │ │ │ │ │ ├── tsig.py │ │ │ │ │ ├── tsigkeyring.py │ │ │ │ │ ├── ttl.py │ │ │ │ │ ├── update.py │ │ │ │ │ ├── version.py │ │ │ │ │ └── zone.py │ │ │ │ ├── ipaddr │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── MANIFEST.in │ │ │ │ │ ├── README │ │ │ │ │ ├── README.web-page-replay │ │ │ │ │ ├── ipaddr.py │ │ │ │ │ ├── ipaddr_test.py │ │ │ │ │ ├── setup.py │ │ │ │ │ └── test-2to3.sh │ │ │ │ ├── ipfw_win32 │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── README.web-page-replay │ │ │ │ │ ├── ipfw.exe │ │ │ │ │ ├── ipfw.sys │ │ │ │ │ ├── netipfw.inf │ │ │ │ │ └── netipfw_m.inf │ │ │ │ └── jsmin │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ ├── MANIFEST.in │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ ├── README.rst │ │ │ │ │ ├── README.web-page-replay │ │ │ │ │ └── __init__.py │ │ │ ├── trafficshaper.py │ │ │ ├── trafficshaper_test.py │ │ │ ├── util.py │ │ │ └── wpr_cert.pem │ │ └── websocket-client │ │ │ ├── LICENSE │ │ │ ├── README.chromium │ │ │ ├── README.rst │ │ │ └── websocket.py │ │ ├── update_docs │ │ └── validate_binary_dependencies └── systrace.py ├── 欢迎微信关注工众号.jpg └── 说明.png /AdbWinApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/AdbWinApi.dll -------------------------------------------------------------------------------- /AdbWinUsbApi.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/AdbWinUsbApi.dll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 微信跳一跳 AI思路和原理参考 https://github.com/wangshub/wechat_jump_game 自动跳跃算法细节参考 2 | 转自https://github.com/faceair/youjumpijump 3 | 用 Golang 重新实现是期望跨平台,方便打包给普通用户使用。代码逻辑精简过,运行速度会有提升 4 | 5 | ### 步骤 6 | **1.Android手机连接上电脑后开启调试模式** 7 | 8 | **2.进入微信打开微信跳一跳,点击开始游戏** 9 | 10 | **3.运行本 jumpAI-windows-amd64.exe(下载解压运行本程序)** 11 | 12 | 跳跃系数目前推荐设为 2.04,截图后会>**1.Android手机连接上电脑后开启调试模式** 13 | 先 resize 成 720p 的图片然后再找点和跳跃。 14 | 15 | 如果是小米手机,在USB调试下方有USB调试(安全设置)打开允许模拟点击 16 | ADB 执行失败的是驱动问题或者USB调试没有打开 17 | 18 | 这个程序是没有问题的,应该驱动都是没有问题的,最大的问题是usb调试没有打开,一般默认都是关闭的,usb调试并不是说你手机和点电脑可以互传文件就是打开了,你需要进入开发者模式打开,但是,现在不同品牌的手机进入的方式不同,例如oppo的开发者模式隐藏的特别深,大家可以去百度搜索自己手机开发者模式打开的方式!!! @SupKevin 谢谢提醒 19 | 20 | 整理了几个大家推荐的系数希望大家试试看 21 | 小米 note3系数2.2 小米6系数2.19 至少600+ S6E 2.07 小米5系数2.23 400分 22 | 红木4高配系数2.15+ 稳定 其实不稳定的可以跳那么多下后关掉AI 再重新开启 23 | 24 | - **落雪无痕** 25 | 26 | 2017/12/31 27 | 28 | 29 | ![1](https://user-images.githubusercontent.com/34955698/34461458-8ce46802-ee65-11e7-9582-668aff3432af.jpg) 30 | -------------------------------------------------------------------------------- /adb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/adb.exe -------------------------------------------------------------------------------- /api/annotations.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/api/annotations.zip -------------------------------------------------------------------------------- /dmtracedump.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/dmtracedump.exe -------------------------------------------------------------------------------- /etc1tool.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/etc1tool.exe -------------------------------------------------------------------------------- /fastboot.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/fastboot.exe -------------------------------------------------------------------------------- /hprof-conv.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/hprof-conv.exe -------------------------------------------------------------------------------- /jumpAI-windows-amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/jumpAI-windows-amd64.exe -------------------------------------------------------------------------------- /lib64/libc++.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/lib64/libc++.so -------------------------------------------------------------------------------- /libwinpthread-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/libwinpthread-1.dll -------------------------------------------------------------------------------- /source.properties: -------------------------------------------------------------------------------- 1 | Pkg.UserSrc=false 2 | #Pkg.Revision=25.0.0 3 | Pkg.Revision=26.0.0 rc1 4 | -------------------------------------------------------------------------------- /sqlite3.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/sqlite3.exe -------------------------------------------------------------------------------- /systrace/UPSTREAM_REVISION: -------------------------------------------------------------------------------- 1 | e2a178a9c0cdc4e6aa745af113bc9b7ae3651aa8 -------------------------------------------------------------------------------- /systrace/catapult/common/battor/battor/battor_error.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from devil import base_error 6 | 7 | class BattOrError(base_error.BaseError): 8 | pass 9 | -------------------------------------------------------------------------------- /systrace/catapult/common/battor/bin/run_py_tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2016 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | import os 7 | import sys 8 | 9 | _CATAPULT_PATH = os.path.abspath(os.path.join( 10 | os.path.dirname(__file__), '..', '..', '..')) 11 | _BATTOR_PATH = os.path.abspath(os.path.join( 12 | os.path.dirname(__file__), '..')) 13 | 14 | sys.path.append(_CATAPULT_PATH) 15 | from catapult_build import run_with_typ 16 | 17 | 18 | def main(): 19 | return run_with_typ.Run(top_level_dir=_BATTOR_PATH) 20 | 21 | 22 | if __name__ == '__main__': 23 | sys.exit(main()) 24 | -------------------------------------------------------------------------------- /systrace/catapult/common/eslint/README.md: -------------------------------------------------------------------------------- 1 | This directory contains the Catapult eslint config, custom Catapult eslint rules, 2 | and tests for those rules. 3 | 4 | Some of our custom rules are modified versions of those included with eslint, as 5 | suggested in https://goo.gl/uAxFHq. 6 | -------------------------------------------------------------------------------- /systrace/catapult/common/lab/keychain_unlock.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Copyright 2016 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | # 6 | # Script to SSH into a list of bots and set up their keychains for Telemetry. 7 | # https://www.chromium.org/developers/telemetry/telemetry-mac-keychain-setup 8 | 9 | for hostname in "$@" 10 | do 11 | ssh -t "$hostname" 'security unlock-keychain login.keychain 12 | security delete-generic-password -s "Chrome Safe Storage" login.keychain 13 | security add-generic-password -a Chrome -w "+NTclOvR4wLMgRlLIL9bHQ==" \ 14 | -s "Chrome Safe Storage" -A login.keychain' 15 | done 16 | -------------------------------------------------------------------------------- /systrace/catapult/common/node_runner/node_runner/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | -------------------------------------------------------------------------------- /systrace/catapult/common/node_runner/node_runner/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "catapult_base", 3 | "version": "1.0.0", 4 | "description": "Catapult project base", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/catapult-project/catapult/tree/master/catapult_base" 8 | }, 9 | "main": "index.js", 10 | "scripts": { 11 | "test": "echo \"Error: no test specified\" && exit 1" 12 | }, 13 | "author": "The Chromium Authors", 14 | "license": "BSD-2-Clause", 15 | "gypfile": false, 16 | "private": true, 17 | "dependencies": { 18 | "eslint": "^3.4.0", 19 | "eslint-config-google": "^0.6.0", 20 | "eslint-plugin-html": "^1.5.2" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_trace_event/README.txt: -------------------------------------------------------------------------------- 1 | py_trace_event allows low-overhead instrumentation of a multi-threaded, 2 | multi-process application in order to study its global performance 3 | characteristics. It uses the trace event format used in Chromium/Chrome's 4 | about:tracing system. 5 | 6 | Trace files generated by py_trace_event can be viewed and manipulated by 7 | trace_event_viewer. 8 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_trace_event/py_trace_event/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | import sys 5 | 6 | 7 | sys.path.append('../../../py_utils') 8 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_trace_event/py_trace_event/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2011 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | from distutils.core import setup 6 | setup( 7 | name='py_trace_event', 8 | packages=['trace_event_impl'], 9 | version='0.1.0', 10 | description='Performance tracing for python', 11 | author='Nat Duca' 12 | ) 13 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_trace_event/py_trace_event/trace_event_impl/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | from log import * 5 | from decorators import * 6 | from meta_class import * 7 | import multiprocessing_shim 8 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_trace_event/py_trace_event/trace_event_impl/meta_class.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import types 6 | 7 | from py_trace_event.trace_event_impl import decorators 8 | 9 | 10 | class TracedMetaClass(type): 11 | def __new__(cls, name, bases, attrs): 12 | for attr_name, attr_value in attrs.iteritems(): 13 | if isinstance(attr_value, types.FunctionType): 14 | attrs[attr_name] = decorators.traced(attr_value) 15 | 16 | return super(TracedMetaClass, cls).__new__(cls, name, bases, attrs) 17 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_utils/py_utils/cloud_storage_global_lock.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # This file is used by cloud_storage._FileLock implementation, don't delete it! 6 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_utils/py_utils/refactor/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | """Style-preserving Python code transforms. 6 | 7 | This module provides components for modifying and querying Python code. They can 8 | be used to build custom refactorings and linters. 9 | """ 10 | 11 | import functools 12 | import multiprocessing 13 | 14 | # pylint: disable=wildcard-import 15 | from py_utils.refactor.annotated_symbol import * 16 | from py_utils.refactor.module import Module 17 | 18 | 19 | def _TransformFile(transform, file_path): 20 | module = Module(file_path) 21 | result = transform(module) 22 | module.Write() 23 | return result 24 | 25 | 26 | def Transform(transform, file_paths): 27 | transform = functools.partial(_TransformFile, transform) 28 | return multiprocessing.Pool().map(transform, file_paths) 29 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_utils/py_utils/refactor_util/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/common/py_utils/py_utils/refactor_util/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/common/py_utils/py_utils/tempfile_ext.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | import contextlib 7 | import shutil 8 | import tempfile 9 | 10 | 11 | @contextlib.contextmanager 12 | def NamedTemporaryDirectory(suffix='', prefix='tmp', dir=None): 13 | """A context manager that manages a temporary directory. 14 | 15 | This is a context manager version of tempfile.mkdtemp. The arguments to this 16 | function are the same as the arguments for that one. 17 | """ 18 | # This uses |dir| as a parameter name for consistency with mkdtemp. 19 | # pylint: disable=redefined-builtin 20 | 21 | d = tempfile.mkdtemp(suffix=suffix, prefix=prefix, dir=dir) 22 | try: 23 | yield d 24 | finally: 25 | shutil.rmtree(d) 26 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_utils/py_utils/test_data/foo.txt: -------------------------------------------------------------------------------- 1 | This file is not executable. 2 | -------------------------------------------------------------------------------- /systrace/catapult/common/py_utils/py_utils/xvfb.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2016 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | import os 6 | import logging 7 | import subprocess 8 | import platform 9 | import time 10 | 11 | 12 | def ShouldStartXvfb(): 13 | return platform.system() == 'Linux' 14 | 15 | 16 | def StartXvfb(): 17 | display = ':99' 18 | xvfb_command = ['Xvfb', display, '-screen', '0', '1024x769x24', '-ac'] 19 | xvfb_process = subprocess.Popen( 20 | xvfb_command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 21 | time.sleep(0.2) 22 | returncode = xvfb_process.poll() 23 | if returncode is None: 24 | os.environ['DISPLAY'] = display 25 | else: 26 | logging.error('Xvfb did not start, returncode: %s, stdout:\n%s', 27 | returncode, xvfb_process.stdout.read()) 28 | xvfb_process = None 29 | return xvfb_process 30 | -------------------------------------------------------------------------------- /systrace/catapult/dependency_manager/bin/run_tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2015 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | """Runs all Python unit tests in dependency_manager/.""" 7 | 8 | import os 9 | import sys 10 | 11 | _CATAPULT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 12 | 13 | sys.path.append(os.path.join(_CATAPULT, 'third_party', 'mock')) 14 | 15 | 16 | def main(): 17 | sys.path.append(_CATAPULT) 18 | 19 | from hooks import install 20 | if '--no-install-hooks' in sys.argv: 21 | sys.argv.remove('--no-install-hooks') 22 | else: 23 | install.InstallHooks() 24 | 25 | from catapult_build import run_with_typ 26 | return run_with_typ.Run( 27 | os.path.join(_CATAPULT, 'dependency_manager'), path=[_CATAPULT]) 28 | 29 | 30 | if __name__ == '__main__': 31 | sys.exit(main()) 32 | -------------------------------------------------------------------------------- /systrace/catapult/devil/bin/run_py_tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2016 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | import os 7 | import sys 8 | 9 | _CATAPULT_PATH = os.path.abspath(os.path.join( 10 | os.path.dirname(__file__), '..', '..')) 11 | _DEVIL_PATH = os.path.abspath(os.path.join( 12 | os.path.dirname(__file__), '..')) 13 | 14 | sys.path.append(_CATAPULT_PATH) 15 | from catapult_build import run_with_typ 16 | 17 | 18 | def main(): 19 | return run_with_typ.Run(top_level_dir=_DEVIL_PATH) 20 | 21 | if __name__ == '__main__': 22 | sys.exit(main()) 23 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/README.md: -------------------------------------------------------------------------------- 1 | 5 | devil 6 | ===== 7 | 8 | devil is a library used by the Chromium developers to interact with Android 9 | devices. It currently supports SDK level 16 and above. 10 | 11 | 😈 12 | 13 | Contributing 14 | ============ 15 | 16 | Please see the [contributor's guide](https://github.com/catapult-project/catapult/blob/master/CONTRIBUTING.md). 17 | 18 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import logging 6 | 7 | logging.getLogger('devil').addHandler(logging.NullHandler()) 8 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/constants/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/constants/file_system.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | TEST_EXECUTABLE_DIR = '/data/local/tmp' 6 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/perf/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/perf/cache_control.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class CacheControl(object): 7 | _DROP_CACHES = '/proc/sys/vm/drop_caches' 8 | 9 | def __init__(self, device): 10 | self._device = device 11 | 12 | def DropRamCaches(self): 13 | """Drops the filesystem ram caches for performance testing.""" 14 | self._device.RunShellCommand('sync', as_root=True) 15 | self._device.WriteFile(CacheControl._DROP_CACHES, '3', as_root=True) 16 | 17 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/sdk/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # This package is intended for modules that are very tightly coupled to 6 | # tools or APIs from the Android SDK. 7 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/sdk/test/data/push_directory/push_directory_contents.txt: -------------------------------------------------------------------------------- 1 | Goodnight, moon. 2 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/sdk/test/data/push_file.txt: -------------------------------------------------------------------------------- 1 | Hello, world! 2 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/sdk/version_codes.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | """Android SDK version codes. 6 | 7 | http://developer.android.com/reference/android/os/Build.VERSION_CODES.html 8 | """ 9 | 10 | JELLY_BEAN = 16 11 | JELLY_BEAN_MR1 = 17 12 | JELLY_BEAN_MR2 = 18 13 | KITKAT = 19 14 | KITKAT_WATCH = 20 15 | LOLLIPOP = 21 16 | LOLLIPOP_MR1 = 22 17 | MARSHMALLOW = 23 18 | NOUGAT = 24 19 | 20 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/tools/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/android/valgrind_tools/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | """ 5 | Classes in this package define additional actions that need to be taken to run a 6 | test under some kind of runtime error detection tool. 7 | 8 | The interface is intended to be used as follows. 9 | 10 | 1. For tests that simply run a native process (i.e. no activity is spawned): 11 | 12 | Call tool.CopyFiles(device). 13 | Prepend test command line with tool.GetTestWrapper(). 14 | 15 | 2. For tests that spawn an activity: 16 | 17 | Call tool.CopyFiles(device). 18 | Call tool.SetupEnvironment(). 19 | Run the test as usual. 20 | Call tool.CleanUpEnvironment(). 21 | """ 22 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/base_error.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class BaseError(Exception): 7 | """Base error for all test runner errors.""" 8 | 9 | def __init__(self, message, is_infra_error=False): 10 | super(BaseError, self).__init__(message) 11 | self._is_infra_error = is_infra_error 12 | 13 | def __eq__(self, other): 14 | return (self.message == other.message 15 | and self.is_infra_error == other.is_infra_error) 16 | 17 | def __ne__(self, other): 18 | return not self == other 19 | 20 | @property 21 | def is_infra_error(self): 22 | """Property to indicate if error was caused by an infrastructure issue.""" 23 | return self._is_infra_error 24 | 25 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/constants/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/constants/exit_codes.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | """Common exit codes used by devil.""" 6 | 7 | ERROR = 1 8 | INFRA = 87 9 | WARNING = 88 10 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | import sys 7 | 8 | def _JoinPath(*path_parts): 9 | return os.path.abspath(os.path.join(*path_parts)) 10 | 11 | 12 | def _AddDirToPythonPath(*path_parts): 13 | path = _JoinPath(*path_parts) 14 | if os.path.isdir(path) and path not in sys.path: 15 | # Some call sites that use Telemetry assume that sys.path[0] is the 16 | # directory containing the script, so we add these extra paths to right 17 | # after sys.path[0]. 18 | sys.path.insert(1, path) 19 | 20 | _CATAPULT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 21 | os.path.pardir, os.path.pardir, os.path.pardir) 22 | 23 | _AddDirToPythonPath(_CATAPULT_DIR, 'common', 'battor') 24 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/utils/host_utils.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | 7 | 8 | def GetRecursiveDiskUsage(path): 9 | """Returns the disk usage in bytes of |path|. Similar to `du -sb |path|`.""" 10 | running_size = os.path.getsize(path) 11 | if os.path.isdir(path): 12 | for root, dirs, files in os.walk(path): 13 | running_size += sum([os.path.getsize(os.path.join(root, f)) 14 | for f in files + dirs]) 15 | return running_size 16 | 17 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/utils/lazy/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from devil.utils.lazy.weak_constant import WeakConstant 6 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/utils/lazy/weak_constant.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import threading 6 | 7 | 8 | class WeakConstant(object): 9 | """A thread-safe, lazily initialized object. 10 | 11 | This does not support modification after initialization. The intended 12 | constant nature of the object is not enforced, though, hence the "weak". 13 | """ 14 | 15 | def __init__(self, initializer): 16 | self._initialized = False 17 | self._initializer = initializer 18 | self._lock = threading.Lock() 19 | self._val = None 20 | 21 | def read(self): 22 | """Get the object, creating it if necessary.""" 23 | if self._initialized: 24 | return self._val 25 | with self._lock: 26 | if not self._initialized: 27 | self._val = self._initializer() 28 | self._initialized = True 29 | return self._val 30 | -------------------------------------------------------------------------------- /systrace/catapult/devil/devil/utils/test/data/test_serial_map.json: -------------------------------------------------------------------------------- 1 | [{"phone": "Phone1", "battor": "BattOr1"}, {"phone": "Phone2", "battor": "BattOr2"}, {"phone": "Phone3", "battor": "BattOr3"}] 2 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/README.md: -------------------------------------------------------------------------------- 1 | 5 | Systrace 6 | ======== 7 | 8 | Systrace provides command-line tools to analyze the performance of your 9 | application. It currently includes 10 | [Android Systrace](http://developer.android.com/tools/help/systrace.html). 11 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/bin/adb_profile_chrome: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Copyright 2016 The Chromium Authors. All rights reserved. 4 | # Use of this source code is governed by a BSD-style license that can be 5 | # found in the LICENSE file. 6 | 7 | import os 8 | import sys 9 | 10 | if __name__ == '__main__': 11 | systrace_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) 12 | sys.path.append(systrace_path) 13 | from profile_chrome import main 14 | sys.exit(main.main()) 15 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/bin/systrace: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Copyright 2016 The Chromium Authors. All rights reserved. 4 | # Use of this source code is governed by a BSD-style license that can be 5 | # found in the LICENSE file. 6 | 7 | import os 8 | import sys 9 | 10 | _SYSTRACE_DIR = os.path.abspath( 11 | os.path.join(os.path.dirname(__file__), os.path.pardir)) 12 | sys.path.insert(0, _SYSTRACE_DIR) 13 | from systrace import run_systrace 14 | 15 | if __name__ == '__main__': 16 | sys.exit(run_systrace.main()) 17 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/profile_chrome/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | import sys 7 | 8 | 9 | _CATAPULT_DIR = os.path.join( 10 | os.path.dirname(os.path.abspath(__file__)), '..', '..') 11 | sys.path.append(os.path.join(_CATAPULT_DIR, 'devil')) 12 | sys.path.append(os.path.join(_CATAPULT_DIR, 'systrace')) 13 | sys.path.append(os.path.join(_CATAPULT_DIR, 'common', 'py_utils')) 14 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/profile_chrome/flags.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import optparse 6 | 7 | 8 | def OutputOptions(parser): 9 | output_options = optparse.OptionGroup(parser, 'Output options') 10 | output_options.add_option('-o', '--output', dest='output_file', 11 | help='Save trace output to file.') 12 | output_options.add_option('--json', help='Save trace as raw JSON instead of ' 13 | 'HTML.', dest='write_json') 14 | output_options.add_option('--view', help='Open resulting trace file in a ' 15 | 'browser.', action='store_true') 16 | return output_options 17 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/profile_chrome/run_tests: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd $(dirname $0)/../ 3 | exec python -m unittest discover profile_chrome '*_unittest.py' $@ 4 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/profile_chrome/third_party/README.chromium: -------------------------------------------------------------------------------- 1 | Name: Perf to JSON conversion script 2 | Short Name: perf_to_json 3 | URL: http://www.chromium.org 4 | Version: 0 5 | Date: 21.7.2014 6 | Revision: 0 7 | License: GPL 8 | License File: NOT_SHIPPED 9 | Security Critical: No 10 | 11 | Description: 12 | Script for converting perf script events into tracing JSON. 13 | 14 | Local Modifications: 15 | None. 16 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/profile_chrome/ui.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import logging 6 | import select 7 | import sys 8 | 9 | 10 | def PrintMessage(heading, eol='\n'): 11 | sys.stdout.write('%s%s' % (heading, eol)) 12 | sys.stdout.flush() 13 | 14 | 15 | def WaitForEnter(timeout): 16 | select.select([sys.stdin], [], [], timeout) 17 | 18 | 19 | def EnableTestMode(): 20 | def NoOp(*_, **__): # pylint: disable=unused-argument 21 | pass 22 | # pylint: disable=W0601 23 | global PrintMessage 24 | global WaitForEnter 25 | PrintMessage = NoOp 26 | WaitForEnter = NoOp 27 | logging.getLogger().disabled = True 28 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file with this pattern: 2 | # 3 | # For individuals: 4 | # Name 5 | # 6 | # For organizations: 7 | # Organization 8 | # 9 | # See python fnmatch module documentation for more information. 10 | 11 | The Chromium Authors <*@chromium.org> 12 | Google Inc. <*@google.com> 13 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/README.md: -------------------------------------------------------------------------------- 1 | 5 | Systrace 6 | ======== 7 | 8 | Systrace relies on 9 | [Trace-Viewer](https://github.com/catapult-project/catapult/blob/master/tracing/README.md) 10 | to visualize the traces. The development of Trace-Viewer and Systrace is 11 | decoupled by the systrace_trace_viewer.html file. 12 | * The update_systrace_trace_viewer.py script generates 13 | systrace_trace_viewer.html based on the Trace-Viewer code. 14 | * Systrace visualizes the trace result based on systrace_trace_viewer.html. 15 | * Systrace will auto update systrace_trace_viewer.html if 16 | update_systrace_trace_viewer.py exists. 17 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/suffix.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/test_data/atrace_extracted_threads: -------------------------------------------------------------------------------- 1 | {1: '/init', 2: 'kthreadd', 3: 'ksoftirqd/0', 7: 'kworker/u:0H', 8: 'migration/0', 13: 'khelper', 14: 'netns'} 2 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/test_data/atrace_ps_dump: -------------------------------------------------------------------------------- 1 | USER PID PPID VSIZE RSS WCHAN PC NAME 2 | root 1 0 8784 712 ffffffff 00000000 S /init 3 | root 2 0 0 0 ffffffff 00000000 S kthreadd 4 | root 3 2 0 0 ffffffff 00000000 S ksoftirqd/0 5 | root 7 2 0 0 ffffffff 00000000 D kworker/u:0H 6 | root 8 2 0 0 ffffffff 00000000 S migration/0 7 | root 13 2 0 0 ffffffff 00000000 S khelper 8 | root 14 2 0 0 ffffffff 00000000 S netns 9 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/test_data/atrace_ps_dump_2: -------------------------------------------------------------------------------- 1 | adb server version (36) doesn't match this client (38); killing... 2 | * daemon not running. starting it now on port 5037 * 3 | * daemon started successfully * 4 | USER PID PPID VSIZE RSS WCHAN PC NAME 5 | root 1 0 8784 712 ffffffff 00000000 S /init 6 | root 2 0 0 0 ffffffff 00000000 S kthreadd 7 | root 3 2 0 0 ffffffff 00000000 S ksoftirqd/0 8 | root 7 2 0 0 ffffffff 00000000 D kworker/u:0H 9 | root 8 2 0 0 ffffffff 00000000 S migration/0 10 | root 13 2 0 0 ffffffff 00000000 S khelper 11 | root 14 2 0 0 ffffffff 00000000 S netns 12 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/test_data/atrace_ps_dump_3: -------------------------------------------------------------------------------- 1 | adb server version (36) doesn't match this client (38); killing... 2 | * daemon not running. starting it now on port 5037 * 3 | * daemon started successfully * 4 | USER TID PPID VSIZE RSS WCHAN PC S CMD 5 | root 1 0 8784 712 ffffffff 00000000 S /init 6 | root 2 0 0 0 ffffffff 00000000 S kthreadd 7 | root 3 2 0 0 ffffffff 00000000 S ksoftirqd/0 8 | root 7 2 0 0 ffffffff 00000000 D kworker/u:0H 9 | root 8 2 0 0 ffffffff 00000000 S migration/0 10 | root 13 2 0 0 ffffffff 00000000 S khelper 11 | root 14 2 0 0 ffffffff 00000000 S netns 12 | -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/test_data/compressed_atrace_data.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/systrace/systrace/test_data/compressed_atrace_data.txt -------------------------------------------------------------------------------- /systrace/catapult/systrace/systrace/trace_result.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Copyright 2016 The Chromium Authors. All rights reserved. 4 | # Use of this source code is governed by a BSD-style license that can be 5 | # found in the LICENSE file. 6 | 7 | '''Tracing agent result wrapper for systrace. 8 | 9 | This class represents the captured trace results from a particular 10 | tool (e.g. atrace, ftrace.) 11 | ''' 12 | 13 | 14 | class TraceResult(object): 15 | def __init__(self, source_name, raw_data): 16 | self.source_name = source_name 17 | self.raw_data = raw_data 18 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/BUILD.gn: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | group("telemetry_test_support") { 6 | # Generic telemetry deps. For now, just include the whole catapult directory. 7 | # TODO(nednguyen, aiolos): only include what telemetry needs. 8 | # https://github.com/catapult-project/catapult/issues/1953 9 | data = [ 10 | "../", 11 | ] 12 | } 13 | 14 | executable("bitmaptools") { 15 | sources = [ 16 | "telemetry/internal/image_processing/bitmaptools.cc", 17 | ] 18 | 19 | deps = [ 20 | "//build/config/sanitizers:deps", 21 | "//build/win:default_exe_manifest", 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/bin/run_browser_tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2012 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | import os 7 | import sys 8 | 9 | TELEMETRY_DIR = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..') 10 | sys.path.append(TELEMETRY_DIR) 11 | from telemetry import project_config 12 | from telemetry.testing import browser_test_runner 13 | 14 | 15 | def main(): 16 | options = browser_test_runner.TestRunOptions() 17 | config = project_config.ProjectConfig( 18 | top_level_dir=os.path.join(TELEMETRY_DIR, 'examples'), 19 | benchmark_dirs=[os.path.join(TELEMETRY_DIR, 'examples', 'browser_tests')]) 20 | return browser_test_runner.Run(config, options, sys.argv[1:]) 21 | 22 | 23 | if __name__ == '__main__': 24 | sys.exit(main()) 25 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/bin/run_tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2012 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | import os 7 | import sys 8 | 9 | TELEMETRY_DIR = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..') 10 | sys.path.append(TELEMETRY_DIR) 11 | from telemetry import project_config 12 | from telemetry.testing import unittest_runner 13 | 14 | 15 | def main(): 16 | config = project_config.ProjectConfig( 17 | top_level_dir=TELEMETRY_DIR, 18 | client_configs=[ 19 | os.path.join(TELEMETRY_DIR, 20 | 'telemetry', 'telemetry_unittest_deps.json')]) 21 | return unittest_runner.Run(config, disable_cloud_storage_io_during_test=True) 22 | 23 | if __name__ == '__main__': 24 | sys.exit(main()) 25 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/build/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/build/generate_telemetry_harness.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright 2014 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | # This is a script meant to be run by a bot to periodically release new versions 7 | # of the telemetry harness. It needs to be run from one level above src/ (such 8 | # as build/). 9 | 10 | src/tools/perf/find_dependencies \ 11 | src/tools/perf/run_benchmark \ 12 | src/tools/perf/record_wpr \ 13 | src/content/test/gpu/run_gpu_test.py \ 14 | --exclude=*/third_party/catapult/test_data/* \ 15 | -z $1 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/benchmarks/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | import sys 7 | 8 | # Since this is an example of telemetry benchmarks in top level telemetry 9 | # folder, we include the top level telemetry dir to sys.path so we can import 10 | # from telemetry directly in the other modules. 11 | sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/benchmarks/tbm_benchmark.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | from telemetry import benchmark 5 | from telemetry.web_perf import timeline_based_measurement 6 | 7 | from benchmarks import simple_story_set 8 | 9 | class TBMSample(benchmark.Benchmark): 10 | 11 | def CreateStorySet(self, options): 12 | return simple_story_set.SimpleStorySet() 13 | 14 | def CreateTimelineBasedMeasurementOptions(self): 15 | options = timeline_based_measurement.Options() 16 | options.SetTimelineBasedMetrics(['sample_metric.html']) 17 | return options 18 | 19 | @classmethod 20 | def Name(cls): 21 | return 'tbm_sample.tbm_sample' 22 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/browser_tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/examples/browser_tests/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/browser_tests/pages/page_with_clickables.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
Click/tap me
7 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/browser_tests/pages/page_with_link.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Click me 7 | 8 | 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/credentials_example.json: -------------------------------------------------------------------------------- 1 | { 2 | "google": { 3 | "username": "", 4 | "password": "" 5 | }, 6 | "facebook": { 7 | "username": "", 8 | "password": "" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/examples/run_benchmark: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2015 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | import os 6 | import sys 7 | 8 | sys.path.append(os.path.join(os.path.dirname(__file__), '..')) 9 | from telemetry import benchmark_runner 10 | from telemetry import project_config 11 | 12 | def main(): 13 | top_level_dir = os.path.dirname(__file__) 14 | config = project_config.ProjectConfig( 15 | top_level_dir=top_level_dir, 16 | benchmark_dirs=[os.path.join(top_level_dir, 'benchmarks')]) 17 | return benchmark_runner.main(config) 18 | 19 | if __name__ == '__main__': 20 | sys.exit(main()) 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry.gyp: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | { 6 | 'targets': [ 7 | { 8 | 'target_name': 'bitmaptools', 9 | 'type': 'executable', 10 | 'sources': [ 11 | 'telemetry/internal/image_processing/bitmaptools.cc', 12 | ], 13 | 'toolsets': ['host'], 14 | }, 15 | ], 16 | } 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry.isolate: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | { 5 | 'conditions': [ 6 | ['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', { 7 | 'variables': { 8 | 'files': [ 9 | # For now, just include the whole catapult directory. 10 | # TODO(nednguyen, aiolos): only include what telemetry needs. 11 | # https://github.com/catapult-project/catapult/issues/1953 12 | '../', 13 | # For Telemetry's screenshot support. 14 | '<(PRODUCT_DIR)/bitmaptools<(EXECUTABLE_SUFFIX)', 15 | ], 16 | }, 17 | }], 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/android/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.android.android_story import AndroidStory 6 | from telemetry.android.shared_android_state import SharedAndroidState 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/core/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/core/profiling_controller.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class ProfilingController(object): 7 | 8 | def __init__(self, profiling_controller_backend): 9 | self._profiling_controller_backend = profiling_controller_backend 10 | 11 | def Start(self, profiler_name, base_output_file): 12 | self._profiling_controller_backend.Start(profiler_name, base_output_file) 13 | 14 | def Stop(self): 15 | return self._profiling_controller_backend.Stop() 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/actions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/actions/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/actions/navigate_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.internal.actions import navigate 6 | from telemetry.testing import tab_test_case 7 | 8 | 9 | class NavigateActionTest(tab_test_case.TabTestCase): 10 | def testNavigateAction(self): 11 | i = navigate.NavigateAction(url=self.UrlOfUnittestFile('blank.html')) 12 | i.RunAction(self._tab) 13 | self.assertEquals( 14 | self._tab.EvaluateJavaScript('document.location.pathname;'), 15 | '/blank.html') 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/actions/utils.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | 7 | 8 | def InjectJavaScript(tab, jsFileName): 9 | with open(os.path.join(os.path.dirname(__file__), jsFileName)) as f: 10 | js = f.read() 11 | tab.ExecuteJavaScript(js) 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/actions/wait.py: -------------------------------------------------------------------------------- 1 | # Copyright 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.internal.actions import page_action 6 | 7 | 8 | class WaitForElementAction(page_action.PageAction): 9 | def __init__(self, selector=None, text=None, element_function=None, 10 | timeout_in_seconds=60): 11 | super(WaitForElementAction, self).__init__() 12 | self.selector = selector 13 | self.text = text 14 | self.element_function = element_function 15 | self.timeout_in_seconds = timeout_in_seconds 16 | 17 | def RunAction(self, tab): 18 | code = 'function(element) { return element != null; }' 19 | page_action.EvaluateCallbackWithElement( 20 | tab, code, selector=self.selector, text=self.text, 21 | element_function=self.element_function, 22 | wait=True, timeout_in_seconds=self.timeout_in_seconds) 23 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome/chromeos_login_ext/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome/chromeos_login_ext/main.js: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var PARENT_PAGE = 'chrome://oobe/'; 6 | 7 | var msg = { 8 | 'method': 'loginUILoaded' 9 | }; 10 | window.parent.postMessage(msg, PARENT_PAGE); 11 | 12 | var msg = { 13 | 'method': 'completeLogin', 14 | 'email': 'test@test.test', 15 | 'gaiaId': '12345', 16 | 'password': '' 17 | }; 18 | window.parent.postMessage(msg, PARENT_PAGE); 19 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome/chromeos_login_ext/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | // chrome-extension://mfffpogegjflfpflabcdkioaeobkgjik/ 3 | "key": "MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC4L17nAfeTd6Xhtx96WhQ6DSr8KdHeQmfzgCkieKLCgUkWdwB9G1DCuh0EPMDn1MdtSwUAT7xE36APEzi0X/UpKjOVyX8tCC3aQcLoRAE0aJAvCcGwK7qIaQaczHmHKvPC2lrRdzSoMMTC5esvHX+ZqIBMi123FOL0dGW6OPKzIwIBIw==", 4 | "name": "GaiaDummyAuthExtension", 5 | "version": "0.0.1", 6 | "manifest_version": 2, 7 | "content_security_policy": "default-src 'self' blob: filesystem:; script-src 'self' blob: filesystem:; style-src 'self' blob: filesystem: 'unsafe-inline'", 8 | "description": "GAIA Dummy Component Extension", 9 | "web_accessible_resources": [ 10 | "main.html", 11 | "main.js" 12 | ], 13 | "permissions": [ 14 | "chrome://oobe/" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome/cros_browser_finder_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # TODO(nduca): Add basic unit test for cros_browser_finder. 6 | # 7 | # Here, we should mock the cros_interface module (assuming its working) and 8 | # verify that the finder does the right thing. Because the finder delegates most 9 | # of its work to the CRI, the test code here is going to be comparatively 10 | # simple. 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome_inspector/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | """This package contains classes and methods for controlling the chrome 5 | devtool. 6 | """ 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/chrome_inspector/devtools_http_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import unittest 6 | 7 | from telemetry.internal.backends.chrome_inspector import devtools_http 8 | 9 | 10 | class DevToolsHttpTest(unittest.TestCase): 11 | 12 | def testUrlError(self): 13 | with self.assertRaises(devtools_http.DevToolsClientUrlError): 14 | devtools_http.DevToolsHttp(1000).Request('') 15 | 16 | def testSocketError(self): 17 | with self.assertRaises(devtools_http.DevToolsClientConnectionError) as e: 18 | devtools_http.DevToolsHttp(1000).Request('') 19 | self.assertnotisinstance(e, devtools_http.devtoolsclienturlerror) 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/codepen_credentials_backend_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | from telemetry.internal.backends import codepen_credentials_backend 5 | from telemetry.internal.backends \ 6 | import form_based_credentials_backend_unittest_base 7 | 8 | 9 | class TestCodePenCredentialsBackend( 10 | form_based_credentials_backend_unittest_base. 11 | FormBasedCredentialsBackendUnitTestBase): 12 | def setUp(self): 13 | self._credentials_type = 'codepen' 14 | 15 | def testLoginUsingMock(self): 16 | backend = codepen_credentials_backend.CodePenCredentialsBackend() 17 | self._LoginUsingMock(backend, backend.url, backend.login_input_id, 18 | backend.password_input_id, backend.login_form_id, 19 | backend.logged_in_javascript) 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/facebook_credentials_backend_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | from telemetry.internal.backends import facebook_credentials_backend 5 | from telemetry.internal.backends \ 6 | import form_based_credentials_backend_unittest_base 7 | 8 | 9 | class TestFacebookCredentialsBackend( 10 | form_based_credentials_backend_unittest_base. 11 | FormBasedCredentialsBackendUnitTestBase): 12 | def setUp(self): 13 | self._credentials_type = 'facebook' 14 | 15 | def testLoginUsingMock(self): 16 | backend = facebook_credentials_backend.FacebookCredentialsBackend() 17 | self._LoginUsingMock(backend, backend.url, backend.login_input_id, 18 | backend.password_input_id, backend.login_form_id, 19 | backend.logged_in_javascript) 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/backends/google_credentials_backend_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | from telemetry.internal.backends import\ 5 | form_based_credentials_backend_unittest_base 6 | from telemetry.internal.backends import google_credentials_backend 7 | 8 | 9 | class TestGoogleCredentialsBackend( 10 | form_based_credentials_backend_unittest_base. 11 | FormBasedCredentialsBackendUnitTestBase): 12 | def setUp(self): 13 | self._credentials_type = 'google' 14 | 15 | def testLoginUsingMock(self): 16 | backend = google_credentials_backend.GoogleCredentialsBackend() 17 | self._LoginUsingMock(backend, backend.url, backend.login_input_id, 18 | backend.password_input_id, backend.login_form_id, 19 | backend.logged_in_javascript) 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/bin/README.md: -------------------------------------------------------------------------------- 1 | 5 | Do not check files into this folder. 6 | ____________________________________ 7 | Files are downloaded to this folder from cloud storage by the BinaryManager, 8 | and any local files may be overwritten without warning. 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser/browser_finder_exceptions.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class BrowserTypeRequiredException(Exception): 7 | pass 8 | 9 | 10 | class BrowserFinderException(Exception): 11 | pass 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser/profile_types_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | import unittest 5 | 6 | from telemetry.internal.browser import profile_types 7 | 8 | 9 | class ProfileTypesTest(unittest.TestCase): 10 | def testGetProfileTypes(self): 11 | types = profile_types.GetProfileTypes() 12 | 13 | self.assertTrue('clean' in types) 14 | self.assertTrue(len(types) > 0) 15 | 16 | def testGetProfileDir(self): 17 | self.assertFalse(profile_types.GetProfileDir('typical_user') is None) 18 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser/tab_list.py: -------------------------------------------------------------------------------- 1 | # Copyright 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | class TabList(object): 5 | def __init__(self, tab_list_backend): 6 | self._tab_list_backend = tab_list_backend 7 | 8 | def New(self, timeout=300): 9 | return self._tab_list_backend.New(timeout) 10 | 11 | def __iter__(self): 12 | return self._tab_list_backend.__iter__() 13 | 14 | def __len__(self): 15 | return self._tab_list_backend.__len__() 16 | 17 | def __getitem__(self, index): 18 | return self._tab_list_backend.__getitem__(index) 19 | 20 | def GetTabById(self, identifier): 21 | """The identifier of a tab can be accessed with tab.id.""" 22 | return self._tab_list_backend.GetTabById(identifier) 23 | 24 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser_profiles/content_scripts1/Default/Extensions/behllobkkfkfnphdnhnkndlbkcpglgmj/1.0.0.0/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDuUZGKCDbff6IRaxa4Pue7PPkxwPaNhGT3JEqppEsNWFjM80imEdqMbf3lrWqEfaHgaNku7nlpwPO1mu3/4Hr+XdNa5MhfnOnuPee4hyTLwOs3Vzz81wpbdzUxZSi2OmqMyI5oTaBYICfNHLwcuc65N5dbt6WKGeKgTpp4v7j7zwIDAQAB", 3 | "version": "1.0.0.0", 4 | "name": "1 content script", 5 | "content_scripts": [ 6 | { "matches": ["file://*"], "js": ["script.js"] } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser_profiles/content_scripts1/Default/Extensions/behllobkkfkfnphdnhnkndlbkcpglgmj/1.0.0.0/script.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Useless script just to test injection. 6 | var x = 1; 7 | var y = 2; 8 | var z = 3; 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser_profiles/extension_webrequest/Default/Extensions/behllobkkfkfnphdnhnkndlbkcpglgmj/1.0.0.0/background.html: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/browser_profiles/extension_webrequest/Default/Extensions/behllobkkfkfnphdnhnkndlbkcpglgmj/1.0.0.0/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDuUZGKCDbff6IRaxa4Pue7PPkxwPaNhGT3JEqppEsNWFjM80imEdqMbf3lrWqEfaHgaNku7nlpwPO1mu3/4Hr+XdNa5MhfnOnuPee4hyTLwOs3Vzz81wpbdzUxZSi2OmqMyI5oTaBYICfNHLwcuc65N5dbt6WKGeKgTpp4v7j7zwIDAQAB", 3 | "version": "1.0.0.0", 4 | "name": "Webrequest", 5 | "permissions": ["experimental", "webRequest"], 6 | "background": { 7 | "page": "background.html" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/image_processing/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/platform/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/platform/desktop_device.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.core import platform 6 | from telemetry.internal.platform import device 7 | 8 | 9 | class DesktopDevice(device.Device): 10 | def __init__(self): 11 | super(DesktopDevice, self).__init__(name='desktop', guid='desktop') 12 | 13 | @classmethod 14 | def GetAllConnectedDevices(cls, blacklist): 15 | return [] 16 | 17 | 18 | def FindAllAvailableDevices(_): 19 | """Returns a list of available devices. 20 | """ 21 | # If the host platform is Chrome OS, the device is also considered as cros. 22 | if platform.GetHostPlatform().GetOSName() == 'chromeos': 23 | return [] 24 | return [DesktopDevice()] 25 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/platform/power_monitor/monsoon_power_monitor_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import json 6 | import unittest 7 | 8 | from telemetry.internal.platform.power_monitor import monsoon_power_monitor 9 | 10 | 11 | class MonsoonPowerMonitorTest(unittest.TestCase): 12 | 13 | def testEnergyComsumption(self): 14 | data = { 15 | 'duration_s': 3600.0, 16 | 'samples': [(1.0, 1.0), (2.0, 2.0), (3.0, 3.0), (4.0, 4.0)] 17 | } 18 | results = monsoon_power_monitor.MonsoonPowerMonitor.ParseSamplingOutput( 19 | json.dumps(data)) 20 | self.assertEqual(results['power_samples_mw'], [1000, 4000, 9000, 16000]) 21 | self.assertEqual(results['monsoon_energy_consumption_mwh'], 7500) 22 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/platform/profiler/profiler_finder.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | 7 | from telemetry.core import discover 8 | from telemetry.internal.platform import profiler 9 | from telemetry.core import util 10 | 11 | 12 | def _DiscoverProfilers(): 13 | profiler_dir = os.path.dirname(__file__) 14 | return discover.DiscoverClasses(profiler_dir, util.GetTelemetryDir(), 15 | profiler.Profiler, 16 | index_by_class_name=True).values() 17 | 18 | 19 | def FindProfiler(name): 20 | for p in _DiscoverProfilers(): 21 | if p.name() == name: 22 | return p 23 | return None 24 | 25 | 26 | def GetAllAvailableProfilers(): 27 | return sorted([p.name() for p in _DiscoverProfilers() 28 | if p.is_supported(browser_type='any')]) 29 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/platform/remote_platform_options.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class RemotePlatformOptions(object): 7 | """Options to be used for creating a remote platform instance.""" 8 | 9 | 10 | class AndroidPlatformOptions(RemotePlatformOptions): 11 | """Android-specific remote platform options.""" 12 | 13 | def __init__(self, device=None, android_blacklist_file=None): 14 | super(AndroidPlatformOptions, self).__init__() 15 | 16 | self.device = device 17 | self.android_blacklist_file = android_blacklist_file 18 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/results/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | """ 5 | The PageTestResults hierarchy provides a way of representing the results of 6 | running the test or measurement on pages. 7 | """ 8 | 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/results/progress_reporter.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class ProgressReporter(object): 7 | """A class that reports progress of a benchmark. 8 | 9 | The reporter produces output whenever a significant event happens 10 | during the progress of a benchmark, including (but not limited to): 11 | when a page run is started, when a page run finished, any failures 12 | during a page run. 13 | 14 | The default implementation outputs nothing. 15 | """ 16 | 17 | def DidAddValue(self, value): 18 | pass 19 | 20 | def WillRunPage(self, page_test_results): 21 | pass 22 | 23 | def DidRunPage(self, page_test_results): 24 | pass 25 | 26 | def DidFinishAllTests(self, page_test_results): 27 | pass 28 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/animated_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/arch-lsb-release: -------------------------------------------------------------------------------- 1 | LSB_VERSION=1.4 2 | DISTRIB_ID=Arch 3 | DISTRIB_RELEASE=rolling 4 | DISTRIB_DESCRIPTION="Arch Linux" 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/archive_files/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Describes the Web Page Replay archives for a page set. Don't edit by hand! Use record_wpr for updating.", 3 | "archives": { 4 | "test_000.wpr": [ 5 | "http://www.testurl.com" 6 | ] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/archive_files/test_000.wpr: -------------------------------------------------------------------------------- 1 | File needed for story_runner_unittest testCheckArchives. 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/archive_files/test_000.wpr.sha1: -------------------------------------------------------------------------------- 1 | 6bd6f4b08b44abc206f68471c0444df156d0fd1a -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/archive_files/test_missing_wpr_file.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Describes the Web Page Replay archives for a page set. Don't edit by hand! Use record_wpr for updating.", 3 | "archives": { 4 | "test_000.wpr": [ 5 | "http://www.testurl.com" 6 | ], 7 | "test_missing_wpr_file.wpr": [ 8 | "http://www.google.com" 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/archive_files/test_simple_one_page_set.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry import story 6 | 7 | 8 | class TestSimpleOnePageSet(story.StorySet): 9 | def __init__(self): 10 | super(TestSimpleOnePageSet, self).__init__( 11 | archive_data_file='data/archive_files/test.json', 12 | credentials_path='data/credential') 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/archive_files/test_simple_two_page_set.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry import story 6 | 7 | 8 | class TestSimpleTwoPageSet(story.StorySet): 9 | def __init__(self): 10 | super(TestSimpleTwoPageSet, self).__init__( 11 | archive_data_file='data/archive_files/test.json', 12 | credentials_path='data/credential') 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/autotest_ext/background.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/autotest_ext/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDuUZGKCDbff6IRaxa4Pue7PPkxwPaNhGT3JEqppEsNWFjM80imEdqMbf3lrWqEfaHgaNku7nlpwPO1mu3/4Hr+XdNa5MhfnOnuPee4hyTLwOs3Vzz81wpbdzUxZSi2OmqMyI5oTaBYICfNHLwcuc65N5dbt6WKGeKgTpp4v7j7zwIDAQAB", 3 | "description": "Telemetry ChromeOS Autotest component extension", 4 | "name": "Telemetry ChromeOS AutoTest Component Extension", 5 | "background": { 6 | "scripts": ["background.js"] 7 | }, 8 | "manifest_version": 2, 9 | "version": "0.1", 10 | "permissions" : [ 11 | "autotestPrivate" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/bear.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/bear.webm -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/blank.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Hello world 7 | 8 | 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/blink_style.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Test Page for Blink Style measurement. 4 | 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/cast.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Media Router Dialog Test 5 | 17 | 18 | 19 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/create_many_objects.html: -------------------------------------------------------------------------------- 1 | 2 | 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/dog/dog/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/dog/dog/dog_object.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | import sys 7 | 8 | sys.path.append(os.path.join( 9 | os.path.dirname(__file__), '..', '..', 'other_animals', 'cat')) 10 | 11 | from cat import cat_object # pylint: disable=import-error 12 | 13 | class Dog(object): 14 | def CreateEnemy(self): 15 | return cat_object.Cat() 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/other_animals/cat/cat/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/other_animals/cat/cat/cat_object.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | class Cat(object): 6 | def Run(self): 7 | print 'Meow' 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/other_animals/moose/moose/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/other_animals/moose/moose/horn/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/other_animals/moose/moose/horn/horn_object.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | class Horn(object): 6 | def IsBig(self): 7 | return True 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dependency_test_dir/other_animals/moose/moose/moose_object.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from horn import horn_object # pylint: disable=relative-import 6 | 7 | class Moose(object): 8 | def __init__(self): 9 | self._horn = horn_object.Horn() 10 | 11 | def Run(self): 12 | if self._horn.IsBig(): 13 | print 'I need to drop my horn! It is big!' 14 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/discoverable_classes/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/discoverable_classes/discover_dummyclass.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | """A dummy exception subclass used by core/discover.py's unit tests.""" 6 | 7 | class DummyException(Exception): 8 | def __init__(self): 9 | super(DummyException, self).__init__() 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/discoverable_classes/parameter_discover_dummyclass.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | """A dummy exception subclass used by core/discover.py's unit tests.""" 6 | from telemetry.internal.testing.discoverable_classes import discover_dummyclass 7 | 8 | class DummyExceptionWithParameterImpl2(discover_dummyclass.DummyException): 9 | def __init__(self, parameter1, parameter2): 10 | super(DummyExceptionWithParameterImpl2, self).__init__() 11 | del parameter1, parameter2 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/dom_counter_sample.html: -------------------------------------------------------------------------------- 1 | 2 | DOM counter unit test page 3 | 4 |

Webpage to be used for DOM counter unit testing.

5 |

6 | This webpage is meant to be used by a unit test that checks DOM element 7 | counters. The test expects there to be exactly 1 document, 14 nodes, 8 | and 2 event listeners. Beware, modifying the HTML of this page may 9 | change the element count, causing the unit test to fail! 10 |

11 | 12 | 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/favicon.ico -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame0.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame1.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame2.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame3.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame4.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame5.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame6.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/frame7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/frame7.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/green_rect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 16 | 17 |
18 | 19 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/host.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | This is the host page. 8 |
9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/iframe1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | This is IFrame 1. 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/iframe2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | This is IFrame 2. 8 | 9 | 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/iframe3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | This is IFrame 3. 8 | 9 | 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/image.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/image_decoding.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/jebgalgnebhfojomionfpkfelancnnkf.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/jebgalgnebhfojomionfpkfelancnnkf.crx -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/manifest_with_key.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unpacked extension", 3 | "description": "this is an unpacked extension with a key in it", 4 | "version": "1", 5 | "manifest_version": 2, 6 | "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCoq+cJMuoIaoL2hx//QoIeHnNkXLAEu3IJGcLpM95qbmw9VnAplFI0tpSv4IpuJ1DPPsdsEMhONu1mPhK9xd3BHCtzqXRfRsnx/uOap4NTcUimxiUH3uuX9xkCNWO8EihdV0atnrKROhhnyIxmhgKmKfAYLheOrSGSXP0A4SqaBQIDAQAB" 7 | } 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/non_scrollable_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | Hello, world. 9 | 10 | 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/page_that_logs_to_console.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/page_with_clickables.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
Click/tap me
7 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/page_with_link.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Click me 7 | 8 | 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/pages/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/pages/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/pages/external_page.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2014 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | 6 | from telemetry.page.page import Page 7 | 8 | 9 | class ExternalPage(Page): 10 | def __init__(self, ps): 11 | super(ExternalPage, self).__init__('file://foo.html', page_set=ps) 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/sample_perf_report_output.txt: -------------------------------------------------------------------------------- 1 | Failed to open /data/app-lib/com.google.android.apps.chrome-2/libchrome.2016.0.so, continuing without symbols 2 | Failed to open /data/dalvik-cache/arm/data@app@com.google.android.apps.chrome-2.apk@classes.dex, continuing without symbols 3 | No kallsyms or vmlinux with build-id 3b63ca692cbb756f837744e061d02a790bf637d5 was found 4 | [kernel.kallsyms] with build id 3b63ca692cbb756f837744e061d02a790bf637d5 not found, continuing without symbols 5 | Failed to open /system/lib/libc.so, continuing without symbols 6 | Failed to open /system/lib/libm.so, continuing without symbols 7 | Failed to open /tmp/perf-18246.map, continuing without symbols 8 | Failed to open /system/lib/libart.so, continuing without symbols 9 | Failed to open /init, continuing without symbols 10 | Failed to open [vectors], continuing without symbols 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/screen_3_frames.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/screen_3_frames.mov -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/screenshot_test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | 16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/simple_app/background.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | chrome.app.window.create('main.html'); 6 | chrome.app.window.create('second.html'); 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/simple_app/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is the simple telemetry webapp main page. 4 | 5 | 6 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/simple_app/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Simple Telemetry Test WebApp", 3 | "name": "Simple Telemetry Test WebApp", 4 | "app": { 5 | "background": { 6 | "scripts": ["background.js"] 7 | } 8 | }, 9 | "manifest_version": 2, 10 | "version": "1.0" 11 | } 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/simple_app/second.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is the simple telemetry webapp secondary page. 4 | 5 | 6 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/simple_extension/background.js: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var _testVar; 6 | function setTestVar(x) { 7 | _testVar = x; 8 | } 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/simple_extension/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Simple test extension which has just a background script", 3 | "name": "Simple Telemetry Test Extension", 4 | "background": { 5 | "scripts": ["background.js"] 6 | }, 7 | "manifest_version": 2, 8 | "version": "0.1" 9 | } 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/stat: -------------------------------------------------------------------------------- 1 | 12911 (chrome) S 16468 4631 4631 0 -1 4202560 145133 0 0 0 831 71 0 0 20 0 4 0 62513410 1025978368 20508 18446744073709551615 1 1 0 0 0 0 0 67112962 1073808616 18446744073709551615 0 0 17 23 0 0 0 0 0 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/system_stub_test_module.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | class SystemStubTest(object): 5 | @staticmethod 6 | def TestOpen(file_path): 7 | return open(file_path) 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/test_page_sets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/test_page_sets/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/test_page_sets/data/example_domain.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Describes the Web Page Replay archives for a user story set. Don't edit by hand! Use record_wpr for updating.", 3 | "archives": { 4 | "example_domain_001.wpr": [ 5 | "http://www.example.com", 6 | "https://www.example.com" 7 | ] 8 | } 9 | } -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/test_page_sets/data/example_domain_001.wpr.sha1: -------------------------------------------------------------------------------- 1 | 5e49b8152e40b5df427a8e73062045ddde2edcb8 -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/test_page_sets/example_domain.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry import story 6 | from telemetry.page import page 7 | 8 | 9 | class ExampleDomainPageSet(story.StorySet): 10 | def __init__(self): 11 | super(ExampleDomainPageSet, self).__init__( 12 | archive_data_file='data/example_domain.json', 13 | cloud_storage_bucket=story.PUBLIC_BUCKET) 14 | 15 | self.AddStory(page.Page('http://www.example.com', self)) 16 | self.AddStory(page.Page('https://www.example.com', self)) 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/test_png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/test_png.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/test_png_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/test_png_2.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/ubuntu-saucy-lsb-release: -------------------------------------------------------------------------------- 1 | DISTRIB_ID=Ubuntu 2 | DISTRIB_RELEASE=13.10 3 | DISTRIB_CODENAME=saucy 4 | DISTRIB_DESCRIPTION="Ubuntu 13.10" 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/vid.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/internal/testing/vid.mp4 -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/video_test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/webview_app/background.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Chromium Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | chrome.app.window.create('main.html'); 6 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/webview_app/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is the simple telemetry webapp main page with a <webview> element. 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/testing/webview_app/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Simple Telemetry Test WebApp Containing Element", 3 | "name": "Simple Telemetry Test WebApp", 4 | "app": { 5 | "background": { 6 | "scripts": ["background.js"] 7 | } 8 | }, 9 | "permissions": [ 10 | "webview" 11 | ], 12 | "manifest_version": 2, 13 | "version": "1.0" 14 | } 15 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/util/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/util/atexit_with_log.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import atexit 6 | import logging 7 | 8 | def _WrapFunction(function): 9 | def _wrapped_function(*args, **kwargs): 10 | logging.debug('Try running %s', repr(function)) 11 | function(*args, **kwargs) 12 | logging.debug('Did run %s', repr(function)) 13 | return _wrapped_function 14 | 15 | def Register(function, *args, **kwargs): 16 | atexit.register(_WrapFunction(function), *args, **kwargs) 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/util/classes.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import inspect 6 | 7 | 8 | def IsDirectlyConstructable(cls): 9 | """Returns True if instance of |cls| can be construct without arguments.""" 10 | assert inspect.isclass(cls) 11 | if not hasattr(cls, '__init__'): 12 | # Case |class A: pass|. 13 | return True 14 | if cls.__init__ is object.__init__: 15 | # Case |class A(object): pass|. 16 | return True 17 | # Case |class (object):| with |__init__| other than |object.__init__|. 18 | args, _, _, defaults = inspect.getargspec(cls.__init__) 19 | if defaults is None: 20 | defaults = () 21 | # Return true if |self| is only arg without a default. 22 | return len(args) == len(defaults) + 1 23 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/internal/util/path_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import os 6 | import sys 7 | import unittest 8 | 9 | from telemetry import decorators 10 | from telemetry.internal.util import path 11 | 12 | 13 | class PathTest(unittest.TestCase): 14 | def testIsExecutable(self): 15 | self.assertFalse(path.IsExecutable('nonexistent_file')) 16 | self.assertTrue(path.IsExecutable(sys.executable)) 17 | 18 | @decorators.Enabled('win') 19 | def testFindInstalledWindowsApplication(self): 20 | self.assertTrue(path.FindInstalledWindowsApplication(os.path.join( 21 | 'Internet Explorer', 'iexplore.exe'))) 22 | 23 | @decorators.Enabled('win') 24 | def testFindInstalledWindowsApplicationWithWildcards(self): 25 | self.assertTrue(path.FindInstalledWindowsApplication(os.path.join( 26 | '*', 'iexplore.exe'))) 27 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/page/action_runner.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.internal.actions import action_runner 6 | 7 | ActionRunner = action_runner.ActionRunner 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/page/page.py: -------------------------------------------------------------------------------- 1 | # Copyright 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # TODO(eakuefner): Refactor references to Page and kill this hack. 6 | from telemetry import page 7 | 8 | Page = page.Page 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/story/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from py_utils import cloud_storage # pylint: disable=import-error 6 | 7 | from telemetry.story.shared_state import SharedState 8 | from telemetry.story.story import Story 9 | from telemetry.story.story_filter import StoryFilter 10 | from telemetry.story.story_set import StorySet 11 | 12 | 13 | PUBLIC_BUCKET = cloud_storage.PUBLIC_BUCKET 14 | PARTNER_BUCKET = cloud_storage.PARTNER_BUCKET 15 | INTERNAL_BUCKET = cloud_storage.INTERNAL_BUCKET 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/testing/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/testing/internal/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/testing/options_for_unittests.py: -------------------------------------------------------------------------------- 1 | # Copyright 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | """This module provides the global variable options_for_unittests. 6 | 7 | This is set to a BrowserOptions object by the test harness, or None 8 | if unit tests are not running. 9 | 10 | This allows multiple unit tests to use a specific 11 | browser, in face of multiple options.""" 12 | 13 | 14 | _options = [] 15 | 16 | 17 | def Push(options): 18 | _options.append(options) 19 | 20 | 21 | def Pop(): 22 | return _options.pop() 23 | 24 | 25 | def GetCopy(): 26 | if not AreSet(): 27 | return None 28 | return _options[-1].Copy() 29 | 30 | 31 | def AreSet(): 32 | return bool(_options) 33 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/testing/stream.py: -------------------------------------------------------------------------------- 1 | # Copyright 2015 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class TestOutputStream(object): 7 | def __init__(self): 8 | self._output_data = [] 9 | 10 | @property 11 | def output_data(self): 12 | return ''.join(self._output_data) 13 | 14 | def write(self, data): 15 | self._output_data.append(data) 16 | 17 | def flush(self): 18 | pass 19 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/timeline/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/telemetry/timeline/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/timeline/atrace_config.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from systrace.tracing_agents import atrace_agent 6 | 7 | class AtraceConfig(object): 8 | """Stores configuration options specific to Atrace. 9 | 10 | categories: List that specifies the Atrace categories to trace. 11 | Example: ['sched', 'webview'] 12 | app_name: String or list that specifies the application name (or names) 13 | on which to run application level tracing. 14 | Example: 'org.chromium.webview_shell' 15 | """ 16 | def __init__(self): 17 | self.categories = atrace_agent.DEFAULT_CATEGORIES 18 | self.app_name = None 19 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/timeline/bounds_unittest.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | import unittest 5 | 6 | from telemetry.timeline import bounds 7 | 8 | 9 | class BoundsTests(unittest.TestCase): 10 | 11 | def testGetOverlap(self): 12 | # Non overlap cases. 13 | self.assertEquals(0, bounds.Bounds.GetOverlap(10, 20, 30, 40)) 14 | self.assertEquals(0, bounds.Bounds.GetOverlap(30, 40, 10, 20)) 15 | # Overlap cases. 16 | self.assertEquals(10, bounds.Bounds.GetOverlap(10, 30, 20, 40)) 17 | self.assertEquals(10, bounds.Bounds.GetOverlap(20, 40, 10, 30)) 18 | # Inclusive cases. 19 | self.assertEquals(10, bounds.Bounds.GetOverlap(10, 40, 20, 30)) 20 | self.assertEquals(10, bounds.Bounds.GetOverlap(20, 30, 10, 40)) 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/timeline/flow_event.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import telemetry.timeline.event as event 6 | 7 | 8 | class FlowEvent(event.TimelineEvent): 9 | """A FlowEvent represents an interval of time plus parameters associated 10 | with that interval. 11 | """ 12 | def __init__(self, category, event_id, name, start, args=None): 13 | super(FlowEvent, self).__init__( 14 | category, name, start, duration=0, args=args) 15 | self.event_id = event_id 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/timeline/importer.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | 6 | class TimelineImporter(object): 7 | """Reads TraceData and populates timeline model with what it finds.""" 8 | def __init__(self, model, trace_data, import_order): 9 | self._model = model 10 | self._trace_data = trace_data 11 | self.import_order = import_order 12 | 13 | @staticmethod 14 | def GetSupportedPart(): 15 | raise NotImplementedError 16 | 17 | def ImportEvents(self): 18 | """Processes the event data in the wrapper and creates and adds 19 | new timeline events to the model""" 20 | raise NotImplementedError 21 | 22 | def FinalizeImport(self): 23 | """Called after all other importers for the model are run.""" 24 | raise NotImplementedError 25 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/timeline/sample.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | import telemetry.timeline.event as timeline_event 6 | 7 | 8 | class Sample(timeline_event.TimelineEvent): 9 | """A Sample represents a sample taken at an instant in time 10 | plus parameters associated with that sample. 11 | 12 | NOTE: The Sample class implements the same interface as 13 | Slice. These must be kept in sync. 14 | 15 | All time units are stored in milliseconds. 16 | """ 17 | def __init__(self, parent_thread, category, name, timestamp, args=None): 18 | super(Sample, self).__init__( 19 | category, name, timestamp, 0, args=args) 20 | self.parent_thread = parent_thread 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | """A library for bootstrapping Telemetry performance testing.""" 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/dependency.py: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.core import platform as platform_module 6 | from telemetry.internal.util import binary_manager 7 | 8 | def FetchTelemetryDependencies( 9 | platform=None, client_configs=None, chrome_reference_browser=False): 10 | if not platform: 11 | platform = platform_module.GetHostPlatform() 12 | if binary_manager.NeedsInit(): 13 | binary_manager.InitDependencyManager(client_configs) 14 | else: 15 | raise Exception('Binary manager already initialized with other configs.') 16 | binary_manager.FetchBinaryDependencies( 17 | platform, client_configs, chrome_reference_browser) 18 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/mac/README: -------------------------------------------------------------------------------- 1 | This directory contains files needed to run Chrome browser Telemetry tests on 2 | OSX. 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/mac/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/perf_result_data_type.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | DEFAULT = 'default' 6 | UNIMPORTANT = 'unimportant' 7 | HISTOGRAM = 'histogram' 8 | UNIMPORTANT_HISTOGRAM = 'unimportant-histogram' 9 | INFORMATIONAL = 'informational' 10 | 11 | ALL_TYPES = [DEFAULT, UNIMPORTANT, HISTOGRAM, UNIMPORTANT_HISTOGRAM, 12 | INFORMATIONAL] 13 | 14 | 15 | def IsValidType(datatype): 16 | return datatype in ALL_TYPES 17 | 18 | 19 | def IsHistogram(datatype): 20 | return datatype == HISTOGRAM or datatype == UNIMPORTANT_HISTOGRAM 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/perf_tests_helper.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | from telemetry.util import perf_tests_results_helper 5 | 6 | 7 | FlattenList = \ 8 | perf_tests_results_helper.FlattenList 9 | GeomMeanAndStdDevFromHistogram = \ 10 | perf_tests_results_helper.GeomMeanAndStdDevFromHistogram 11 | PrintPerfResult = \ 12 | perf_tests_results_helper.PrintPerfResult 13 | PrintPages = \ 14 | perf_tests_results_helper.PrintPages 15 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/util/wpr_modes.py: -------------------------------------------------------------------------------- 1 | # Copyright 2012 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | WPR_APPEND = 'wpr-append' 5 | WPR_OFF = 'wpr-off' 6 | WPR_RECORD = 'wpr-record' 7 | WPR_REPLAY = 'wpr-replay' 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/value/improvement_direction.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | UP = 'up' 6 | DOWN = 'down' 7 | 8 | def IsValid(improvement_direction): 9 | return improvement_direction in [UP, DOWN] 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/web_perf/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | """ 5 | The web_perf module provides utilities and measurements for benchmarking web 6 | app's performance. 7 | """ 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/web_perf/metrics/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | """ 5 | The web_perf.metrics module provides metrics for analyzing web performance. 6 | """ 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/web_perf/metrics/layout.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.web_perf.metrics import single_event 6 | 7 | EVENT_NAME = 'FrameView::performLayout' 8 | METRIC_NAME = 'layout' 9 | 10 | class LayoutMetric(single_event._SingleEventMetric): 11 | """Reports directly durations of FrameView::performLayout events. 12 | 13 | layout: Durations of FrameView::performLayout events that were caused by and 14 | start during user interaction. 15 | 16 | Layout happens no more than once per frame, so per-frame-ness is implied. 17 | """ 18 | 19 | def __init__(self): 20 | super(LayoutMetric, self).__init__(EVENT_NAME, METRIC_NAME, 21 | metric_description=('List of durations of layouts that were caused by ' 22 | 'and start during interactions')) 23 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/web_perf/metrics/text_selection.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | from telemetry.web_perf.metrics import single_event 6 | 7 | EVENT_NAME = 'WebLocalFrameImpl::moveRangeSelectionExtent' 8 | METRIC_NAME = 'text-selection' 9 | 10 | class TextSelectionMetric(single_event._SingleEventMetric): 11 | """Reports directly durations of WebLocalFrameImpl::moveRangeSelectionExtent 12 | events associated with moving a selection extent. 13 | """ 14 | 15 | def __init__(self): 16 | super(TextSelectionMetric, self).__init__(EVENT_NAME, METRIC_NAME, 17 | metric_description=('List of durations of selection extent movements ' 18 | 'that were caused by and start during ' 19 | 'interactions')) 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/telemetry/wpr/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2014 The Chromium Authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/WebKit/README.chromium: -------------------------------------------------------------------------------- 1 | Name: Blink javascript libraries. 2 | Short Name: Blink 3 | URL: http://www.chromium.org/blink 4 | Version: N/A 5 | License: BSD license 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | Description: Blink javascripts libraries are used for visualize performance 9 | metrics. 10 | Local Modifications: All the files not needed by telemetry are removed. Only 11 | keep jquery.tablesorter.min.js and statistics.js. 12 | statistics.js is modified to support computing confidenceIntervalDelta with 13 | custom standard deviation & degrees of freedom (see 14 | https://codereview.chromium.org/1309143006). 15 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include ReadMe.txt 2 | include *.txt MANIFEST.in *.py 3 | graft doc 4 | graft doc/_static 5 | graft doc/_templates 6 | graft altgraph_tests 7 | global-exclude .DS_Store 8 | global-exclude *.pyc 9 | global-exclude *.so 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/README.chromium: -------------------------------------------------------------------------------- 1 | Name: altgraph 2 | Short Name: altgraph 3 | URL: https://pypi.python.org/pypi/altgraph/ 4 | Version: 0.12 5 | License: MIT 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | Description: altgraph is a fork of graphlib: a graph (network) package for 9 | constructing graphs, BFS and DFS traversals, topological sort, shortest paths, 10 | etc. with graphviz output. altgraph is used by 11 | telemetry/third_party/modulegraph. 12 | Local modification: remove doc/_build directory. 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/README.txt: -------------------------------------------------------------------------------- 1 | altgraph is a fork of graphlib: a graph (network) package for constructing 2 | graphs, BFS and DFS traversals, topological sort, shortest paths, etc. with 3 | graphviz output. 4 | 5 | altgraph includes some additional usage of Python 2.6+ features and 6 | enhancements related to modulegraph and macholib. 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/altgraph.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/altgraph.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | altgraph 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/altgraph.egg-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/altgraph/altgraph_tests/__init__.py: -------------------------------------------------------------------------------- 1 | """ altgraph tests """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/chromite/README.chromium: -------------------------------------------------------------------------------- 1 | Name: chromite 2 | Short Name: chromite 3 | URL: https://chromium.googlesource.com/chromiumos/chromite 4 | Version: 0.0.2 5 | License: BSD 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | 9 | Local modification: remove all the files except chromite/ssh_keys/ which contain 10 | keys used by telemetry. 11 | 12 | Description: 13 | This contains scripts used to build Chromium for Chromium OS 14 | ('cros chrome-sdk'), as well as interact with the Chromium OS 15 | build system. 16 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/chromite/ssh_keys/testing_rsa.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvsNpFdK5lb0GfKx+FgsrsM/2+aZVFYXHMPdvGtTz63ciRhq0Jnw7nln1SOcHraSz3/imECBg8NHIKV6rA+B9zbf7pZXEv20x5Ul0vrcPqYWC44PTtgsgvi8s0KZUZN93YlcjZ+Q7BjQ/tuwGSaLWLqJ7hnHALMJ3dbEM9fKBHQBCrG5HOaWD2gtXj7jp04M/WUnDDdemq/KMg6E9jcrJOiQ39IuTpas4hLQzVkKAKSrpl6MY2etHyoNarlWhcOwitArEDwf3WgnctwKstI/MTKB5BTpO2WXUNUv4kXzA+g8/l1aljIG13vtd9A/IV3KFVx/sLkkjuZ7z2rQXyNKuJw== ChromeOS test key 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/flot/README.chromium: -------------------------------------------------------------------------------- 1 | Name: Flot Javascript/JQuery library for creating graphs 2 | Short Name: Flot 3 | URL: http://www.flotcharts.org 4 | Version: 0.8.1 5 | License: MIT 6 | License File: NOT_SHIPPED 7 | Security Critical: yes 8 | Description: Flot is used in the webui for performance monitor and the visualizer for Deep Memory Profiler to draw charts of performance metrics. 9 | Local Modifications: All the files not needed by telemetry are removed. Only keep 10 | jquery.flot.min.js. 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mock/README.chromium: -------------------------------------------------------------------------------- 1 | Name: mock 2 | Short Name: mock 3 | URL: http://www.voidspace.org.uk/python/mock/ 4 | Version: 1.0.1 5 | License: BSD 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | 9 | Description: 10 | Library for mocks in Python tests. 11 | 12 | Local Modifications: 13 | Includes only mock.py and LICENSE.txt. 14 | Packaging and setup files have not been copied downstream. 15 | All other files and folders (docs/, html/, tests/) 16 | have not been copied downstream. 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.txt MANIFEST.in *.py 2 | recursive-include scripts *.py 3 | graft doc 4 | graft doc/_static 5 | graft doc/_templates 6 | graft modulegraph_tests 7 | global-exclude .DS_Store 8 | global-exclude *.pyc 9 | global-exclude *.so 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/README.chromium: -------------------------------------------------------------------------------- 1 | Name: modulegraph 2 | Short Name: modulegraph 3 | URL: https://pypi.python.org/pypi/modulegraph/ 4 | Version: 0.12.1 5 | License: MIT 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | Description: modulegraph determines a dependency graph between Python modules 9 | primarily by bytecode analysis for import statements. It's used by telemetry's 10 | find_dependencies script. 11 | Local modification: remove doc/_build directory. 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/README.txt: -------------------------------------------------------------------------------- 1 | modulegraph determines a dependency graph between Python modules primarily 2 | by bytecode analysis for import statements. 3 | 4 | modulegraph uses similar methods to modulefinder from the standard library, 5 | but uses a more flexible internal representation, has more extensive 6 | knowledge of special cases, and is extensible. 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/doc/util.rst: -------------------------------------------------------------------------------- 1 | :mod:`modulegraph.util` --- Utilies functions 2 | ============================================= 3 | 4 | .. module:: modulegraph.util 5 | :synopsis: Utilitie functions 6 | 7 | 8 | .. function:: imp_find_module(name, path=None) 9 | 10 | This function has the same interface as 11 | :func:`imp.find_module`, but also works with 12 | dotted names. 13 | 14 | .. function:: imp_walk(name) 15 | 16 | yields the namepart and importer information 17 | for every part of a dotted module name, and 18 | raises :exc:`ImportError` when the *name* 19 | cannot be found. 20 | 21 | The result elements are tuples with two 22 | elements, the first is a module name, 23 | the second is the result for :func:`imp.find_module` 24 | for that module (taking into account :pep:`302` 25 | importers) 26 | 27 | .. deprecated:: 0.10 28 | 29 | .. function:: guess_encoding(fp) 30 | 31 | Returns the encoding of a python source file. 32 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph.egg-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | modulegraph = modulegraph.__main__:main 3 | 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | altgraph >= 0.12 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | modulegraph 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph.egg-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph/__init__.py: -------------------------------------------------------------------------------- 1 | import pkg_resources 2 | __version__ = pkg_resources.require('modulegraph')[0].version 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/__init__.py: -------------------------------------------------------------------------------- 1 | """ modulegraph tests """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/namedpkg/slave.py: -------------------------------------------------------------------------------- 1 | """ slave packages """ 2 | import os 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/nameduser-1.5-py2.6-nspkg.pth: -------------------------------------------------------------------------------- 1 | import sys,types,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('namedpkg',)); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault('namedpkg',types.ModuleType('namedpkg')); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/nameduser-1.5-py2.6.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: nameduser 3 | Version: 1.5 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/nameduser-1.5-py2.6.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/slave.py 4 | nameduser.egg-info/PKG-INFO 5 | nameduser.egg-info/SOURCES.txt 6 | nameduser.egg-info/dependency_links.txt 7 | nameduser.egg-info/namespace_packages.txt 8 | nameduser.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/nameduser-1.5-py2.6.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/nameduser-1.5-py2.6.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/child/nameduser-1.5-py2.6.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg-1.0-py2.6-nspkg.pth: -------------------------------------------------------------------------------- 1 | import sys,types,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('namedpkg',)); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault('namedpkg',types.ModuleType('namedpkg')); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg-1.0-py2.6.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: namedpkg 3 | Version: 1.0 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg-1.0-py2.6.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/parent.py 4 | namedpkg.egg-info/PKG-INFO 5 | namedpkg.egg-info/SOURCES.txt 6 | namedpkg.egg-info/dependency_links.txt 7 | namedpkg.egg-info/namespace_packages.txt 8 | namedpkg.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg-1.0-py2.6.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg-1.0-py2.6.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg-1.0-py2.6.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.10/parent/namedpkg/parent.py: -------------------------------------------------------------------------------- 1 | """ parent packages """ 2 | import sys 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/namedpkg/slave.py: -------------------------------------------------------------------------------- 1 | """ slave packages """ 2 | import os 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/nameduser-1.5-py2.5-nspkg.pth: -------------------------------------------------------------------------------- 1 | import sys,new,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('namedpkg',)); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault('namedpkg',new.module('namedpkg')); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/nameduser-1.5-py2.5.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: nameduser 3 | Version: 1.5 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/nameduser-1.5-py2.5.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/slave.py 4 | nameduser.egg-info/PKG-INFO 5 | nameduser.egg-info/SOURCES.txt 6 | nameduser.egg-info/dependency_links.txt 7 | nameduser.egg-info/namespace_packages.txt 8 | nameduser.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/nameduser-1.5-py2.5.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/nameduser-1.5-py2.5.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/child/nameduser-1.5-py2.5.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg-1.0-py2.5-nspkg.pth: -------------------------------------------------------------------------------- 1 | import sys,new,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('namedpkg',)); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault('namedpkg',new.module('namedpkg')); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg-1.0-py2.5.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: namedpkg 3 | Version: 1.0 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg-1.0-py2.5.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/parent.py 4 | namedpkg.egg-info/PKG-INFO 5 | namedpkg.egg-info/SOURCES.txt 6 | namedpkg.egg-info/dependency_links.txt 7 | namedpkg.egg-info/namespace_packages.txt 8 | namedpkg.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg-1.0-py2.5.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg-1.0-py2.5.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg-1.0-py2.5.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/distribute-0.6.12/parent/namedpkg/parent.py: -------------------------------------------------------------------------------- 1 | """ parent packages """ 2 | import sys 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/namedpkg/slave.py: -------------------------------------------------------------------------------- 1 | """ slave packages """ 2 | import os 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/nameduser-1.5-py2.5-nspkg.pth: -------------------------------------------------------------------------------- 1 | import sys,new,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('namedpkg',)); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault('namedpkg',new.module('namedpkg')); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/nameduser-1.5-py2.5.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: nameduser 3 | Version: 1.5 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/nameduser-1.5-py2.5.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/slave.py 4 | nameduser.egg-info/PKG-INFO 5 | nameduser.egg-info/SOURCES.txt 6 | nameduser.egg-info/dependency_links.txt 7 | nameduser.egg-info/namespace_packages.txt 8 | nameduser.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/nameduser-1.5-py2.5.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/nameduser-1.5-py2.5.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/child/nameduser-1.5-py2.5.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg-1.0-py2.5-nspkg.pth: -------------------------------------------------------------------------------- 1 | import sys,new,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('namedpkg',)); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault('namedpkg',new.module('namedpkg')); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg-1.0-py2.5.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: namedpkg 3 | Version: 1.0 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg-1.0-py2.5.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/parent.py 4 | namedpkg.egg-info/PKG-INFO 5 | namedpkg.egg-info/SOURCES.txt 6 | namedpkg.egg-info/dependency_links.txt 7 | namedpkg.egg-info/namespace_packages.txt 8 | namedpkg.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg-1.0-py2.5.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg-1.0-py2.5.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg-1.0-py2.5.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/setuptools-0.6c9/parent/namedpkg/parent.py: -------------------------------------------------------------------------------- 1 | """ parent packages """ 2 | import sys 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/namedpkg/__init__.py: -------------------------------------------------------------------------------- 1 | __import__('pkg_resources').declare_namespace(__name__) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/namedpkg/slave.py: -------------------------------------------------------------------------------- 1 | """ slave packages """ 2 | import os 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/nameduser.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: nameduser 3 | Version: 1.5 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/nameduser.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/slave.py 4 | nameduser.egg-info/PKG-INFO 5 | nameduser.egg-info/SOURCES.txt 6 | nameduser.egg-info/dependency_links.txt 7 | nameduser.egg-info/namespace_packages.txt 8 | nameduser.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/nameduser.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/nameduser.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/nameduser.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/child/setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup( 4 | name="nameduser", 5 | version="1.5", 6 | packages=["namedpkg"], 7 | namespace_packages=["namedpkg"], 8 | ) 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: namedpkg 3 | Version: 1.0 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | namedpkg/__init__.py 3 | namedpkg/parent.py 4 | namedpkg.egg-info/PKG-INFO 5 | namedpkg.egg-info/SOURCES.txt 6 | namedpkg.egg-info/dependency_links.txt 7 | namedpkg.egg-info/namespace_packages.txt 8 | namedpkg.egg-info/top_level.txt -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | namedpkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg/__init__.py: -------------------------------------------------------------------------------- 1 | __import__('pkg_resources').declare_namespace(__name__) 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/namedpkg/parent.py: -------------------------------------------------------------------------------- 1 | """ parent packages """ 2 | import sys 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/nspkg/src/parent/setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup( 4 | name="namedpkg", 5 | version="1.0", 6 | packages=["namedpkg"], 7 | namespace_packages=["namedpkg"], 8 | ) 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/script: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | import sys, os 3 | 4 | print (sys.version) 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/subdir/file1.txt: -------------------------------------------------------------------------------- 1 | a 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/subdir/file2.txt: -------------------------------------------------------------------------------- 1 | b 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath.egg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath.egg -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath.zip -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath/myext.pyd: -------------------------------------------------------------------------------- 1 | """ fake extension """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath/mymodule.py: -------------------------------------------------------------------------------- 1 | """ 2 | some module 3 | """ 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath/mymodule3.py: -------------------------------------------------------------------------------- 1 | """ fake module """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/syspath/mypkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ fake package """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/test.egg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/test.egg -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/test.txt: -------------------------------------------------------------------------------- 1 | This is test.txt 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/zipped.egg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testdata/zipped.egg -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-compatmodule/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-compatmodule/pkg/api.py: -------------------------------------------------------------------------------- 1 | """ pkg.api """ 2 | 3 | import sys 4 | 5 | if sys.version_info[0] == 2: 6 | from .api2 import * 7 | 8 | else: 9 | from .api3 import * 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-compatmodule/pkg/api2.py: -------------------------------------------------------------------------------- 1 | import urllib2 2 | 3 | def div(a, b): 4 | try: 5 | return a/b 6 | 7 | except ZeroDivisionError, exc: 8 | return None 9 | 10 | class MyClass (object): 11 | pass 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-compatmodule/pkg/api3.py: -------------------------------------------------------------------------------- 1 | import http.client 2 | 3 | def div(a, b): 4 | try: 5 | return a/b 6 | 7 | except ZeroDivisionError as exc: 8 | return None 9 | 10 | class MyClass (object, metaclass=type): 11 | pass 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_class_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_conditional_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_conditional_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_conditional_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/function_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.__init__ """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_class_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_conditional_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_conditional_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_conditional_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/function_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_class_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_conditional_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_conditional_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_conditional_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/pkg/toplevel_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/script_multi_import.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | try: 4 | import os.path 5 | except ImportError: 6 | pass 7 | 8 | import os 9 | 10 | def function(self): 11 | import sys 12 | 13 | 14 | if a == b: 15 | import sys 16 | 17 | def function2(self): 18 | if a == b: 19 | import platform 20 | 21 | def function3(self): 22 | import platform 23 | import email 24 | 25 | 26 | import email 27 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_class_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_conditional_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_conditional_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_conditional_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_import2_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-edgedata/toplevel_import_existing.py: -------------------------------------------------------------------------------- 1 | """ $fname """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/pkg/subpkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.subpkg """ 2 | 3 | from compat import X, Y 4 | 5 | from _collections import A, B 6 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/pkg/subpkg/compat.py: -------------------------------------------------------------------------------- 1 | """ pkg.subpkg.compat """ 2 | 3 | X, Y = 1, 2 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/pkg2/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg2.__init__ """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/pkg2/subpkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg2.subpkg """ 2 | 3 | from .compat import X, Y 4 | 5 | from ._collections import A, B 6 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/pkg2/subpkg/compat.py: -------------------------------------------------------------------------------- 1 | """ pkg2.subpkg.compat """ 2 | 3 | X, Y = 1, 2 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-import-from-init/script.py: -------------------------------------------------------------------------------- 1 | import pkg.subpkg 2 | import pkg2.subpkg 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/main_script.py: -------------------------------------------------------------------------------- 1 | import sys 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.init """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/pkg/sub1/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub1.init """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/pkg/sub1/modA.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub1.modA """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/pkg/sub2/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub2.init """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/pkg/sub2/mod.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub2.mod """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-packages/pkg/sub3.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub3 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-pep420-namespace/path1/package/sub2.py: -------------------------------------------------------------------------------- 1 | """ package.sub2 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-pep420-namespace/path2/package/nspkg/mod.py: -------------------------------------------------------------------------------- 1 | """ package.nspkg.mod """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-pep420-namespace/path2/package/sub1.py: -------------------------------------------------------------------------------- 1 | """ package.sub1 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-pep420-namespace/path2/package/subpackage/__init__.py: -------------------------------------------------------------------------------- 1 | """ package.subpackage """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-pep420-namespace/path2/package/subpackage/sub.py: -------------------------------------------------------------------------------- 1 | """ package.subpackage.sub """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr1/main_script.py: -------------------------------------------------------------------------------- 1 | from pkg import a 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr1/pkg/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr1/pkg/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr1/pkg/a.py: -------------------------------------------------------------------------------- 1 | from . import b 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr1/pkg/b.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr1/pkg/b.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr2/main_script.py: -------------------------------------------------------------------------------- 1 | import pkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr2/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Package structure simular to crcmod 3 | """ 4 | try: 5 | from pkg.pkg import * 6 | import pkg.base 7 | except ImportError: 8 | from pkg import * 9 | import base 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr2/pkg/base.py: -------------------------------------------------------------------------------- 1 | """ package base """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr2/pkg/pkg.py: -------------------------------------------------------------------------------- 1 | """ nested """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr3/mypkg/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr3/mypkg/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr3/mypkg/distutils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr3/mypkg/distutils/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr3/mypkg/distutils/ccompiler.py: -------------------------------------------------------------------------------- 1 | from distutils.ccompiler import * 2 | from distutils.sysconfig import customize_compiler 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr3/script.py: -------------------------------------------------------------------------------- 1 | from mypkg.distutils import ccompiler 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr4/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.__init__ """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr4/pkg/core/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.core.__init__ """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr4/pkg/core/callables.py: -------------------------------------------------------------------------------- 1 | """ pkg.callables """ 2 | 3 | getID, getArgs, getRawFunction, ListenerInadequate, CallArgsInfo = [None]*5 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr4/pkg/core/listener.py: -------------------------------------------------------------------------------- 1 | from .callables import \ 2 | getID, getArgs, getRawFunction,\ 3 | ListenerInadequate, \ 4 | CallArgsInfo 5 | 6 | from .listenerimpl import Listener, ListenerValidator 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr4/pkg/core/listenerimpl.py: -------------------------------------------------------------------------------- 1 | """ pkg.listenerimp """ 2 | class Listener: 3 | pass 4 | 5 | class ListenerValidator: 6 | pass 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr4/script.py: -------------------------------------------------------------------------------- 1 | from pkg.core.listener import Listener as listen 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr5/__init__.py: -------------------------------------------------------------------------------- 1 | """ A dummy __init__ file """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr5/script.py: -------------------------------------------------------------------------------- 1 | import __init__ 2 | 3 | from modulegraph.find_modules import find_needed_modules 4 | import distutils 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-regr6/script.py: -------------------------------------------------------------------------------- 1 | import module 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/mod.py: -------------------------------------------------------------------------------- 1 | """ Toplevel module """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ A Package """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/mod.py: -------------------------------------------------------------------------------- 1 | """ A package module """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/oldstyle.py: -------------------------------------------------------------------------------- 1 | import mod 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/relative.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | from . import mod 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/relimport.py: -------------------------------------------------------------------------------- 1 | """ pkg.relimport """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/sub2/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub2 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/sub2/mod.py: -------------------------------------------------------------------------------- 1 | """ pkg.sub2.mod """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/subpkg/__init__.py: -------------------------------------------------------------------------------- 1 | """ pkg.subpkg """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/subpkg/mod2.py: -------------------------------------------------------------------------------- 1 | """ pkg.subpkg.mod2 """ 2 | from __future__ import absolute_import 3 | from ..sub2.mod import __doc__ 4 | from ..sub2 import mod 5 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/subpkg/relative.py: -------------------------------------------------------------------------------- 1 | """ pkg.subpkg.relative """ 2 | from __future__ import absolute_import 3 | from .. import mod 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/subpkg/relative2.py: -------------------------------------------------------------------------------- 1 | """ pkg.subpkg.relative """ 2 | from __future__ import absolute_import 3 | from ..relimport import __doc__ as doc 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/pkg/toplevel.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | import mod 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport/script.py: -------------------------------------------------------------------------------- 1 | import mod 2 | import pkg 3 | import pkg.mod 4 | import pkg.oldstyle 5 | import pkg.relative 6 | import pkg.toplevel 7 | import pkg.subpkg.relative 8 | import pkg.subpkg.relative2 9 | import pkg.subpkg.mod2 10 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport2/pkg/__init__.py: -------------------------------------------------------------------------------- 1 | from . import mod1 2 | from .mod2 import * 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport2/pkg/mod1.py: -------------------------------------------------------------------------------- 1 | """ mod1 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport2/pkg/mod2.py: -------------------------------------------------------------------------------- 1 | """ mod2 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport2/pkg/mod3.py: -------------------------------------------------------------------------------- 1 | """ mod3 """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport2/pkg/sub/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import mod1 2 | from .. import mod3 3 | from ... import toplevel 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-relimport2/toplevel.py: -------------------------------------------------------------------------------- 1 | """ toplevel """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/build/lib/nspkg/__init__.py: -------------------------------------------------------------------------------- 1 | # this is a namespace package 2 | try: 3 | import pkg_resources 4 | pkg_resources.declare_namespace(__name__) 5 | except ImportError: 6 | import pkgutil 7 | __path__ = pkgutil.extend_path(__path__, __name__) 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/build/lib/nspkg/module.py: -------------------------------------------------------------------------------- 1 | """ nspkg.module """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/build/lib/nspkg/nssubpkg/__init__.py: -------------------------------------------------------------------------------- 1 | # this is a namespace package 2 | try: 3 | import pkg_resources 4 | pkg_resources.declare_namespace(__name__) 5 | except ImportError: 6 | import pkgutil 7 | __path__ = pkgutil.extend_path(__path__, __name__) 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/build/lib/nspkg/nssubpkg/sub.py: -------------------------------------------------------------------------------- 1 | """ nspkg.nsubpkg.sub """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup( 4 | name="nspkg", 5 | version="1.0", 6 | namespace_packages=['nspkg', 'nspkg.nssubpkg'], 7 | packages=['nspkg', 'nspkg.nssubpkg'], 8 | package_dir = {'': 'src'}, 9 | zip_safe=False, 10 | ) 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg.egg-info/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.0 2 | Name: nspkg 3 | Version: 1.0 4 | Summary: UNKNOWN 5 | Home-page: UNKNOWN 6 | Author: UNKNOWN 7 | Author-email: UNKNOWN 8 | License: UNKNOWN 9 | Description: UNKNOWN 10 | Platform: UNKNOWN 11 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg.egg-info/SOURCES.txt: -------------------------------------------------------------------------------- 1 | setup.py 2 | src/nspkg/__init__.py 3 | src/nspkg/module.py 4 | src/nspkg.egg-info/PKG-INFO 5 | src/nspkg.egg-info/SOURCES.txt 6 | src/nspkg.egg-info/dependency_links.txt 7 | src/nspkg.egg-info/namespace_packages.txt 8 | src/nspkg.egg-info/not-zip-safe 9 | src/nspkg.egg-info/top_level.txt 10 | src/nspkg/nssubpkg/__init__.py 11 | src/nspkg/nssubpkg/sub.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg.egg-info/namespace_packages.txt: -------------------------------------------------------------------------------- 1 | nspkg 2 | nspkg.nssubpkg 3 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg.egg-info/not-zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | nspkg 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg/__init__.py: -------------------------------------------------------------------------------- 1 | # this is a namespace package 2 | try: 3 | import pkg_resources 4 | pkg_resources.declare_namespace(__name__) 5 | except ImportError: 6 | import pkgutil 7 | __path__ = pkgutil.extend_path(__path__, __name__) 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg/module.py: -------------------------------------------------------------------------------- 1 | """ nspkg.module """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg/nssubpkg/__init__.py: -------------------------------------------------------------------------------- 1 | # this is a namespace package 2 | try: 3 | import pkg_resources 4 | pkg_resources.declare_namespace(__name__) 5 | except ImportError: 6 | import pkgutil 7 | __path__ = pkgutil.extend_path(__path__, __name__) 8 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/modulegraph/modulegraph_tests/testpkg-setuptools-namespace/src/nspkg/nssubpkg/sub.py: -------------------------------------------------------------------------------- 1 | """ nspkg.nsubpkg.sub """ 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/CONTRIBUTING.rst: -------------------------------------------------------------------------------- 1 | If you would like to contribute to the development of OpenStack, 2 | you must follow the steps in the "If you're a developer, start here" 3 | section of this page: 4 | 5 | http://wiki.openstack.org/HowToContribute 6 | 7 | Once those steps have been completed, changes to OpenStack 8 | should be submitted for review via the Gerrit tool, following 9 | the workflow documented at: 10 | 11 | http://wiki.openstack.org/GerritWorkflow 12 | 13 | Pull requests submitted through GitHub will be ignored. 14 | 15 | Bugs should be filed on Launchpad, not GitHub: 16 | 17 | https://bugs.launchpad.net/mox3 18 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include AUTHORS 2 | include ChangeLog 3 | exclude .gitignore 4 | exclude .gitreview 5 | 6 | global-exclude *.pyc 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/README.chromium: -------------------------------------------------------------------------------- 1 | Name: mox3 2 | Short Name: mox3 3 | URL: https://github.com/openstack/mox3 4 | Version: 60dd893a8095f9d7957bf6635dc1620a7908d86b (commit hash) 5 | License: Apache License 2.0 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | 9 | Local modification: 10 | Remove doc/source/conf.py because it's not needed and cause the checklicense.py 11 | to fail. 12 | 13 | Description: 14 | Mox3 is an unofficial port of the Google mox framework 15 | (http://code.google.com/p/pymox/) to Python 3. It was meant to be as compatible 16 | with mox as possible, but small enhancements have been made. The library was 17 | tested on Python version 3.2, 2.7 and 2.6. 18 | 19 | This library is added since pyfakefs depends on it. 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/doc/source/contributing.rst: -------------------------------------------------------------------------------- 1 | ============== 2 | Contributing 3 | ============== 4 | 5 | .. include:: ../../CONTRIBUTING.rst 6 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/doc/source/index.rst: -------------------------------------------------------------------------------- 1 | mox3 2 | ==== 3 | 4 | A fork of mox with Python 3 support. 5 | 6 | Contents 7 | ======== 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | 12 | readme 13 | contributing 14 | 15 | Indices and tables 16 | ================== 17 | 18 | * :ref:`genindex` 19 | * :ref:`modindex` 20 | * :ref:`search` 21 | 22 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/doc/source/readme.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../README.rst 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/mox3/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/mox3/mox3/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/mox3/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/mox3/mox3/tests/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/mox3/tests/stubout_helper.py: -------------------------------------------------------------------------------- 1 | # Copyright 2008 Google Inc. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | # This is a fork of the pymox library intended to work with Python 3. 16 | # The file was modified by quermit@gmail.com and dawid.fatyga@gmail.com 17 | 18 | 19 | def SampleFunction(): 20 | raise Exception('I should never be called!') 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | pbr<2.0,>=1.6 5 | 6 | fixtures>=1.3.1 7 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = mox3 3 | summary = Mock object framework for Python 4 | description-file = 5 | README.rst 6 | author = OpenStack 7 | author-email = openstack-dev@lists.openstack.org 8 | home-page = http://www.openstack.org/ 9 | classifiers = 10 | Environment :: OpenStack 11 | Programming Language :: Python 12 | License :: OSI Approved :: Apache Software License 13 | Programming Language :: Python :: 2.6 14 | Programming Language :: Python :: 2.7 15 | Programming Language :: Python :: 3 16 | Operating System :: OS Independent 17 | Development Status :: 4 - Beta 18 | Intended Audience :: Developers 19 | Topic :: Software Development :: Testing 20 | 21 | [files] 22 | packages = 23 | mox3 24 | 25 | [global] 26 | setup-hooks = 27 | pbr.hooks.setup_hook 28 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/test-requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | # this file lists dependencies required for the testing of heat 5 | 6 | # Install bounded pep8/pyflakes first, then let flake8 install 7 | pep8==1.5.7 8 | pyflakes==0.8.1 9 | flake8<=2.4.1,>=2.2.4 10 | 11 | coverage>=3.6 12 | discover 13 | python-subunit>=0.0.18 14 | testrepository>=0.0.18 15 | testtools>=1.4.0 16 | 17 | six>=1.9.0 18 | 19 | # this is required for the docs build jobs 20 | sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 21 | oslosphinx>=2.5.0 # Apache-2.0 22 | 23 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/mox3/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py34,py27,pep8 3 | 4 | [testenv] 5 | setenv = VIRTUAL_ENV={envdir} 6 | deps = -r{toxinidir}/requirements.txt 7 | -r{toxinidir}/test-requirements.txt 8 | commands = 9 | python setup.py testr --slowest --testr-args='{posargs}' 10 | 11 | [testenv:docs] 12 | commands = python setup.py build_sphinx 13 | 14 | [testenv:pep8] 15 | commands = flake8 16 | 17 | [testenv:venv] 18 | commands = {posargs} 19 | 20 | [testenv:cover] 21 | setenv = VIRTUAL_ENV={envdir} 22 | commands = 23 | python setup.py testr --coverage 24 | 25 | [flake8] 26 | show-source = true 27 | builtins = _ 28 | exclude=.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg 29 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/png/README.chromium: -------------------------------------------------------------------------------- 1 | Name: Pure Python PNG Reader/Writer 2 | Short Name: pypng 3 | URL: https://github.com/drj11/pypng/ 4 | Version: 0 5 | Date: 2009-03-11 6 | Revision: dd1797c361eafa443878b0915f767b75bd518d3b 7 | License: MIT 8 | License File: NOT_SHIPPED 9 | Security Critical: no 10 | 11 | Description: 12 | A png encoder and decoder for python. Used by telemetry to decode screenshots 13 | captured via the gpuBenchmark.windowSnapshot API, which are returned as 14 | Base64-encoded PNG files. 15 | 16 | Local Modifications: 17 | None. -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyfakefs/README.chromium: -------------------------------------------------------------------------------- 1 | Name: pyfakefs 2 | Short Name: pyfakefs 3 | URL: https://github.com/jmcgeheeiv/pyfakefs 4 | Version: 7e8e097c0165ba9d51fa9d34a0888d8ec082d15b (commit hash) 5 | License: Apache License 2.0 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | 9 | Local modification: create a pyfakefs as a project folder & move pyfakefs to 10 | pyfakefs/pyfakefs since we don't want the project folder to be a module. 11 | 12 | Description: 13 | pyfakefs implements a fake file system that mocks the Python file system 14 | modules. Using pyfakefs, your tests operate on a fake file system in memory 15 | without touching the real disk. The software under test requires no modification 16 | to work with pyfakefs. 17 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyfakefs/pyfakefs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/pyfakefs/pyfakefs/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyfakefs/pyfakefs/requirements.txt: -------------------------------------------------------------------------------- 1 | wheel==0.23.0 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyfakefs/pyfakefs/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist=py26,py27,py32,py33,pypy 3 | 4 | [testenv] 5 | commands=python all_tests.py 6 | 7 | [testenv:py26] 8 | deps=unittest2 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyserial/README.chromium: -------------------------------------------------------------------------------- 1 | Name: pySerial 2 | Short Name: pySerial 3 | URL: https://github.com/pyserial/pyserial 4 | Version: 2.7 5 | Date: 2013-10-17 6 | License: Python 7 | License File: NOT_SHIPPED 8 | Security Critical: no 9 | 10 | Description: 11 | Library for Python access for the serial port. Used for communication with 12 | a Monsoon device, which tunnels serial over USB. 13 | 14 | Local Modifications: 15 | Includes only the serial/ folder and LICENSE.txt. 16 | Packaging and setup files have not been copied downstream. 17 | All other files and folders (documentation/, examples/, test/) 18 | have not been copied downstream. 19 | linux-product_info.patch has been applied to include the product information as description. 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyserial/linux-product_info.patch: -------------------------------------------------------------------------------- 1 | Index: serial/tools/list_ports_linux.py 2 | =================================================================== 3 | --- serial/tools/list_ports_linux.py (revision 494) 4 | +++ serial/tools/list_ports_linux.py (working copy) 5 | @@ -110,6 +110,14 @@ 6 | sys_dev_path = '/sys/class/tty/%s/device/interface' % (base,) 7 | if os.path.exists(sys_dev_path): 8 | return read_line(sys_dev_path) 9 | + 10 | + # USB Product Information 11 | + sys_dev_path = '/sys/class/tty/%s/device' % (base,) 12 | + if os.path.exists(sys_dev_path): 13 | + product_name_file = os.path.dirname(os.path.realpath(sys_dev_path)) + "/product" 14 | + if os.path.exists(product_name_file): 15 | + return read_line(product_name_file) 16 | + 17 | return base 18 | 19 | def hwinfo(device): 20 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyserial/serial/tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/pyserial/serial/tools/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyserial/serial/urlhandler/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/pyserial/serial/urlhandler/__init__.py -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/pyserial/serial/urlhandler/protocol_rfc2217.py: -------------------------------------------------------------------------------- 1 | #! python 2 | # 3 | # Python Serial Port Extension for Win32, Linux, BSD, Jython 4 | # see ../__init__.py 5 | # 6 | # This is a thin wrapper to load the rfc2271 implementation. 7 | # 8 | # (C) 2011 Chris Liechti 9 | # this is distributed under a free software license, see license.txt 10 | 11 | from serial.rfc2217 import Serial 12 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/tsproxy/README.chromium: -------------------------------------------------------------------------------- 1 | Name: tsproxy 2 | Short Name: tsproxy 3 | URL: https://github.com/WPO-Foundation/tsproxy 4 | Version: 9ae7d2ff822cb7cef15bc54ff614273c99691744 (commit hash) 5 | License: Apache 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | 9 | Local modification: no 10 | 11 | Description: 12 | tsproxy provides basic latency, download and upload traffic shaping while only 13 | requiring user-level access (no root permissions required) 14 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/README.chromium: -------------------------------------------------------------------------------- 1 | Name: chromite 2 | Short Name: webpagereplay 3 | URL: https://github.com/chromium/web-page-replay 4 | Version: 191fd2f2f224ce6e4d5b7fec78e16493559fbb36 (commit hash) 5 | License: BSD 6 | License File: NOT_SHIPPED 7 | Security Critical: no 8 | 9 | Local modification: Remove webpagereplay/third_party/ipaddr/OWNERS to avoid 10 | PRESUBMIT complainings about non-standard OWNER format. 11 | 12 | Description: 13 | This contains webpagereplay used by telemetry for record & replay web requests & 14 | responses. 15 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/documentation/WebPageReplayDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/web-page-replay/documentation/WebPageReplayDiagram.png -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/requirements.txt: -------------------------------------------------------------------------------- 1 | pyOpenSSL==0.13 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/rules/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2015 Google Inc. All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | 17 | # Export rules for rules_parser access. 18 | from rules.log_url import LogUrl 19 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/run_tests: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | import test_runner 6 | 7 | _WPR_DIR = os.path.dirname(os.path.abspath(__file__)) 8 | 9 | if __name__ == '__main__': 10 | runner = test_runner.TestRunner() 11 | runner.AddDirectory(_WPR_DIR) 12 | sys.exit(runner.Main()) 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/dns/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2001-2003 Nominum, Inc. 2 | 3 | Permission to use, copy, modify, and distribute this software and its 4 | documentation for any purpose with or without fee is hereby granted, 5 | provided that the above copyright notice and this permission notice 6 | appear in all copies. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES 9 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR 11 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 14 | OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/dns/README.web-page-replay: -------------------------------------------------------------------------------- 1 | Name: A DNS toolkit for Python 2 | Short Name: dnspython 3 | URL: http://www.dnspython.org/ 4 | Version: 1.8.0 (found in ./version.py) 5 | License: ISC 6 | License File: LICENSE 7 | 8 | Description: 9 | Used by Web Page Replay's dnsproxy module to create and handle dns queries. 10 | 11 | Local Modifications: 12 | None. -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipaddr/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include COPYING 2 | include ipaddr_test.py 3 | include RELEASENOTES 4 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipaddr/README: -------------------------------------------------------------------------------- 1 | ipaddr.py is a library for working with IP addresses, both IPv4 and IPv6. 2 | It was developed by Google for internal use, and is now open source. 3 | 4 | Project home page: http://code.google.com/p/ipaddr-py/ 5 | 6 | Please send contributions to ipaddr-py-dev@googlegroups.com. Code should 7 | include unit tests and follow the Google Python style guide: 8 | http://code.google.com/p/soc/wiki/PythonStyleGuide 9 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipaddr/README.web-page-replay: -------------------------------------------------------------------------------- 1 | Name: An IPv4/IPv6 manipulation library in Python. 2 | Short Name: ipaddr-py 3 | URL: https://code.google.com/p/ipaddr-py/ 4 | Version: 2.1.10 (ipaddr.__version__) 5 | License: Apache (v2.0) 6 | License File: COPYING 7 | 8 | Description: 9 | Used by Web Page Replay to check if an IP address is private. 10 | 11 | Local Modifications: 12 | Cherry picked revision 728996d6b1d4 to add license boilerplate to test-2to3.sh. 13 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipfw_win32/README.web-page-replay: -------------------------------------------------------------------------------- 1 | Name: Windows XP NDIS module for Dummynet. 2 | Short Name: ipfw3 3 | URL: http://info.iet.unipi.it/~luigi/dummynet/ 4 | Version: 20100322 v.3.0.0.2 5 | License: BSD 6 | License File: LICENSE 7 | 8 | Description: 9 | Used by Web Page Replay to simulate network delays and bandwidth throttling on Windows XP. 10 | 11 | Local Modifications: 12 | Dropped files: cyg-ipfw.exe, cygwin1.dll, testme.bat, wget.exe. -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipfw_win32/ipfw.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipfw_win32/ipfw.exe -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipfw_win32/ipfw.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/systrace/catapult/telemetry/third_party/web-page-replay/third_party/ipfw_win32/ipfw.sys -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/jsmin/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.txt 2 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/web-page-replay/third_party/jsmin/README.web-page-replay: -------------------------------------------------------------------------------- 1 | Name: JavaScript minifier 2 | Short Name: jsmin 3 | URL: https://pypi.python.org/pypi/jsmin 4 | Version: 2.2.1 5 | License: MIT 6 | License File: LICENSE.txt 7 | 8 | Description: 9 | Used by Web Page Replay's script_injector module to minify injected JS scripts. 10 | 11 | Local Modifications: 12 | Remove jsmin/__main__.py & jsmin/test.py since they are not needed and contain 13 | no license header (https://github.com/tikitu/jsmin/issues/17). 14 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/third_party/websocket-client/README.chromium: -------------------------------------------------------------------------------- 1 | Name: Python websocket-client 2 | Short Name: websocket-client 3 | URL: https://github.com/liris/websocket-client 4 | Version: 0.13.0 5 | Revision: 7d3a2e7c2b2ebf534039988f4f7bcc599b9e4d0e 6 | Date: Tue Oct 15 07:44:01 2013 +0900 7 | License: LGPL-2.1 8 | License File: NOT_SHIPPED 9 | Security Critical: no 10 | 11 | Description: 12 | 13 | websocket-client module is WebSocket client for python. This provide the low 14 | level APIs for WebSocket. All APIs are the synchronous functions. 15 | 16 | Used by the python code in devtools-auto to communicate with a running Chrome instance. 17 | 18 | Local Modifications: 19 | None. However, test, example and packaging code from the upstream repository has 20 | not been copied downstream. 21 | -------------------------------------------------------------------------------- /systrace/catapult/telemetry/update_docs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright 2013 The Chromium Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style license that can be 4 | # found in the LICENSE file. 5 | import os 6 | import sys 7 | 8 | from build import update_docs 9 | 10 | if __name__ == '__main__': 11 | sys.exit(update_docs.Main(sys.argv[1:])) 12 | -------------------------------------------------------------------------------- /欢迎微信关注工众号.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/欢迎微信关注工众号.jpg -------------------------------------------------------------------------------- /说明.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hakrtt/wechatgame/1281842e923158bfef4935c254a5aff78112a961/说明.png --------------------------------------------------------------------------------