Creating webkit_layout_tests target.
This provides a webkit_layout_tests target which can be isolated and run on
swarming.
Doing this however is currently unusably slow.
Use with the following;
```bash
gn gen out/Release
gn args out/Release
# Put "is_debug = false" into the editor
ninja -C out/Release webkit_layout_tests
python tools/mb/mb.py isolate //out/Release webkit_layout_tests
# Obsolete Python tool
# python tools/swarming_client/isolate.py archive \
# -s out/Release/webkit_layout_tests.isolated \
# -I isolateserver.appspot.com
# Current supported Go tool
tools/luci-go/linux64/isolate archive \
-isolate=out/Release/webkit_layout_tests.isolate \
-isolated=out/Release/webkit_layout_tests.isolated \
-isolate-server=isolateserver.appspot.com
python tools/swarming_client/swarming.py run \
-v \
-d pool Chrome \
-d os Ubuntu-14.04 \
-d gpu none \
-S https://chromium-swarm.appspot.com \
-I https://isolateserver.appspot.com \
out/Release/webkit_layout_tests.isolated \
-- \
--isolated-script-test-output "\${ISOLATED_OUTDIR}/out.json"
```
BUG=524758
Review-Url: https://codereview.chromium.org/2452313003
Cr-Commit-Position: refs/heads/master@{#432140}
diff --git a/BUILD.gn b/BUILD.gn
index a23d2cc..c3f83c0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -911,16 +911,31 @@
testonly = true
deps = [
- "//content/shell:content_shell",
+ ":webkit_layout_tests",
"//third_party/WebKit/public:all_blink",
+ ]
+ }
+
+ # Layout tests runner
+ # third_party/WebKit/Tools/Scripts/run-webkit-tests
+ group("run_webkit_tests") {
+ testonly = true
+ deps = [
+ ":webkit_layout_tests",
+ ]
+ }
+
+ # https://www.chromium.org/developers/testing/webkit-layout-tests
+ group("webkit_layout_tests") {
+ testonly = true
+
+ data_deps = [
+ "//content/shell:content_shell",
"//tools/imagediff",
]
- # NOTE: The following deps are needed to run the layout tests
- # (run-webkit-tests) but there is no GN target for the layout tests,
- # so we need to specify the dependencies here instead.
if (is_android) {
- deps += [
+ data_deps += [
"//breakpad:breakpad_unittests",
"//breakpad:dump_syms",
"//breakpad:microdump_stackwalk",
@@ -932,24 +947,28 @@
}
if (is_win) {
- deps += [ "//content/shell:content_shell_crash_service" ]
+ data_deps += [ "//content/shell:content_shell_crash_service" ]
}
if (!is_win && !is_android) {
- deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
+ data_deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
}
if (is_mac) {
- deps += [ "//breakpad:dump_syms($host_toolchain)" ]
+ data_deps += [ "//breakpad:dump_syms($host_toolchain)" ]
}
if (is_linux) {
- deps += [ "//breakpad:dump_syms($host_toolchain)" ]
+ data_deps += [ "//breakpad:dump_syms($host_toolchain)" ]
}
data = [
+ "//testing/scripts/common.py",
+ "//testing/xvfb.py",
+ "//testing/scripts/run_telemetry_as_googletest.py",
"//third_party/WebKit/LayoutTests/",
"//third_party/WebKit/Tools/Scripts/",
+ "$root_build_dir/resources/inspector/",
]
}
}