Search in sources :

Example 1 with BundleModuleBuilder

use of com.android.tools.build.bundletool.testing.BundleModuleBuilder in project bundletool by google.

the class AbiParityValidatorTest method differentAbis_throws.

@Test
public void differentAbis_throws() throws Exception {
    BundleModule moduleA = new BundleModuleBuilder("a").addFile("lib/x86/lib1.so").addFile("lib/mips/lib2.so").setManifest(androidManifest("com.test.app")).build();
    BundleModule moduleB = new BundleModuleBuilder("b").addFile("lib/x86/lib3.so").addFile("lib/x86_64/lib4.so").setManifest(androidManifest("com.test.app")).build();
    InvalidBundleException exception = assertThrows(InvalidBundleException.class, () -> new AbiParityValidator().validateAllModules(ImmutableList.of(moduleA, moduleB)));
    assertThat(exception).hasMessageThat().contains("must support the same set of ABIs");
}
Also used : BundleModuleBuilder(com.android.tools.build.bundletool.testing.BundleModuleBuilder) InvalidBundleException(com.android.tools.build.bundletool.model.exceptions.InvalidBundleException) BundleModule(com.android.tools.build.bundletool.model.BundleModule) Test(org.junit.Test)

Example 2 with BundleModuleBuilder

use of com.android.tools.build.bundletool.testing.BundleModuleBuilder in project bundletool by google.

the class AbiParityValidatorTest method sameAbis_ok.

@Test
public void sameAbis_ok() throws Exception {
    BundleModule moduleA = new BundleModuleBuilder("a").addFile("lib/x86/lib1.so").addFile("lib/mips/lib2.so").setManifest(androidManifest("com.test.app")).build();
    BundleModule moduleB = new BundleModuleBuilder("b").addFile("lib/x86/lib3.so").addFile("lib/mips/lib4.so").setManifest(androidManifest("com.test.app")).build();
    new AbiParityValidator().validateAllModules(ImmutableList.of(moduleA, moduleB));
}
Also used : BundleModuleBuilder(com.android.tools.build.bundletool.testing.BundleModuleBuilder) BundleModule(com.android.tools.build.bundletool.model.BundleModule) Test(org.junit.Test)

Example 3 with BundleModuleBuilder

use of com.android.tools.build.bundletool.testing.BundleModuleBuilder in project bundletool by google.

the class AbiParityValidatorTest method sameAbisAndNoAbi_ok.

@Test
public void sameAbisAndNoAbi_ok() throws Exception {
    BundleModule moduleA = new BundleModuleBuilder("a").addFile("lib/x86/lib1.so").addFile("lib/mips/lib2.so").setManifest(androidManifest("com.test.app")).build();
    BundleModule moduleB = new BundleModuleBuilder("b").addFile("lib/x86/lib3.so").addFile("lib/mips/lib4.so").setManifest(androidManifest("com.test.app")).build();
    BundleModule moduleC = new BundleModuleBuilder("c").setManifest(androidManifest("com.test.app")).build();
    new AbiParityValidator().validateAllModules(ImmutableList.of(moduleA, moduleB, moduleC));
}
Also used : BundleModuleBuilder(com.android.tools.build.bundletool.testing.BundleModuleBuilder) BundleModule(com.android.tools.build.bundletool.model.BundleModule) Test(org.junit.Test)

Example 4 with BundleModuleBuilder

use of com.android.tools.build.bundletool.testing.BundleModuleBuilder in project bundletool by google.

the class AndroidManifestValidatorTest method withMultipleEqualSplitIds.

@Test
public void withMultipleEqualSplitIds() throws Exception {
    BundleModule module = new BundleModuleBuilder(FEATURE_MODULE_NAME).setManifest(androidManifestForFeature(PKG_NAME, withSplitId(FEATURE_MODULE_NAME), withSecondSplitId(FEATURE_MODULE_NAME))).build();
    // We accept multiple identical split IDs, so this should not throw.
    new AndroidManifestValidator().validateModule(module);
}
Also used : BundleModuleBuilder(com.android.tools.build.bundletool.testing.BundleModuleBuilder) BundleModule(com.android.tools.build.bundletool.model.BundleModule) Test(org.junit.Test)

Example 5 with BundleModuleBuilder

use of com.android.tools.build.bundletool.testing.BundleModuleBuilder in project bundletool by google.

the class AndroidManifestValidatorTest method withMinSdkUndeclared_ok.

@Test
public void withMinSdkUndeclared_ok() throws Exception {
    BundleModule base = baseModule(withMinSdkVersion(20));
    BundleModule module = new BundleModuleBuilder(FEATURE_MODULE_NAME).setManifest(androidManifest(PKG_NAME)).build();
    new AndroidManifestValidator().validateAllModules(ImmutableList.of(base, module));
// No exception thrown.
}
Also used : BundleModuleBuilder(com.android.tools.build.bundletool.testing.BundleModuleBuilder) BundleModule(com.android.tools.build.bundletool.model.BundleModule) Test(org.junit.Test)

Aggregations

BundleModuleBuilder (com.android.tools.build.bundletool.testing.BundleModuleBuilder)349 Test (org.junit.Test)348 BundleModule (com.android.tools.build.bundletool.model.BundleModule)321 ModuleSplit (com.android.tools.build.bundletool.model.ModuleSplit)164 InvalidBundleException (com.android.tools.build.bundletool.model.exceptions.InvalidBundleException)69 ResourceTableBuilder (com.android.tools.build.bundletool.testing.ResourceTableBuilder)44 ResourceTable (com.android.aapt.Resources.ResourceTable)38 ApkTargeting (com.android.bundle.Targeting.ApkTargeting)28 DensityAlias (com.android.bundle.Targeting.ScreenDensity.DensityAlias)19 ManifestProtoUtils.androidManifest (com.android.tools.build.bundletool.testing.ManifestProtoUtils.androidManifest)16 Truth.assertThat (com.google.common.truth.Truth.assertThat)16 RunWith (org.junit.runner.RunWith)16 TestUtils.extractPaths (com.android.tools.build.bundletool.testing.TestUtils.extractPaths)15 ImmutableList (com.google.common.collect.ImmutableList)15 ImmutableList.toImmutableList (com.google.common.collect.ImmutableList.toImmutableList)15 ProtoTruth.assertThat (com.google.common.truth.extensions.proto.ProtoTruth.assertThat)15 Truth8.assertThat (com.google.common.truth.Truth8.assertThat)14 NativeLibraries (com.android.bundle.Files.NativeLibraries)13 HDPI (com.android.tools.build.bundletool.testing.ResourcesTableFactory.HDPI)13 USER_PACKAGE_OFFSET (com.android.tools.build.bundletool.testing.ResourcesTableFactory.USER_PACKAGE_OFFSET)13