diff --git a/src/test/java/com/android/tools/r8/androidresources/AndroidManifestWithCodeReferences.java b/src/test/java/com/android/tools/r8/androidresources/AndroidManifestWithCodeReferences.java
index 03f1663..24cc249 100644
--- a/src/test/java/com/android/tools/r8/androidresources/AndroidManifestWithCodeReferences.java
+++ b/src/test/java/com/android/tools/r8/androidresources/AndroidManifestWithCodeReferences.java
@@ -65,16 +65,14 @@
   public void testManifestReferences() throws Exception {
     testForR8(parameters.getBackend())
         .setMinApi(parameters)
-        .addProgramClasses(TestClass.class, Bar.class)
+        .addProgramClasses(Bar.class)
         .addAndroidResources(getTestResources(temp))
-        .addKeepMainRule(TestClass.class)
         .enableOptimizedShrinking()
         .compile()
         .inspectShrunkenResources(
             resourceTableInspector -> {
               resourceTableInspector.assertContainsResourceWithName("string", "app_name");
             })
-        .run(parameters.getRuntime(), TestClass.class)
         .inspect(
             codeInspector -> {
               ClassSubject barClass = codeInspector.clazz(Bar.class);
@@ -82,12 +80,7 @@
               // We should have two and only two methods, the two constructors.
               assertEquals(barClass.allMethods(MethodSubject::isInstanceInitializer).size(), 2);
               assertEquals(barClass.allMethods().size(), 2);
-            })
-        .assertSuccess();
-  }
-
-  public static class TestClass {
-    public static void main(String[] args) {}
+            });
   }
 
   // Only referenced from Manifest file
