Add test mode support for rust_aconfig_library

Test: atest aconfig.test_mode.test.rust
Change-Id: I3ef774bdc0f8b842106367c91221a2c227585c75
This commit is contained in:
Vinh Tran 2023-08-11 17:29:33 -04:00
parent 88df1d3e0b
commit 0ea4ffac9a

View file

@ -6,6 +6,7 @@ import (
"fmt" "fmt"
"github.com/google/blueprint" "github.com/google/blueprint"
"github.com/google/blueprint/proptools"
) )
type rustDeclarationsTagType struct { type rustDeclarationsTagType struct {
@ -17,6 +18,7 @@ var rustDeclarationsTag = rustDeclarationsTagType{}
type RustAconfigLibraryProperties struct { type RustAconfigLibraryProperties struct {
// name of the aconfig_declarations module to generate a library for // name of the aconfig_declarations module to generate a library for
Aconfig_declarations string Aconfig_declarations string
Test *bool
} }
type aconfigDecorator struct { type aconfigDecorator struct {
@ -58,6 +60,11 @@ func (a *aconfigDecorator) GenerateSource(ctx rust.ModuleContext, deps rust.Path
} }
declarations := ctx.OtherModuleProvider(declarationsModules[0], declarationsProviderKey).(declarationsProviderData) declarations := ctx.OtherModuleProvider(declarationsModules[0], declarationsProviderKey).(declarationsProviderData)
mode := "production"
if proptools.Bool(a.Properties.Test) {
mode = "test"
}
ctx.Build(pctx, android.BuildParams{ ctx.Build(pctx, android.BuildParams{
Rule: rustRule, Rule: rustRule,
Input: declarations.IntermediatePath, Input: declarations.IntermediatePath,
@ -67,8 +74,7 @@ func (a *aconfigDecorator) GenerateSource(ctx rust.ModuleContext, deps rust.Path
Description: "rust_aconfig_library", Description: "rust_aconfig_library",
Args: map[string]string{ Args: map[string]string{
"gendir": generatedDir.String(), "gendir": generatedDir.String(),
// TODO: Add test mode "mode": mode,
"mode": "production",
}, },
}) })
a.BaseSourceProvider.OutputFiles = android.Paths{generatedSource} a.BaseSourceProvider.OutputFiles = android.Paths{generatedSource}