Rewrite kotlin lib processing tests to use valid API surface.

Bug: 129837418, 129558497, 129568705
Change-Id: Iba50a04b1da42259764c8792d4bc53b79f7fd099
diff --git a/src/test/java/com/android/tools/r8/TestBuilder.java b/src/test/java/com/android/tools/r8/TestBuilder.java
index 6eea205..350293d 100644
--- a/src/test/java/com/android/tools/r8/TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestBuilder.java
@@ -30,7 +30,9 @@
   }
 
   public T apply(ThrowableConsumer<T> fn) {
-    fn.acceptWithRuntimeException(self());
+    if (fn != null) {
+      fn.acceptWithRuntimeException(self());
+    }
     return self();
   }
 
diff --git a/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java b/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java
index 488c23c..483b3aa 100644
--- a/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java
@@ -4,14 +4,13 @@
 package com.android.tools.r8.kotlin;
 
 import com.android.tools.r8.KotlinTestBase;
+import com.android.tools.r8.R8FullTestBuilder;
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.ThrowableConsumer;
 import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.ToolHelper.KotlinTargetVersion;
-import com.android.tools.r8.utils.InternalOptions;
 import com.google.common.collect.ImmutableList;
 import java.util.Collection;
-import java.util.function.Consumer;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -37,12 +36,12 @@
   }
 
   private void test(
-      Collection<String> rules, Consumer<InternalOptions> optionsConsumer) throws Exception {
+      Collection<String> rules, ThrowableConsumer<R8FullTestBuilder> consumer) throws Exception {
     testForR8(parameters.getBackend())
         .addLibraryFiles(ToolHelper.getDefaultAndroidJar(), ToolHelper.getKotlinStdlibJar())
         .addProgramFiles(ToolHelper.getKotlinReflectJar())
-        .addOptionsModification(optionsConsumer)
         .addKeepRules(rules)
+        .apply(consumer)
         .compile();
   }
 
@@ -56,14 +55,18 @@
     test(ImmutableList.of("-dontshrink", "-dontoptimize"));
   }
 
-  @Ignore("b/129568705")
   @Test
   public void testDontShrinkAndDontOptimizeDifferently() throws Exception {
      test(
          ImmutableList.of("-keep,allowobfuscation class **.*KClasses*"),
-         o -> {
-           o.enableTreeShaking = false;
-           o.enableVerticalClassMerging = false;
+         tb -> {
+           tb.noTreeShaking();
+           tb.addOptionsModification(o -> {
+             // Randomly choose a couple of optimizations.
+             o.enableVerticalClassMerging = false;
+             o.enableClassStaticizer = false;
+             o.outline.enabled = false;
+           });
          });
   }
 
@@ -77,12 +80,11 @@
     test(ImmutableList.of("-dontshrink"));
   }
 
-  @Ignore("b/129558497")
   @Test
   public void testDontShrinkDifferently() throws Exception {
     test(
         ImmutableList.of("-keep,allowobfuscation class **.*KClasses*"),
-        o -> o.enableTreeShaking = false);
+        tb -> tb.noTreeShaking());
   }
 
   @Test
diff --git a/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinStdlibTest.java b/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinStdlibTest.java
index c3a7fd7..956c37b 100644
--- a/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinStdlibTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinStdlibTest.java
@@ -4,14 +4,13 @@
 package com.android.tools.r8.kotlin;
 
 import com.android.tools.r8.KotlinTestBase;
+import com.android.tools.r8.R8FullTestBuilder;
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.ThrowableConsumer;
 import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.ToolHelper.KotlinTargetVersion;
-import com.android.tools.r8.utils.InternalOptions;
 import com.google.common.collect.ImmutableList;
 import java.util.Collection;
-import java.util.function.Consumer;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -36,11 +35,11 @@
   }
 
   private void test(
-      Collection<String> rules, Consumer<InternalOptions> optionsConsumer) throws Exception {
+      Collection<String> rules, ThrowableConsumer<R8FullTestBuilder> consumer) throws Exception {
     testForR8(parameters.getBackend())
         .addProgramFiles(ToolHelper.getKotlinStdlibJar())
-        .addOptionsModification(optionsConsumer)
         .addKeepRules(rules)
+        .apply(consumer)
         .compile();
   }
 
@@ -54,14 +53,18 @@
     test(ImmutableList.of("-dontshrink", "-dontoptimize"));
   }
 
-  @Ignore("b/129558497")
   @Test
   public void testDontShrinkAndDontOptimizeDifferently() throws Exception {
      test(
          ImmutableList.of("-keep,allowobfuscation class **.*Exception*"),
-         o -> {
-           o.enableTreeShaking = false;
-           o.enableVerticalClassMerging = false;
+         tb -> {
+           tb.noTreeShaking();
+           tb.addOptionsModification(o -> {
+             // Randomly choose a couple of optimizations.
+             o.enableClassInlining = false;
+             o.enableLambdaMerging = false;
+             o.enableValuePropagation = false;
+           });
          });
   }
 
@@ -75,12 +78,11 @@
     test(ImmutableList.of("-dontshrink"));
   }
 
-  @Ignore("b/129558497")
   @Test
   public void testDontShrinkDifferently() throws Exception {
     test(
         ImmutableList.of("-keep,allowobfuscation class **.*Exception*"),
-        o -> o.enableTreeShaking = false);
+        tb -> tb.noTreeShaking());
   }
 
   @Test