Extend build metadata test to feature splits
Change-Id: I0a66b3587b51a37da90910938be1ce6160fdba06
diff --git a/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java b/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
index 719306b..7383685 100644
--- a/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
+++ b/src/test/java/com/android/tools/r8/metadata/R8BuildMetadataTest.java
@@ -51,7 +51,7 @@
ImmutableList.of(ExternalStartupClass.builder().setClassReference(mainReference).build());
R8BuildMetadata buildMetadata =
testForR8(parameters.getBackend())
- .addInnerClasses(getClass())
+ .addProgramClasses(Main.class)
.addKeepMainRule(Main.class)
.addArtProfileForRewriting(
ExternalArtProfile.builder().addClassRule(mainReference).build())
@@ -60,7 +60,10 @@
testBuilder ->
testBuilder
.addAndroidResources(getTestResources())
+ .addFeatureSplit(FeatureSplitMain.class)
+ .addKeepMainRule(FeatureSplitMain.class)
.apply(StartupTestingUtils.addStartupProfile(startupProfile))
+ .enableIsolatedSplits(true)
.enableOptimizedShrinking())
.allowDiagnosticInfoMessages(parameters.canUseNativeMultidex())
.collectBuildMetadata()
@@ -90,6 +93,20 @@
private void inspectDeserializedBuildMetadata(R8BuildMetadata buildMetadata) {
assertNotNull(buildMetadata.getBaselineProfileRewritingOptions());
assertNotNull(buildMetadata.getCompilationInfo());
+ R8FeatureSplitsMetadata featureSplitsMetadata = buildMetadata.getFeatureSplitsMetadata();
+ if (parameters.isDexRuntime()) {
+ assertNotNull(featureSplitsMetadata);
+ assertTrue(featureSplitsMetadata.isIsolatedSplitsEnabled());
+ assertEquals(1, featureSplitsMetadata.getFeatureSplits().size());
+ R8FeatureSplitMetadata featureSplitMetadata = featureSplitsMetadata.getFeatureSplits().get(0);
+ assertNotNull(featureSplitMetadata);
+ assertEquals(1, featureSplitMetadata.getDexFilesMetadata().size());
+ R8DexFileMetadata featureSplitDexFile = featureSplitMetadata.getDexFilesMetadata().get(0);
+ assertNotNull(featureSplitDexFile);
+ assertNotNull(featureSplitDexFile.getChecksum());
+ } else {
+ assertNull(featureSplitsMetadata);
+ }
assertNotNull(buildMetadata.getOptions());
assertNotNull(buildMetadata.getOptions().getKeepAttributesOptions());
assertEquals(
@@ -122,4 +139,9 @@
public static void main(String[] args) {}
}
+
+ static class FeatureSplitMain {
+
+ public static void main(String[] args) {}
+ }
}