Update API tests with the assertion configuration APIs
Bug: 139898386
Change-Id: I3bc75e854ccd565f5d7631e12e48d4d07fd153f5
diff --git a/src/test/apiUsageSample/com/android/tools/apiusagesample/D8ApiUsageSample.java b/src/test/apiUsageSample/com/android/tools/apiusagesample/D8ApiUsageSample.java
index 41b328c..642a4ab 100644
--- a/src/test/apiUsageSample/com/android/tools/apiusagesample/D8ApiUsageSample.java
+++ b/src/test/apiUsageSample/com/android/tools/apiusagesample/D8ApiUsageSample.java
@@ -4,6 +4,7 @@
package com.android.tools.apiusagesample;
import com.android.tools.r8.ArchiveProgramResourceProvider;
+import com.android.tools.r8.AssertionsConfiguration;
import com.android.tools.r8.CompilationFailedException;
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.D8;
@@ -105,6 +106,7 @@
useLibraryAndClasspathProvider(minApiLevel, libraries, classpath, inputs);
useMainDexListFiles(minApiLevel, libraries, classpath, inputs, mainDexList);
useMainDexClasses(minApiLevel, libraries, classpath, inputs, mainDexList);
+ useAssertionConfig(minApiLevel, libraries, classpath, inputs);
useVArgVariants(minApiLevel, libraries, classpath, inputs, mainDexList);
incrementalCompileAndMerge(minApiLevel, libraries, classpath, inputs);
}
@@ -281,6 +283,54 @@
}
}
+ private static void useAssertionConfig(
+ int minApiLevel,
+ Collection<Path> libraries,
+ Collection<Path> classpath,
+ Collection<Path> inputs) {
+ try {
+ D8.run(
+ D8Command.builder(handler)
+ .setMinApiLevel(minApiLevel)
+ .setProgramConsumer(new EnsureOutputConsumer())
+ .addLibraryFiles(libraries)
+ .addClasspathFiles(classpath)
+ .addProgramFiles(inputs)
+ .addAssertionsConfiguration(b -> b.setScopeAll().setEnable().build())
+ .addAssertionsConfiguration(b -> b.setScopeAll().setDisable().build())
+ .addAssertionsConfiguration(
+ b -> b.setScopePackage("com.android.tools.apiusagesample").setEnable().build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopePackage("com.android.tools.apiusagesample")
+ .setPassthrough()
+ .build())
+ .addAssertionsConfiguration(
+ b -> b.setScopePackage("com.android.tools.apiusagesample").setDisable().build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopeClass("com.android.tools.apiusagesample.D8ApiUsageSample")
+ .setEnable()
+ .build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopeClass("com.android.tools.apiusagesample.D8ApiUsageSample")
+ .setPassthrough()
+ .build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopeClass("com.android.tools.apiusagesample.D8ApiUsageSample")
+ .setDisable()
+ .build())
+ .addAssertionsConfiguration(AssertionsConfiguration.Builder::enableAllAssertions)
+ .addAssertionsConfiguration(AssertionsConfiguration.Builder::passthroughAllAssertions)
+ .addAssertionsConfiguration(AssertionsConfiguration.Builder::disableAllAssertions)
+ .build());
+ } catch (CompilationFailedException e) {
+ throw new RuntimeException("Unexpected compilation exceptions", e);
+ }
+ }
+
// Check API support for all the varg variants.
private static void useVArgVariants(
int minApiLevel,
diff --git a/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java b/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java
index 7203f39..8f57473 100644
--- a/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java
+++ b/src/test/apiUsageSample/com/android/tools/apiusagesample/R8ApiUsageSample.java
@@ -5,6 +5,7 @@
import com.android.tools.r8.ArchiveClassFileProvider;
import com.android.tools.r8.ArchiveProgramResourceProvider;
+import com.android.tools.r8.AssertionsConfiguration;
import com.android.tools.r8.CompilationFailedException;
import com.android.tools.r8.CompilationMode;
import com.android.tools.r8.DexIndexedConsumer;
@@ -117,6 +118,7 @@
useMainDexRules(minApiLevel, libraries, inputs, mainDexRules);
useProguardConfigFiles(minApiLevel, libraries, inputs, mainDexList, pgConf);
useProguardConfigLines(minApiLevel, libraries, inputs, mainDexList, pgConf);
+ useAssertionConfig(minApiLevel, libraries, inputs);
useVArgVariants(minApiLevel, libraries, inputs, mainDexList, mainDexRules, pgConf);
useProguardConfigConsumers(minApiLevel, libraries, inputs, pgConf);
}
@@ -402,6 +404,50 @@
}
}
+ private static void useAssertionConfig(
+ int minApiLevel, Collection<Path> libraries, Collection<Path> inputs) {
+ try {
+ R8.run(
+ R8Command.builder(handler)
+ .setMinApiLevel(minApiLevel)
+ .setProgramConsumer(new R8ApiUsageSample.EnsureOutputConsumer())
+ .addLibraryFiles(libraries)
+ .addProgramFiles(inputs)
+ .addAssertionsConfiguration(b -> b.setScopeAll().setEnable().build())
+ .addAssertionsConfiguration(b -> b.setScopeAll().setDisable().build())
+ .addAssertionsConfiguration(
+ b -> b.setScopePackage("com.android.tools.apiusagesample").setEnable().build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopePackage("com.android.tools.apiusagesample")
+ .setPassthrough()
+ .build())
+ .addAssertionsConfiguration(
+ b -> b.setScopePackage("com.android.tools.apiusagesample").setDisable().build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopeClass("com.android.tools.apiusagesample.D8ApiUsageSample")
+ .setEnable()
+ .build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopeClass("com.android.tools.apiusagesample.D8ApiUsageSample")
+ .setPassthrough()
+ .build())
+ .addAssertionsConfiguration(
+ b ->
+ b.setScopeClass("com.android.tools.apiusagesample.D8ApiUsageSample")
+ .setDisable()
+ .build())
+ .addAssertionsConfiguration(AssertionsConfiguration.Builder::enableAllAssertions)
+ .addAssertionsConfiguration(AssertionsConfiguration.Builder::passthroughAllAssertions)
+ .addAssertionsConfiguration(AssertionsConfiguration.Builder::disableAllAssertions)
+ .build());
+ } catch (CompilationFailedException e) {
+ throw new RuntimeException("Unexpected compilation exceptions", e);
+ }
+ }
+
// Check API support for all the varg variants.
private static void useVArgVariants(
int minApiLevel,
diff --git a/tests/d8_api_usage_sample.jar b/tests/d8_api_usage_sample.jar
index e47a3ad..da01fdb 100644
--- a/tests/d8_api_usage_sample.jar
+++ b/tests/d8_api_usage_sample.jar
Binary files differ
diff --git a/tests/r8_api_usage_sample.jar b/tests/r8_api_usage_sample.jar
index 4970fe1..da01fdb 100644
--- a/tests/r8_api_usage_sample.jar
+++ b/tests/r8_api_usage_sample.jar
Binary files differ