Fix SystemUIAppNoTreeShaking benchmark

Change-Id: I986803f29aeb1facf3b28e555eb8bcecb9b80d78
diff --git a/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java b/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java
index b3c22ce..ac1e59d 100644
--- a/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java
+++ b/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java
@@ -3,7 +3,9 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.benchmarks.appdumps;
 
+import static org.junit.Assert.assertTrue;
 
+import com.android.tools.r8.CompilationFailedException;
 import com.android.tools.r8.CompilationMode;
 import com.android.tools.r8.LibraryDesugaringTestConfiguration;
 import com.android.tools.r8.R8FullTestBuilder;
@@ -66,6 +68,7 @@
   private int fromRevision = -1;
   private CompilationMode compilationMode;
   private boolean enableLibraryDesugaring = true;
+  private boolean runtimeOnly = false;
   private final List<String> programPackages = new ArrayList<>();
 
   public void verify() {
@@ -113,6 +116,11 @@
     return this;
   }
 
+  public AppDumpBenchmarkBuilder setRuntimeOnly() {
+    this.runtimeOnly = true;
+    return this;
+  }
+
   public AppDumpBenchmarkBuilder addProgramPackages(String... pkgs) {
     return addProgramPackages(Arrays.asList(pkgs));
   }
@@ -182,25 +190,29 @@
   public BenchmarkConfig buildR8WithResourceShrinking(
       ThrowableConsumer<? super R8FullTestBuilder> configuration) {
     verify();
-    return BenchmarkConfig.builder()
-        .setName(name)
-        .setTarget(BenchmarkTarget.R8)
-        .setSuite(BenchmarkSuite.OPENSOURCE_BENCHMARKS)
-        .setMethod(runR8WithResourceShrinking(this, configuration))
-        .setFromRevision(fromRevision)
-        .addDependency(dumpDependency)
-        // TODO(b/368282141): Also measure resource size.
-        .measureRunTime()
-        .measureCodeSize()
-        .measureInstructionCodeSize()
-        .measureComposableInstructionCodeSize()
-        .measureDexSegmentsCodeSize()
-        .measureDex2OatCodeSize()
-        // TODO(b/373550435): Update dex2oat to enable checking absence of verification errors on
-        //  SystemUI.
-        .setEnableDex2OatVerification(!name.equals("SystemUIApp"))
-        .setTimeout(10, TimeUnit.MINUTES)
-        .build();
+    BenchmarkConfig.Builder builder =
+        BenchmarkConfig.builder()
+            .setName(name)
+            .setTarget(BenchmarkTarget.R8)
+            .setSuite(BenchmarkSuite.OPENSOURCE_BENCHMARKS)
+            .setMethod(runR8WithResourceShrinking(this, configuration))
+            .setFromRevision(fromRevision)
+            .addDependency(dumpDependency)
+            // TODO(b/368282141): Also measure resource size.
+            .measureRunTime()
+            // TODO(b/373550435): Update dex2oat to enable checking absence of verification errors
+            //  on SystemUI.
+            .setEnableDex2OatVerification(!name.equals("SystemUIApp"))
+            .setTimeout(10, TimeUnit.MINUTES);
+    if (!runtimeOnly) {
+      builder
+          .measureCodeSize()
+          .measureInstructionCodeSize()
+          .measureComposableInstructionCodeSize()
+          .measureDexSegmentsCodeSize()
+          .measureDex2OatCodeSize();
+    }
+    return builder.build();
   }
 
   public BenchmarkConfig buildIncrementalD8() {
@@ -380,8 +392,8 @@
                                   .benchmarkDex2OatCodeSize(
                                       results,
                                       environment.getConfig().isDex2OatVerificationEnabled());
-                            } catch (AbortBenchmarkException e) {
-                              // Ignore.
+                            } catch (CompilationFailedException e) {
+                              assertTrue(e.getCause() instanceof AbortBenchmarkException);
                             }
                           });
                 });
diff --git a/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java b/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java
index 224219a..9ab0474 100644
--- a/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java
+++ b/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java
@@ -47,6 +47,7 @@
             .setName("SystemUIAppTreeShaking")
             .setDumpDependencyPath(dir)
             .setFromRevision(16457)
+            .setRuntimeOnly()
             .buildR8WithResourceShrinking(SystemUIBenchmarks::configureTreeShaking));
   }
 
@@ -70,8 +71,11 @@
                 (appInfo, enqueuerMode) -> {
                   if (appInfo.options().printTimes) {
                     Timing timing = appInfo.app().timing;
-                    timing.end();
-                    timing.report();
+                    timing.end(); // End "Create result"
+                    timing.end(); // End "Trace application"
+                    timing.end(); // End "Enqueuer"
+                    timing.end(); // End "Strip unused code"
+                    timing.report(); // Report "R8 main"
                   }
                   throw new AbortBenchmarkException();
                 });