| Index: build/config/android/internal_rules.gni
|
| diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
|
| index 02e7c7cc109c2491574d795604d60a3598fa14dc..585b44768c5831894ff860df9f1775b5fa40ece0 100644
|
| --- a/build/config/android/internal_rules.gni
|
| +++ b/build/config/android/internal_rules.gni
|
| @@ -417,6 +417,55 @@ template("copy_ex") {
|
| }
|
| }
|
|
|
| +template("device_isolate") {
|
| + testonly = true
|
| + _runtime_deps_file = "$target_gen_dir/$target_name.runtime_deps"
|
| + group("${target_name}__write_deps") {
|
| + forward_variables_from(invoker,
|
| + [
|
| + "data",
|
| + "data_deps",
|
| + "deps",
|
| + "public_deps",
|
| + ])
|
| + write_runtime_deps = _runtime_deps_file
|
| + }
|
| +
|
| + action(target_name) {
|
| + script = "//build/android/gn/generate_isolate.py"
|
| + inputs = [
|
| + _runtime_deps_file,
|
| + ]
|
| + outputs = [
|
| + invoker.output,
|
| + ]
|
| + args = [
|
| + "--output-directory=.",
|
| + "--out-file",
|
| + rebase_path(invoker.output, root_build_dir),
|
| + "--runtime-deps-file",
|
| + rebase_path(_runtime_deps_file, root_build_dir),
|
| + "--apply-android-filters",
|
| + "--apply-device-filters",
|
| + ]
|
| + _assert_no_odd_data =
|
| + defined(invoker.assert_no_odd_data) && invoker.assert_no_odd_data
|
| + if (_assert_no_odd_data) {
|
| + args += [ "--assert-no-odd-data" ]
|
| + }
|
| + if (defined(invoker.command)) {
|
| + _isolate_dir = get_path_info(invoker.output, "dir")
|
| + args += [
|
| + "--command",
|
| + rebase_path(invoker.command, _isolate_dir),
|
| + ]
|
| + }
|
| + deps = [
|
| + ":${invoker.target_name}__write_deps",
|
| + ]
|
| + }
|
| +}
|
| +
|
| # Generates a script in the output bin directory which runs the test
|
| # target using the test runner script in build/android/test_runner.py.
|
| template("test_runner_script") {
|
| @@ -426,24 +475,6 @@ template("test_runner_script") {
|
| _incremental_install =
|
| defined(invoker.incremental_install) && invoker.incremental_install
|
|
|
| - _runtime_deps =
|
| - !defined(invoker.ignore_all_data_deps) || !invoker.ignore_all_data_deps
|
| -
|
| - if (_runtime_deps) {
|
| - _runtime_deps_file = "$target_gen_dir/$target_name.runtime_deps"
|
| - _runtime_deps_target = "${target_name}__write_deps"
|
| - group(_runtime_deps_target) {
|
| - forward_variables_from(invoker,
|
| - [
|
| - "data",
|
| - "data_deps",
|
| - "deps",
|
| - "public_deps",
|
| - ])
|
| - write_runtime_deps = _runtime_deps_file
|
| - }
|
| - }
|
| -
|
| action(target_name) {
|
| forward_variables_from(invoker,
|
| [
|
| @@ -469,15 +500,6 @@ template("test_runner_script") {
|
| rebase_path(root_build_dir, root_build_dir),
|
| ]
|
|
|
| - if (_runtime_deps) {
|
| - deps += [ ":$_runtime_deps_target" ]
|
| - data += [ _runtime_deps_file ]
|
| - test_runner_args += [
|
| - "--runtime-deps-path",
|
| - rebase_path(_runtime_deps_file, root_build_dir),
|
| - ]
|
| - }
|
| -
|
| # apk_target is not used for native executable tests
|
| # (e.g. breakpad_unittests).
|
| if (defined(invoker.apk_target)) {
|
| @@ -554,6 +576,13 @@ template("test_runner_script") {
|
| ]
|
| }
|
| }
|
| + if (defined(invoker.isolate_file)) {
|
| + data += [ invoker.isolate_file ]
|
| + test_runner_args += [
|
| + "--isolate-file-path",
|
| + rebase_path(invoker.isolate_file, root_build_dir),
|
| + ]
|
| + }
|
| if (defined(invoker.shard_timeout)) {
|
| test_runner_args += [ "--shard-timeout=${invoker.shard_timeout}" ]
|
| }
|
|
|