Merge "Improve realism of boot jar tests" am: 21fb92d7f6
am: 590a50fe8f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674028 Change-Id: I7fc246996b751bb748b33877f8e758bf5a9a3516
This commit is contained in:
@@ -23,12 +23,6 @@ import (
|
||||
"github.com/google/blueprint/proptools"
|
||||
)
|
||||
|
||||
func fixtureSetBootJarsProductVariable(bootJars ...string) android.FixturePreparer {
|
||||
return android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
variables.BootJars = android.CreateTestConfiguredJarList(bootJars)
|
||||
})
|
||||
}
|
||||
|
||||
func fixtureSetPrebuiltHiddenApiDirProductVariable(prebuiltHiddenApiDir *string) android.FixturePreparer {
|
||||
return android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
variables.PrebuiltHiddenApiDir = prebuiltHiddenApiDir
|
||||
@@ -41,7 +35,7 @@ var hiddenApiFixtureFactory = android.GroupFixturePreparers(
|
||||
func TestHiddenAPISingleton(t *testing.T) {
|
||||
result := android.GroupFixturePreparers(
|
||||
hiddenApiFixtureFactory,
|
||||
fixtureSetBootJarsProductVariable("platform:foo"),
|
||||
FixtureConfigureBootJars("platform:foo"),
|
||||
).RunTestWithBp(t, `
|
||||
java_library {
|
||||
name: "foo",
|
||||
@@ -61,7 +55,7 @@ func TestHiddenAPIIndexSingleton(t *testing.T) {
|
||||
hiddenApiFixtureFactory,
|
||||
PrepareForTestWithJavaSdkLibraryFiles,
|
||||
FixtureWithLastReleaseApis("bar"),
|
||||
fixtureSetBootJarsProductVariable("platform:foo", "platform:bar"),
|
||||
FixtureConfigureBootJars("platform:foo", "platform:bar"),
|
||||
).RunTestWithBp(t, `
|
||||
java_library {
|
||||
name: "foo",
|
||||
@@ -119,7 +113,7 @@ func TestHiddenAPISingletonWithSourceAndPrebuiltPreferredButNoDex(t *testing.T)
|
||||
|
||||
android.GroupFixturePreparers(
|
||||
hiddenApiFixtureFactory,
|
||||
fixtureSetBootJarsProductVariable("platform:foo"),
|
||||
FixtureConfigureBootJars("platform:foo"),
|
||||
).ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(expectedErrorMessage)).
|
||||
RunTestWithBp(t, `
|
||||
java_library {
|
||||
@@ -139,7 +133,7 @@ func TestHiddenAPISingletonWithSourceAndPrebuiltPreferredButNoDex(t *testing.T)
|
||||
func TestHiddenAPISingletonWithPrebuilt(t *testing.T) {
|
||||
result := android.GroupFixturePreparers(
|
||||
hiddenApiFixtureFactory,
|
||||
fixtureSetBootJarsProductVariable("platform:foo"),
|
||||
FixtureConfigureBootJars("platform:foo"),
|
||||
).RunTestWithBp(t, `
|
||||
java_import {
|
||||
name: "foo",
|
||||
@@ -157,7 +151,7 @@ func TestHiddenAPISingletonWithPrebuilt(t *testing.T) {
|
||||
func TestHiddenAPISingletonWithPrebuiltUseSource(t *testing.T) {
|
||||
result := android.GroupFixturePreparers(
|
||||
hiddenApiFixtureFactory,
|
||||
fixtureSetBootJarsProductVariable("platform:foo"),
|
||||
FixtureConfigureBootJars("platform:foo"),
|
||||
).RunTestWithBp(t, `
|
||||
java_library {
|
||||
name: "foo",
|
||||
@@ -185,7 +179,7 @@ func TestHiddenAPISingletonWithPrebuiltUseSource(t *testing.T) {
|
||||
func TestHiddenAPISingletonWithPrebuiltOverrideSource(t *testing.T) {
|
||||
result := android.GroupFixturePreparers(
|
||||
hiddenApiFixtureFactory,
|
||||
fixtureSetBootJarsProductVariable("platform:foo"),
|
||||
FixtureConfigureBootJars("platform:foo"),
|
||||
).RunTestWithBp(t, `
|
||||
java_library {
|
||||
name: "foo",
|
||||
@@ -295,7 +289,7 @@ func TestHiddenAPISingletonWithPrebuiltCsvFile(t *testing.T) {
|
||||
|
||||
result := android.GroupFixturePreparers(
|
||||
hiddenApiFixtureFactory,
|
||||
fixtureSetBootJarsProductVariable("platform:foo"),
|
||||
FixtureConfigureBootJars("platform:foo"),
|
||||
fixtureSetPrebuiltHiddenApiDirProductVariable(&prebuiltHiddenApiDir),
|
||||
).RunTestWithBp(t, `
|
||||
java_import {
|
||||
|
@@ -31,7 +31,7 @@ var prepareForTestWithPlatformBootclasspath = android.GroupFixturePreparers(
|
||||
func TestPlatformBootclasspath(t *testing.T) {
|
||||
preparer := android.GroupFixturePreparers(
|
||||
prepareForTestWithPlatformBootclasspath,
|
||||
dexpreopt.FixtureSetBootJars("platform:foo", "platform:bar"),
|
||||
FixtureConfigureBootJars("platform:foo", "platform:bar"),
|
||||
android.FixtureWithRootAndroidBp(`
|
||||
platform_bootclasspath {
|
||||
name: "platform-bootclasspath",
|
||||
@@ -135,7 +135,7 @@ func TestPlatformBootclasspath(t *testing.T) {
|
||||
func TestPlatformBootclasspath_Dist(t *testing.T) {
|
||||
result := android.GroupFixturePreparers(
|
||||
prepareForTestWithPlatformBootclasspath,
|
||||
dexpreopt.FixtureSetBootJars("platform:foo", "platform:bar"),
|
||||
FixtureConfigureBootJars("platform:foo", "platform:bar"),
|
||||
android.PrepareForTestWithAndroidMk,
|
||||
android.FixtureWithRootAndroidBp(`
|
||||
platform_bootclasspath {
|
||||
|
@@ -178,6 +178,43 @@ func prebuiltApisFilesForLibs(apiLevels []string, sdkLibs []string) map[string][
|
||||
return fs
|
||||
}
|
||||
|
||||
// FixtureConfigureBootJars configures the boot jars in both the dexpreopt.GlobalConfig and
|
||||
// Config.productVariables structs. As a side effect that enables dexpreopt.
|
||||
func FixtureConfigureBootJars(bootJars ...string) android.FixturePreparer {
|
||||
artBootJars := []string{}
|
||||
for _, j := range bootJars {
|
||||
artApex := false
|
||||
for _, artApexName := range artApexNames {
|
||||
if strings.HasPrefix(j, artApexName+":") {
|
||||
artApex = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if artApex {
|
||||
artBootJars = append(artBootJars, j)
|
||||
}
|
||||
}
|
||||
return android.GroupFixturePreparers(
|
||||
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
variables.BootJars = android.CreateTestConfiguredJarList(bootJars)
|
||||
}),
|
||||
dexpreopt.FixtureSetBootJars(bootJars...),
|
||||
dexpreopt.FixtureSetArtBootJars(artBootJars...),
|
||||
)
|
||||
}
|
||||
|
||||
// FixtureConfigureUpdatableBootJars configures the updatable boot jars in both the
|
||||
// dexpreopt.GlobalConfig and Config.productVariables structs. As a side effect that enables
|
||||
// dexpreopt.
|
||||
func FixtureConfigureUpdatableBootJars(bootJars ...string) android.FixturePreparer {
|
||||
return android.GroupFixturePreparers(
|
||||
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
variables.UpdatableBootJars = android.CreateTestConfiguredJarList(bootJars)
|
||||
}),
|
||||
dexpreopt.FixtureSetUpdatableBootJars(bootJars...),
|
||||
)
|
||||
}
|
||||
|
||||
// registerRequiredBuildComponentsForTest registers the build components used by
|
||||
// PrepareForTestWithJavaDefaultModules.
|
||||
//
|
||||
|
Reference in New Issue
Block a user