Create isolation target for WebView CTS tests and capture gn-paths arg in pydeps.

The isolation target will be used by swarming, the gn-paths arg was not being
captured in pydeps files generated with build/print_python_deps.py, but it is
needed by the isolation target to properly locate its depenencies.

Bug: 803245
Change-Id: I15bf4c8f7d1cd24a6ce1fcb4b44aeeff42786943
Reviewed-on: https://chromium-review.googlesource.com/1234340
Commit-Queue: Andrew Luo <[email protected]>
Reviewed-by: Changwan Ryu <[email protected]>
Reviewed-by: agrieve <[email protected]>
Reviewed-by: John Budorick <[email protected]>
Cr-Commit-Position: refs/heads/master@{#592899}
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index dd0a868..b41bee9 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -638,6 +638,7 @@
 
 
 _ANDROID_SPECIFIC_PYDEPS_FILES = [
+    'android_webview/tools/run_cts.pydeps',
     'base/android/jni_generator/jni_generator.pydeps',
     'base/android/jni_generator/jni_registration_generator.pydeps',
     'build/android/gyp/aar.pydeps',
diff --git a/android_webview/test/BUILD.gn b/android_webview/test/BUILD.gn
index 1e240ea..44fe92f 100644
--- a/android_webview/test/BUILD.gn
+++ b/android_webview/test/BUILD.gn
@@ -17,6 +17,25 @@
   ]
 }
 
+group("webview_cts_tests") {
+  _py_files = read_file("//android_webview/tools/run_cts.pydeps", "list lines")
+  deps = [
+    "//android_webview:system_webview_apk",
+  ]
+
+  data_deps = [
+    "//build/android:logdog_wrapper_py",
+    "//build/android:test_runner_py",
+  ]
+
+  # Filter out comments.
+  set_sources_assignment_filter([ "#*" ])
+  sources = _py_files
+
+  data = sources
+  data += [ "//android_webview/tools/cts_config/" ]
+}
+
 android_apk("webview_instrumentation_apk") {
   deps = [
     ":android_webview_apk_assets",
diff --git a/android_webview/tools/run_cts.pydeps b/android_webview/tools/run_cts.pydeps
new file mode 100644
index 0000000..593d5ff
--- /dev/null
+++ b/android_webview/tools/run_cts.pydeps
@@ -0,0 +1,62 @@
+# Generated by running:
+#   build/print_python_deps.py --output android_webview/tools/run_cts.pydeps --gn-paths android_webview/tools/run_cts.py
+//android_webview/tools/run_cts.py
+//build/android/devil_chromium.py
+//build/android/pylib/__init__.py
+//build/android/pylib/constants/__init__.py
+//build/android/pylib/constants/host_paths.py
+//third_party/catapult/common/py_utils/py_utils/__init__.py
+//third_party/catapult/common/py_utils/py_utils/cloud_storage.py
+//third_party/catapult/common/py_utils/py_utils/cloud_storage_global_lock.py
+//third_party/catapult/common/py_utils/py_utils/lock.py
+//third_party/catapult/common/py_utils/py_utils/tempfile_ext.py
+//third_party/catapult/dependency_manager/dependency_manager/__init__.py
+//third_party/catapult/dependency_manager/dependency_manager/archive_info.py
+//third_party/catapult/dependency_manager/dependency_manager/base_config.py
+//third_party/catapult/dependency_manager/dependency_manager/cloud_storage_info.py
+//third_party/catapult/dependency_manager/dependency_manager/dependency_info.py
+//third_party/catapult/dependency_manager/dependency_manager/dependency_manager_util.py
+//third_party/catapult/dependency_manager/dependency_manager/exceptions.py
+//third_party/catapult/dependency_manager/dependency_manager/local_path_info.py
+//third_party/catapult/dependency_manager/dependency_manager/manager.py
+//third_party/catapult/dependency_manager/dependency_manager/uploader.py
+//third_party/catapult/devil/devil/__init__.py
+//third_party/catapult/devil/devil/android/__init__.py
+//third_party/catapult/devil/devil/android/apk_helper.py
+//third_party/catapult/devil/devil/android/constants/__init__.py
+//third_party/catapult/devil/devil/android/constants/chrome.py
+//third_party/catapult/devil/devil/android/constants/file_system.py
+//third_party/catapult/devil/devil/android/decorators.py
+//third_party/catapult/devil/devil/android/device_blacklist.py
+//third_party/catapult/devil/devil/android/device_errors.py
+//third_party/catapult/devil/devil/android/device_signal.py
+//third_party/catapult/devil/devil/android/device_temp_file.py
+//third_party/catapult/devil/devil/android/device_utils.py
+//third_party/catapult/devil/devil/android/install_commands.py
+//third_party/catapult/devil/devil/android/logcat_monitor.py
+//third_party/catapult/devil/devil/android/md5sum.py
+//third_party/catapult/devil/devil/android/sdk/__init__.py
+//third_party/catapult/devil/devil/android/sdk/aapt.py
+//third_party/catapult/devil/devil/android/sdk/adb_wrapper.py
+//third_party/catapult/devil/devil/android/sdk/build_tools.py
+//third_party/catapult/devil/devil/android/sdk/intent.py
+//third_party/catapult/devil/devil/android/sdk/keyevent.py
+//third_party/catapult/devil/devil/android/sdk/split_select.py
+//third_party/catapult/devil/devil/android/sdk/version_codes.py
+//third_party/catapult/devil/devil/android/tools/__init__.py
+//third_party/catapult/devil/devil/android/tools/script_common.py
+//third_party/catapult/devil/devil/base_error.py
+//third_party/catapult/devil/devil/constants/__init__.py
+//third_party/catapult/devil/devil/constants/exit_codes.py
+//third_party/catapult/devil/devil/devil_env.py
+//third_party/catapult/devil/devil/utils/__init__.py
+//third_party/catapult/devil/devil/utils/cmd_helper.py
+//third_party/catapult/devil/devil/utils/host_utils.py
+//third_party/catapult/devil/devil/utils/lazy/__init__.py
+//third_party/catapult/devil/devil/utils/lazy/weak_constant.py
+//third_party/catapult/devil/devil/utils/parallelizer.py
+//third_party/catapult/devil/devil/utils/reraiser_thread.py
+//third_party/catapult/devil/devil/utils/timeout_retry.py
+//third_party/catapult/devil/devil/utils/watchdog_timer.py
+//third_party/catapult/devil/devil/utils/zip_utils.py
+//third_party/catapult/third_party/zipfile/zipfile_2_7_13.py
diff --git a/build/print_python_deps.py b/build/print_python_deps.py
index 8ded01e..e08cfb49 100755
--- a/build/print_python_deps.py
+++ b/build/print_python_deps.py
@@ -54,6 +54,8 @@
     args.extend(('--root', root))
   if options.output:
     args.extend(('--output', os.path.relpath(options.output, _SRC_ROOT)))
+  if options.gn_paths:
+    args.extend(('--gn-paths',))
   for whitelist in sorted(options.whitelists):
     args.extend(('--whitelist', os.path.relpath(whitelist, _SRC_ROOT)))
   args.append(os.path.relpath(options.module, _SRC_ROOT))