diff --git a/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java b/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
index 8079072..8b7dbbb 100644
--- a/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
@@ -64,7 +64,7 @@
     return addKeepRules("-keep class ** { *; }");
   }
 
-  public T addKeepAndMinifyAllClassesRule() {
+  public T addKeepAllClassesRuleWithAllowObfuscation() {
     return addKeepRules("-keep,allowobfuscation class ** { *; }");
   }
 
@@ -79,6 +79,13 @@
     return self();
   }
 
+  public T addKeepClassRulesWithAllowObfuscation(Class<?>... classes) {
+    for (Class<?> clazz : classes) {
+      addKeepRules("-keep,allowobfuscation class " + clazz.getTypeName());
+    }
+    return self();
+  }
+
   public T addKeepClassAndMembersRules(Class<?>... classes) {
     for (Class<?> clazz : classes) {
       addKeepRules("-keep class " + clazz.getTypeName() + " { *; }");
diff --git a/src/test/java/com/android/tools/r8/naming/KeepPackageNamesTest.java b/src/test/java/com/android/tools/r8/naming/KeepPackageNamesTest.java
index e57c596..5eca4d1 100644
--- a/src/test/java/com/android/tools/r8/naming/KeepPackageNamesTest.java
+++ b/src/test/java/com/android/tools/r8/naming/KeepPackageNamesTest.java
@@ -85,7 +85,7 @@
   public void testProguard() throws Exception {
     testForProguard()
         .addProgramClasses(CLASSES)
-        .addKeepAndMinifyAllClassesRule()
+        .addKeepAllClassesRuleWithAllowObfuscation()
         .addKeepRules(config.getKeepRule())
         .compile()
         .inspect(config::inspect);
@@ -95,7 +95,7 @@
   public void testR8() throws Exception {
     testForR8(Backend.DEX)
         .addProgramClasses(CLASSES)
-        .addKeepAndMinifyAllClassesRule()
+        .addKeepAllClassesRuleWithAllowObfuscation()
         .addKeepRules(config.getKeepRule())
         .compile()
         .inspect(config::inspect);
