Add test mode for java config modules

Test: soong unit tests, verify output files are correct
Bug: 288632682
Change-Id: If5a6c916104e60e3688f5614b7420138e1a6323e
This commit is contained in:
Joe Onorato
2023-07-28 05:30:25 -07:00
parent 460fb2d6d5
commit b7c294a17e
3 changed files with 51 additions and 1 deletions

View File

@@ -15,6 +15,7 @@
package aconfig
import (
"fmt"
"strings"
"testing"
@@ -152,3 +153,39 @@ func TestAndroidMkBinaryThatLinksAgainstAar(t *testing.T) {
runJavaAndroidMkTest(t, bp)
}
func testCodegenMode(t *testing.T, bpMode string, ruleMode string) {
result := android.GroupFixturePreparers(
PrepareForTestWithAconfigBuildComponents,
java.PrepareForTestWithJavaDefaultModules).
ExtendWithErrorHandler(android.FixtureExpectsNoErrors).
RunTestWithBp(t, fmt.Sprintf(`
aconfig_declarations {
name: "my_aconfig_declarations",
package: "com.example.package",
srcs: ["foo.aconfig"],
}
java_aconfig_library {
name: "my_java_aconfig_library",
aconfig_declarations: "my_aconfig_declarations",
%s
}
`, bpMode))
module := result.ModuleForTests("my_java_aconfig_library", "android_common")
rule := module.Rule("java_aconfig_library")
android.AssertStringEquals(t, "rule must contain test mode", rule.Args["mode"], ruleMode)
}
func TestDefaultProdMode(t *testing.T) {
testCodegenMode(t, "", "production")
}
func TestProdMode(t *testing.T) {
testCodegenMode(t, "test: false,", "production")
}
func TestTestMode(t *testing.T) {
testCodegenMode(t, "test: true,", "test")
}