Commit 69c2d820 by Jamie Madill Committed by Angle LUCI CQ

Perf Tests: Register trace tests programatically.

Using testing::RegisterTests lets us filter out the disabled configs. This helps sharding the tests because some shards were getting a very uneven distribution of real tests vs skipped tests. A couple shards were running 20 minutes, while most were about 6 minutes. More work might be needed to even that out. Bug: angleproject:6090 Change-Id: Ibdf35677cfea86dfc374a2b18bb57cd9f289ddee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2994726Reviewed-by: 's avatarTim Van Patten <timvp@google.com> Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent dcfde515
...@@ -383,6 +383,12 @@ if (is_win || is_linux || is_chromeos || is_android || is_apple) { ...@@ -383,6 +383,12 @@ if (is_win || is_linux || is_chromeos || is_android || is_apple) {
if (build_angle_perftests) { if (build_angle_perftests) {
import("angle_perftests.gni") import("angle_perftests.gni")
config("angle_trace_perftests_config") {
if (build_angle_trace_perf_tests) {
defines = [ "ANGLE_TRACE_PERF_TESTS" ]
}
}
angle_source_set("angle_trace_perftests") { angle_source_set("angle_trace_perftests") {
testonly = true testonly = true
...@@ -402,6 +408,7 @@ if (build_angle_perftests) { ...@@ -402,6 +408,7 @@ if (build_angle_perftests) {
"$angle_root/util:angle_png_utils", "$angle_root/util:angle_png_utils",
"restricted_traces:angle_restricted_traces", "restricted_traces:angle_restricted_traces",
] ]
public_configs = [ ":angle_trace_perftests_config" ]
suppressed_configs += suppressed_configs +=
[ "$angle_root:constructor_and_destructor_warnings" ] [ "$angle_root:constructor_and_destructor_warnings" ]
} }
......
...@@ -13,9 +13,16 @@ ...@@ -13,9 +13,16 @@
void ANGLEProcessPerfTestArgs(int *argc, char **argv); void ANGLEProcessPerfTestArgs(int *argc, char **argv);
#if defined(ANGLE_TRACE_PERF_TESTS)
void RegisterTraceTests();
#endif // defined(ANGLE_TRACE_PERF_TESTS)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
angle::TestSuite testSuite(&argc, argv);
ANGLEProcessPerfTestArgs(&argc, argv); ANGLEProcessPerfTestArgs(&argc, argv);
#if defined(ANGLE_TRACE_PERF_TESTS)
RegisterTraceTests();
#endif // defined(ANGLE_TRACE_PERF_TESTS)
angle::TestSuite testSuite(&argc, argv);
return testSuite.run(); return testSuite.run();
} }
...@@ -53,8 +53,6 @@ using namespace angle; ...@@ -53,8 +53,6 @@ using namespace angle;
void ANGLEProcessPerfTestArgs(int *argc, char **argv) void ANGLEProcessPerfTestArgs(int *argc, char **argv)
{ {
int argcOutCount = 0;
for (int argIndex = 0; argIndex < *argc; argIndex++) for (int argIndex = 0; argIndex < *argc; argIndex++)
{ {
if (strcmp("--one-frame-only", argv[argIndex]) == 0) if (strcmp("--one-frame-only", argv[argIndex]) == 0)
...@@ -159,11 +157,5 @@ void ANGLEProcessPerfTestArgs(int *argc, char **argv) ...@@ -159,11 +157,5 @@ void ANGLEProcessPerfTestArgs(int *argc, char **argv)
{ {
gMinimizeGPUWork = true; gMinimizeGPUWork = true;
} }
else
{
argv[argcOutCount++] = argv[argIndex];
}
} }
*argc = argcOutCount;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment