Merge "Make container mandatory in aconfig_declarations." into main

This commit is contained in:
Oriol Prieto Gascó
2024-05-03 14:09:48 +00:00
committed by Gerrit Code Review
13 changed files with 126 additions and 20 deletions

View File

@@ -15,9 +15,10 @@
package codegen
import (
"testing"
"android/soong/android"
"android/soong/java"
"testing"
)
func TestAconfigDeclarationsGroup(t *testing.T) {
@@ -28,6 +29,7 @@ func TestAconfigDeclarationsGroup(t *testing.T) {
aconfig_declarations {
name: "foo-aconfig",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
@@ -39,6 +41,7 @@ func TestAconfigDeclarationsGroup(t *testing.T) {
aconfig_declarations {
name: "bar-aconfig",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}

View File

@@ -50,6 +50,7 @@ func testCCCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
@@ -112,6 +113,7 @@ func testIncorrectCCCodegenModeHelper(t *testing.T, bpMode string, err string) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
@@ -167,6 +169,7 @@ func TestAndroidMkCcLibrary(t *testing.T) {
aconfig_declarations {
name: "my_aconfig_declarations_bar",
package: "com.example.package",
container: "com.android.foo",
srcs: ["bar.aconfig"],
}
@@ -241,6 +244,7 @@ func TestForceReadOnly(t *testing.T) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}

View File

@@ -35,6 +35,7 @@ func runJavaAndroidMkTest(t *testing.T, bp string) {
aconfig_declarations {
name: "my_aconfig_declarations_foo",
package: "com.example.package.foo",
container: "system",
srcs: ["foo.aconfig"],
}
@@ -46,6 +47,7 @@ func runJavaAndroidMkTest(t *testing.T, bp string) {
aconfig_declarations {
name: "my_aconfig_declarations_bar",
package: "com.example.package.bar",
container: "system",
srcs: ["bar.aconfig"],
}
@@ -60,7 +62,7 @@ func runJavaAndroidMkTest(t *testing.T, bp string) {
entry := android.AndroidMkEntriesForTest(t, result.TestContext, module)[0]
makeVar := entry.EntryMap["LOCAL_ACONFIG_FILES"]
android.EnsureListContainsSuffix(t, makeVar, "android_common/aconfig_merged.pb")
android.EnsureListContainsSuffix(t, makeVar, "android_common/system/aconfig_merged.pb")
}
func TestAndroidMkJavaLibrary(t *testing.T) {
@@ -175,6 +177,7 @@ func testCodegenMode(t *testing.T, bpMode string, ruleMode string) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
exportable: true,
}
@@ -200,6 +203,7 @@ func testCodegenModeWithError(t *testing.T, bpMode string, err string) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
@@ -234,3 +238,52 @@ func TestForceReadOnlyMode(t *testing.T) {
func TestUnsupportedMode(t *testing.T) {
testCodegenModeWithError(t, "mode: `unsupported`,", "mode: \"unsupported\" is not a supported mode")
}
func TestMkEntriesMatchedContainer(t *testing.T) {
result := android.GroupFixturePreparers(
PrepareForTestWithAconfigBuildComponents,
java.PrepareForTestWithJavaDefaultModules).
ExtendWithErrorHandler(android.FixtureExpectsNoErrors).
RunTestWithBp(t, `
aconfig_declarations {
name: "my_aconfig_declarations_foo",
package: "com.example.package.foo",
container: "system",
srcs: ["foo.aconfig"],
}
java_aconfig_library {
name: "my_java_aconfig_library_foo",
aconfig_declarations: "my_aconfig_declarations_foo",
}
aconfig_declarations {
name: "my_aconfig_declarations_bar",
package: "com.example.package.bar",
container: "system_ext",
srcs: ["bar.aconfig"],
}
java_aconfig_library {
name: "my_java_aconfig_library_bar",
aconfig_declarations: "my_aconfig_declarations_bar",
}
java_library {
name: "my_module",
srcs: [
"src/foo.java",
],
static_libs: [
"my_java_aconfig_library_foo",
"my_java_aconfig_library_bar",
],
platform_apis: true,
}
`)
module := result.ModuleForTests("my_module", "android_common").Module()
entry := android.AndroidMkEntriesForTest(t, result.TestContext, module)[0]
makeVar := entry.EntryMap["LOCAL_ACONFIG_FILES"]
android.EnsureListContainsSuffix(t, makeVar, "my_aconfig_declarations_foo/intermediate.pb")
}

View File

@@ -46,6 +46,7 @@ func TestRustAconfigLibrary(t *testing.T) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
@@ -131,6 +132,7 @@ func testRustCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) {
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
rust_aconfig_library {
@@ -193,6 +195,7 @@ func testIncorrectRustCodegenModeHelper(t *testing.T, bpMode string, err string)
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
container: "com.android.foo",
srcs: ["foo.aconfig"],
}
rust_aconfig_library {