Restrict rtc_test_suite to only allow tests and forward shard_timeout in rtc_cc_test Bug: webrtc:498394143 Change-Id: I08d1ddd488ca697ddc85ea4119fdf51a6a6a6964 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/465360 Commit-Queue: Evan Shrubsole <eshr@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47600}
diff --git a/BUILD.gn b/BUILD.gn index 40ac574..b6d3d04 100644 --- a/BUILD.gn +++ b/BUILD.gn
@@ -750,7 +750,6 @@ } rtc_test_suite("webrtc_nonparallel_tests") { - testonly = true tests = [ "rtc_base:cpu_time_unittest", "rtc_base:file_rotating_stream_unittest", @@ -758,9 +757,6 @@ "rtc_base:physical_socket_server_unittest", "rtc_base:socket_address_unittest", ] - if (is_android) { - shard_timeout = 900 - } } rtc_test("voip_unittests") {
diff --git a/webrtc.gni b/webrtc.gni index 8428c0d..48237e0 100644 --- a/webrtc.gni +++ b/webrtc.gni
@@ -1341,6 +1341,9 @@ if (defined(invoker.data_deps)) { data_deps = invoker.data_deps } + if (defined(invoker.shard_timeout)) { + shard_timeout = invoker.shard_timeout + } } } @@ -1355,6 +1358,11 @@ # tests: List of rtc_cc_test targets to include in this suite. # deps: Additional dependencies (e.g. groups of tests). template("rtc_test_suite") { + if (defined(invoker.testonly)) { + testonly = invoker.testonly + } else { + testonly = true + } _suite_name = target_name # This checks that all of the tests strings listed are an rtc_cc_test by @@ -1373,7 +1381,7 @@ _check_target = "${_suite_name}_${_safe_label}_check" generated_file(_check_target) { - testonly = true + testonly = testonly outputs = [ _output_file ] data_keys = [ "rtc_cc_test" ] output_conversion = "json" @@ -1393,7 +1401,7 @@ "json") action("${_suite_name}_verify_metadata") { - testonly = true + testonly = testonly script = "//tools_webrtc/verify_test_suite_metadata.py" inputs = [ "$target_gen_dir/${_suite_name}_metadata_map.json" ] outputs = [ "$target_gen_dir/${_suite_name}_metadata.stamp" ] @@ -1404,16 +1412,16 @@ deps = _metadata_check_deps } - rtc_test(_suite_name) { - forward_variables_from(invoker, "*", [ "tests" ]) + assert(!defined(invoker.deps), "rtc_test_suite does not allow deps") - if (!defined(deps)) { - deps = [] - } - if (defined(invoker.deps)) { - deps += invoker.deps - } - deps += invoker.tests + # TODO(webrtc:498394143): Infer shard_timeout for the suite based on the + # individual test timeouts if shard_timeouts are still required. + rtc_test(_suite_name) { + testonly = true + deps = invoker.tests deps += [ ":${_suite_name}_verify_metadata" ] + if (defined(invoker.shard_timeout)) { + shard_timeout = invoker.shard_timeout + } } }