Pass Config to NewTestContext instead of ctx.Register

Prepare for using Config when adding singletons by passing
Config to NewTestContext and NewContext instead of to ctx.Register.
This will enable a followup change to store SingletonMakeVarsProviders
registered on the Context in the Config, which is necessary to run
multiple tests in parallel without data races.

Test: all soong tests
Change-Id: Id229629a4e42ff4487d317241673837726c075fc
This commit is contained in:
Colin Cross 2020-10-29 17:09:13 -07:00
parent 45e0c95f85
commit ae8600b507
45 changed files with 209 additions and 208 deletions

View File

@ -80,10 +80,10 @@ func TestAndroidMkSingleton_PassesUpdatedAndroidMkDataToCustomCallback(t *testin
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
config.inMake = true // Enable androidmk Singleton config.inMake = true // Enable androidmk Singleton
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterSingletonType("androidmk", AndroidMkSingleton) ctx.RegisterSingletonType("androidmk", AndroidMkSingleton)
ctx.RegisterModuleType("custom", customModuleFactory) ctx.RegisterModuleType("custom", customModuleFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
@ -252,10 +252,10 @@ func TestGetDistForGoals(t *testing.T) {
config := TestConfig(buildDir, nil, testCase.bp, nil) config := TestConfig(buildDir, nil, testCase.bp, nil)
config.inMake = true // Enable androidmk Singleton config.inMake = true // Enable androidmk Singleton
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterSingletonType("androidmk", AndroidMkSingleton) ctx.RegisterSingletonType("androidmk", AndroidMkSingleton)
ctx.RegisterModuleType("custom", customModuleFactory) ctx.RegisterModuleType("custom", customModuleFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -353,9 +353,9 @@ func TestArchMutator(t *testing.T) {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
config := TestArchConfig(buildDir, nil, bp, nil) config := TestArchConfig(buildDir, nil, bp, nil)
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
ctx.RegisterModuleType("module", archTestModuleFactory) ctx.RegisterModuleType("module", archTestModuleFactory)
ctx.Register(config) ctx.Register()
if tt.config != nil { if tt.config != nil {
tt.config(config) tt.config(config)
} }
@ -442,9 +442,9 @@ func TestArchMutatorNativeBridge(t *testing.T) {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
config := TestArchConfigNativeBridge(buildDir, nil, bp, nil) config := TestArchConfigNativeBridge(buildDir, nil, bp, nil)
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
ctx.RegisterModuleType("module", archTestModuleFactory) ctx.RegisterModuleType("module", archTestModuleFactory)
ctx.Register(config) ctx.Register()
if tt.config != nil { if tt.config != nil {
tt.config(config) tt.config(config)
} }

View File

@ -21,9 +21,9 @@ import (
func testCSuiteConfig(test *testing.T, bpFileContents string) *TestContext { func testCSuiteConfig(test *testing.T, bpFileContents string) *TestContext {
config := TestArchConfig(buildDir, nil, bpFileContents, nil) config := TestArchConfig(buildDir, nil, bpFileContents, nil)
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
ctx.RegisterModuleType("csuite_config", CSuiteConfigFactory) ctx.RegisterModuleType("csuite_config", CSuiteConfigFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(test, errs) FailIfErrored(test, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)

View File

@ -80,14 +80,14 @@ func TestDefaults(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterModuleType("test", defaultsTestModuleFactory) ctx.RegisterModuleType("test", defaultsTestModuleFactory)
ctx.RegisterModuleType("defaults", defaultsTestDefaultsFactory) ctx.RegisterModuleType("defaults", defaultsTestDefaultsFactory)
ctx.PreArchMutators(RegisterDefaultsPreArchMutators) ctx.PreArchMutators(RegisterDefaultsPreArchMutators)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
@ -125,7 +125,7 @@ func TestDefaultsAllowMissingDependencies(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true) config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true)
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.SetAllowMissingDependencies(true) ctx.SetAllowMissingDependencies(true)
ctx.RegisterModuleType("test", defaultsTestModuleFactory) ctx.RegisterModuleType("test", defaultsTestModuleFactory)
@ -133,7 +133,7 @@ func TestDefaultsAllowMissingDependencies(t *testing.T) {
ctx.PreArchMutators(RegisterDefaultsPreArchMutators) ctx.PreArchMutators(RegisterDefaultsPreArchMutators)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -164,9 +164,6 @@ func depsModuleFactory() Module {
} }
func TestErrorDependsOnDisabledModule(t *testing.T) { func TestErrorDependsOnDisabledModule(t *testing.T) {
ctx := NewTestContext()
ctx.RegisterModuleType("deps", depsModuleFactory)
bp := ` bp := `
deps { deps {
name: "foo", name: "foo",
@ -180,7 +177,9 @@ func TestErrorDependsOnDisabledModule(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
ctx.Register(config) ctx := NewTestContext(config)
ctx.RegisterModuleType("deps", depsModuleFactory)
ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -70,7 +70,7 @@ func TestMutatorAddMissingDependencies(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true) config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true)
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.SetAllowMissingDependencies(true) ctx.SetAllowMissingDependencies(true)
ctx.RegisterModuleType("test", mutatorTestModuleFactory) ctx.RegisterModuleType("test", mutatorTestModuleFactory)
@ -78,7 +78,7 @@ func TestMutatorAddMissingDependencies(t *testing.T) {
ctx.TopDown("add_missing_dependencies", addMissingDependenciesMutator) ctx.TopDown("add_missing_dependencies", addMissingDependenciesMutator)
}) })
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)
@ -92,7 +92,15 @@ func TestMutatorAddMissingDependencies(t *testing.T) {
} }
func TestModuleString(t *testing.T) { func TestModuleString(t *testing.T) {
ctx := NewTestContext() bp := `
test {
name: "foo",
}
`
config := TestConfig(buildDir, nil, bp, nil)
ctx := NewTestContext(config)
var moduleStrings []string var moduleStrings []string
@ -130,15 +138,7 @@ func TestModuleString(t *testing.T) {
ctx.RegisterModuleType("test", mutatorTestModuleFactory) ctx.RegisterModuleType("test", mutatorTestModuleFactory)
bp := ` ctx.Register()
test {
name: "foo",
}
`
config := TestConfig(buildDir, nil, bp, nil)
ctx.Register(config)
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
@ -190,7 +190,21 @@ func TestModuleString(t *testing.T) {
} }
func TestFinalDepsPhase(t *testing.T) { func TestFinalDepsPhase(t *testing.T) {
ctx := NewTestContext() bp := `
test {
name: "common_dep_1",
}
test {
name: "common_dep_2",
}
test {
name: "foo",
}
`
config := TestConfig(buildDir, nil, bp, nil)
ctx := NewTestContext(config)
finalGot := map[string]int{} finalGot := map[string]int{}
@ -228,20 +242,7 @@ func TestFinalDepsPhase(t *testing.T) {
ctx.RegisterModuleType("test", mutatorTestModuleFactory) ctx.RegisterModuleType("test", mutatorTestModuleFactory)
bp := ` ctx.Register()
test {
name: "common_dep_1",
}
test {
name: "common_dep_2",
}
test {
name: "foo",
}
`
config := TestConfig(buildDir, nil, bp, nil)
ctx.Register(config)
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
@ -267,7 +268,8 @@ func TestFinalDepsPhase(t *testing.T) {
} }
func TestNoCreateVariationsInFinalDeps(t *testing.T) { func TestNoCreateVariationsInFinalDeps(t *testing.T) {
ctx := NewTestContext() config := TestConfig(buildDir, nil, `test {name: "foo"}`, nil)
ctx := NewTestContext(config)
checkErr := func() { checkErr := func() {
if err := recover(); err == nil || !strings.Contains(fmt.Sprintf("%s", err), "not allowed in FinalDepsMutators") { if err := recover(); err == nil || !strings.Contains(fmt.Sprintf("%s", err), "not allowed in FinalDepsMutators") {
@ -287,8 +289,7 @@ func TestNoCreateVariationsInFinalDeps(t *testing.T) {
}) })
ctx.RegisterModuleType("test", mutatorTestModuleFactory) ctx.RegisterModuleType("test", mutatorTestModuleFactory)
config := TestConfig(buildDir, nil, `test {name: "foo"}`, nil) ctx.Register()
ctx.Register(config)
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -635,7 +635,7 @@ func mockFiles(bps map[string]string) (files map[string][]byte) {
func setupTestFromFiles(bps map[string][]byte) (ctx *TestContext, errs []error) { func setupTestFromFiles(bps map[string][]byte) (ctx *TestContext, errs []error) {
config := TestConfig(buildDir, nil, "", bps) config := TestConfig(buildDir, nil, "", bps)
ctx = NewTestContext() ctx = NewTestContext(config)
ctx.RegisterModuleType("test_module", newTestModule) ctx.RegisterModuleType("test_module", newTestModule)
ctx.RegisterModuleType("soong_namespace", NamespaceFactory) ctx.RegisterModuleType("soong_namespace", NamespaceFactory)
ctx.Context.RegisterModuleType("blueprint_test_module", newBlueprintTestModule) ctx.Context.RegisterModuleType("blueprint_test_module", newBlueprintTestModule)
@ -643,7 +643,7 @@ func setupTestFromFiles(bps map[string][]byte) (ctx *TestContext, errs []error)
ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) { ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) {
ctx.BottomUp("rename", renameMutator) ctx.BottomUp("rename", renameMutator)
}) })
ctx.Register(config) ctx.Register()
_, errs = ctx.ParseBlueprintsFiles("Android.bp") _, errs = ctx.ParseBlueprintsFiles("Android.bp")
if len(errs) > 0 { if len(errs) > 0 {

View File

@ -359,14 +359,14 @@ func TestNeverallow(t *testing.T) {
} }
func testNeverallow(config Config) (*TestContext, []error) { func testNeverallow(config Config) (*TestContext, []error) {
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterModuleType("cc_library", newMockCcLibraryModule) ctx.RegisterModuleType("cc_library", newMockCcLibraryModule)
ctx.RegisterModuleType("java_library", newMockJavaLibraryModule) ctx.RegisterModuleType("java_library", newMockJavaLibraryModule)
ctx.RegisterModuleType("java_library_host", newMockJavaLibraryModule) ctx.RegisterModuleType("java_library_host", newMockJavaLibraryModule)
ctx.RegisterModuleType("java_device_for_host", newMockJavaLibraryModule) ctx.RegisterModuleType("java_device_for_host", newMockJavaLibraryModule)
ctx.RegisterModuleType("makefile_goal", newMockMakefileGoalModule) ctx.RegisterModuleType("makefile_goal", newMockMakefileGoalModule)
ctx.PostDepsMutators(RegisterNeverallowMutator) ctx.PostDepsMutators(RegisterNeverallowMutator)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles("Android.bp") _, errs := ctx.ParseBlueprintsFiles("Android.bp")
if len(errs) > 0 { if len(errs) > 0 {

View File

@ -86,9 +86,9 @@ func testPackage(fs map[string][]byte) (*TestContext, []error) {
// Create a new config per test as visibility information is stored in the config. // Create a new config per test as visibility information is stored in the config.
config := TestArchConfig(buildDir, nil, "", fs) config := TestArchConfig(buildDir, nil, "", fs)
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
RegisterPackageBuildComponents(ctx) RegisterPackageBuildComponents(ctx)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles(".") _, errs := ctx.ParseBlueprintsFiles(".")
if len(errs) > 0 { if len(errs) > 0 {

View File

@ -116,12 +116,12 @@ func TestPathDepsMutator(t *testing.T) {
` `
config := TestArchConfig(buildDir, nil, bp, nil) config := TestArchConfig(buildDir, nil, bp, nil)
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
ctx.RegisterModuleType("test", pathDepsMutatorTestModuleFactory) ctx.RegisterModuleType("test", pathDepsMutatorTestModuleFactory)
ctx.RegisterModuleType("filegroup", FileGroupFactory) ctx.RegisterModuleType("filegroup", FileGroupFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)

View File

@ -980,12 +980,6 @@ type pathForModuleSrcTestCase struct {
func testPathForModuleSrc(t *testing.T, buildDir string, tests []pathForModuleSrcTestCase) { func testPathForModuleSrc(t *testing.T, buildDir string, tests []pathForModuleSrcTestCase) {
for _, test := range tests { for _, test := range tests {
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
ctx := NewTestContext()
ctx.RegisterModuleType("test", pathForModuleSrcTestModuleFactory)
ctx.RegisterModuleType("output_file_provider", pathForModuleSrcOutputFileProviderModuleFactory)
ctx.RegisterModuleType("filegroup", FileGroupFactory)
fgBp := ` fgBp := `
filegroup { filegroup {
name: "a", name: "a",
@ -1015,7 +1009,13 @@ func testPathForModuleSrc(t *testing.T, buildDir string, tests []pathForModuleSr
config := TestConfig(buildDir, nil, "", mockFS) config := TestConfig(buildDir, nil, "", mockFS)
ctx.Register(config) ctx := NewTestContext(config)
ctx.RegisterModuleType("test", pathForModuleSrcTestModuleFactory)
ctx.RegisterModuleType("output_file_provider", pathForModuleSrcOutputFileProviderModuleFactory)
ctx.RegisterModuleType("filegroup", FileGroupFactory)
ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"fg/Android.bp", "foo/Android.bp", "ofp/Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"fg/Android.bp", "foo/Android.bp", "ofp/Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)
@ -1224,12 +1224,12 @@ func TestPathsForModuleSrc_AllowMissingDependencies(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true) config.TestProductVariables.Allow_missing_dependencies = proptools.BoolPtr(true)
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.SetAllowMissingDependencies(true) ctx.SetAllowMissingDependencies(true)
ctx.RegisterModuleType("test", pathForModuleSrcTestModuleFactory) ctx.RegisterModuleType("test", pathForModuleSrcTestModuleFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -288,10 +288,10 @@ func TestPrebuilts(t *testing.T) {
{Windows, Arch{ArchType: X86_64}, NativeBridgeDisabled, "", "", true}, {Windows, Arch{ArchType: X86_64}, NativeBridgeDisabled, "", "", true},
} }
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
registerTestPrebuiltBuildComponents(ctx) registerTestPrebuiltBuildComponents(ctx)
ctx.RegisterModuleType("filegroup", FileGroupFactory) ctx.RegisterModuleType("filegroup", FileGroupFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles("Android.bp") _, errs := ctx.ParseBlueprintsFiles("Android.bp")
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -81,10 +81,11 @@ func RegisterPreSingletonType(name string, factory SingletonFactory) {
type Context struct { type Context struct {
*blueprint.Context *blueprint.Context
config Config
} }
func NewContext() *Context { func NewContext(config Config) *Context {
ctx := &Context{blueprint.NewContext()} ctx := &Context{blueprint.NewContext(), config}
ctx.SetSrcDir(absSrcDir) ctx.SetSrcDir(absSrcDir)
return ctx return ctx
} }
@ -157,7 +158,7 @@ type RegistrationContext interface {
// Extracting the actual registration into a separate RegisterBuildComponents(ctx) function // Extracting the actual registration into a separate RegisterBuildComponents(ctx) function
// allows it to be used to initialize test context, e.g. // allows it to be used to initialize test context, e.g.
// //
// ctx := android.NewTestContext() // ctx := android.NewTestContext(config)
// RegisterBuildComponents(ctx) // RegisterBuildComponents(ctx)
var InitRegistrationContext RegistrationContext = &initRegistrationContext{ var InitRegistrationContext RegistrationContext = &initRegistrationContext{
moduleTypes: make(map[string]ModuleFactory), moduleTypes: make(map[string]ModuleFactory),

View File

@ -507,10 +507,10 @@ func TestRuleBuilder_Build(t *testing.T) {
` `
config := TestConfig(buildDir, nil, bp, fs) config := TestConfig(buildDir, nil, bp, fs)
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterModuleType("rule_builder_test", testRuleBuilderFactory) ctx.RegisterModuleType("rule_builder_test", testRuleBuilderFactory)
ctx.RegisterSingletonType("rule_builder_test", testRuleBuilderSingletonFactory) ctx.RegisterSingletonType("rule_builder_test", testRuleBuilderSingletonFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -175,7 +175,7 @@ func TestSoongConfigModule(t *testing.T) {
}, },
} }
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterModuleType("soong_config_module_type_import", soongConfigModuleTypeImportFactory) ctx.RegisterModuleType("soong_config_module_type_import", soongConfigModuleTypeImportFactory)
ctx.RegisterModuleType("soong_config_module_type", soongConfigModuleTypeFactory) ctx.RegisterModuleType("soong_config_module_type", soongConfigModuleTypeFactory)
ctx.RegisterModuleType("soong_config_string_variable", soongConfigStringVariableDummyFactory) ctx.RegisterModuleType("soong_config_string_variable", soongConfigStringVariableDummyFactory)
@ -183,7 +183,7 @@ func TestSoongConfigModule(t *testing.T) {
ctx.RegisterModuleType("test_defaults", soongConfigTestDefaultsModuleFactory) ctx.RegisterModuleType("test_defaults", soongConfigTestDefaultsModuleFactory)
ctx.RegisterModuleType("test", soongConfigTestModuleFactory) ctx.RegisterModuleType("test", soongConfigTestModuleFactory)
ctx.PreArchMutators(RegisterDefaultsPreArchMutators) ctx.PreArchMutators(RegisterDefaultsPreArchMutators)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles("Android.bp") _, errs := ctx.ParseBlueprintsFiles("Android.bp")
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -25,14 +25,14 @@ import (
"github.com/google/blueprint" "github.com/google/blueprint"
) )
func NewTestContext() *TestContext { func NewTestContext(config Config) *TestContext {
namespaceExportFilter := func(namespace *Namespace) bool { namespaceExportFilter := func(namespace *Namespace) bool {
return true return true
} }
nameResolver := NewNameResolver(namespaceExportFilter) nameResolver := NewNameResolver(namespaceExportFilter)
ctx := &TestContext{ ctx := &TestContext{
Context: &Context{blueprint.NewContext()}, Context: &Context{blueprint.NewContext(), config},
NameResolver: nameResolver, NameResolver: nameResolver,
} }
@ -40,11 +40,16 @@ func NewTestContext() *TestContext {
ctx.postDeps = append(ctx.postDeps, registerPathDepsMutator) ctx.postDeps = append(ctx.postDeps, registerPathDepsMutator)
ctx.SetFs(ctx.config.fs)
if ctx.config.mockBpList != "" {
ctx.SetModuleListFile(ctx.config.mockBpList)
}
return ctx return ctx
} }
func NewTestArchContext() *TestContext { func NewTestArchContext(config Config) *TestContext {
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.preDeps = append(ctx.preDeps, registerArchMutator) ctx.preDeps = append(ctx.preDeps, registerArchMutator)
return ctx return ctx
} }
@ -53,7 +58,6 @@ type TestContext struct {
*Context *Context
preArch, preDeps, postDeps, finalDeps []RegisterMutatorFunc preArch, preDeps, postDeps, finalDeps []RegisterMutatorFunc
NameResolver *NameResolver NameResolver *NameResolver
config Config
} }
func (ctx *TestContext) PreArchMutators(f RegisterMutatorFunc) { func (ctx *TestContext) PreArchMutators(f RegisterMutatorFunc) {
@ -77,16 +81,10 @@ func (ctx *TestContext) FinalDepsMutators(f RegisterMutatorFunc) {
ctx.finalDeps = append(ctx.finalDeps, f) ctx.finalDeps = append(ctx.finalDeps, f)
} }
func (ctx *TestContext) Register(config Config) { func (ctx *TestContext) Register() {
ctx.SetFs(config.fs)
if config.mockBpList != "" {
ctx.SetModuleListFile(config.mockBpList)
}
registerMutators(ctx.Context.Context, ctx.preArch, ctx.preDeps, ctx.postDeps, ctx.finalDeps) registerMutators(ctx.Context.Context, ctx.preArch, ctx.preDeps, ctx.postDeps, ctx.finalDeps)
ctx.RegisterSingletonType("env", EnvSingleton) ctx.RegisterSingletonType("env", EnvSingleton)
ctx.config = config
} }
func (ctx *TestContext) ParseFileList(rootDir string, filePaths []string) (deps []string, errs []error) { func (ctx *TestContext) ParseFileList(rootDir string, filePaths []string) (deps []string, errs []error) {

View File

@ -157,23 +157,6 @@ func testProductVariableModuleFactoryFactory(props interface{}) func() Module {
} }
func TestProductVariables(t *testing.T) { func TestProductVariables(t *testing.T) {
ctx := NewTestContext()
// A module type that has a srcs property but not a cflags property.
ctx.RegisterModuleType("module1", testProductVariableModuleFactoryFactory(&struct {
Srcs []string
}{}))
// A module type that has a cflags property but not a srcs property.
ctx.RegisterModuleType("module2", testProductVariableModuleFactoryFactory(&struct {
Cflags []string
}{}))
// A module type that does not have any properties that match product_variables.
ctx.RegisterModuleType("module3", testProductVariableModuleFactoryFactory(&struct {
Foo []string
}{}))
ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) {
ctx.BottomUp("variable", VariableMutator).Parallel()
})
// Test that a module can use one product variable even if it doesn't have all the properties // Test that a module can use one product variable even if it doesn't have all the properties
// supported by that product variable. // supported by that product variable.
bp := ` bp := `
@ -201,7 +184,24 @@ func TestProductVariables(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
config.TestProductVariables.Eng = proptools.BoolPtr(true) config.TestProductVariables.Eng = proptools.BoolPtr(true)
ctx.Register(config) ctx := NewTestContext(config)
// A module type that has a srcs property but not a cflags property.
ctx.RegisterModuleType("module1", testProductVariableModuleFactoryFactory(&struct {
Srcs []string
}{}))
// A module type that has a cflags property but not a srcs property.
ctx.RegisterModuleType("module2", testProductVariableModuleFactoryFactory(&struct {
Cflags []string
}{}))
// A module type that does not have any properties that match product_variables.
ctx.RegisterModuleType("module3", testProductVariableModuleFactoryFactory(&struct {
Foo []string
}{}))
ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) {
ctx.BottomUp("variable", VariableMutator).Parallel()
})
ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)
@ -293,7 +293,7 @@ func TestProductVariablesDefaults(t *testing.T) {
config := TestConfig(buildDir, nil, bp, nil) config := TestConfig(buildDir, nil, bp, nil)
config.TestProductVariables.Eng = boolPtr(true) config.TestProductVariables.Eng = boolPtr(true)
ctx := NewTestContext() ctx := NewTestContext(config)
ctx.RegisterModuleType("test", productVariablesDefaultsTestModuleFactory) ctx.RegisterModuleType("test", productVariablesDefaultsTestModuleFactory)
ctx.RegisterModuleType("defaults", productVariablesDefaultsTestDefaultsFactory) ctx.RegisterModuleType("defaults", productVariablesDefaultsTestDefaultsFactory)
@ -303,7 +303,7 @@ func TestProductVariablesDefaults(t *testing.T) {
ctx.BottomUp("variable", VariableMutator).Parallel() ctx.BottomUp("variable", VariableMutator).Parallel()
}) })
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
FailIfErrored(t, errs) FailIfErrored(t, errs)

View File

@ -1168,7 +1168,7 @@ func testVisibility(buildDir string, fs map[string][]byte) (*TestContext, []erro
// Create a new config per test as visibility information is stored in the config. // Create a new config per test as visibility information is stored in the config.
config := TestArchConfig(buildDir, nil, "", fs) config := TestArchConfig(buildDir, nil, "", fs)
ctx := NewTestArchContext() ctx := NewTestArchContext(config)
ctx.RegisterModuleType("mock_library", newMockLibraryModule) ctx.RegisterModuleType("mock_library", newMockLibraryModule)
ctx.RegisterModuleType("mock_parent", newMockParentFactory) ctx.RegisterModuleType("mock_parent", newMockParentFactory)
ctx.RegisterModuleType("mock_defaults", defaultsFactory) ctx.RegisterModuleType("mock_defaults", defaultsFactory)
@ -1180,7 +1180,7 @@ func testVisibility(buildDir string, fs map[string][]byte) (*TestContext, []erro
ctx.PreArchMutators(RegisterDefaultsPreArchMutators) ctx.PreArchMutators(RegisterDefaultsPreArchMutators)
ctx.PreArchMutators(RegisterVisibilityRuleGatherer) ctx.PreArchMutators(RegisterVisibilityRuleGatherer)
ctx.PostDepsMutators(RegisterVisibilityRuleEnforcer) ctx.PostDepsMutators(RegisterVisibilityRuleEnforcer)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles(".") _, errs := ctx.ParseBlueprintsFiles(".")
if len(errs) > 0 { if len(errs) > 0 {

View File

@ -216,7 +216,7 @@ func testApexContext(_ *testing.T, bp string, handlers ...testCustomizer) (*andr
handler(tempFS, config) handler(tempFS, config)
} }
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
// from android package // from android package
android.RegisterPackageBuildComponents(ctx) android.RegisterPackageBuildComponents(ctx)
@ -261,7 +261,7 @@ func testApexContext(_ *testing.T, bp string, handlers ...testCustomizer) (*andr
ctx.PreDepsMutators(RegisterPreDepsMutators) ctx.PreDepsMutators(RegisterPreDepsMutators)
ctx.PostDepsMutators(RegisterPostDepsMutators) ctx.PostDepsMutators(RegisterPostDepsMutators)
ctx.Register(config) ctx.Register()
return ctx, config return ctx, config
} }
@ -5746,7 +5746,9 @@ func testNoUpdatableJarsInBootImage(t *testing.T, errmsg string, transformDexpre
} }
cc.GatherRequiredFilesForTest(fs) cc.GatherRequiredFilesForTest(fs)
ctx := android.NewTestArchContext() config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("apex", BundleFactory) ctx.RegisterModuleType("apex", BundleFactory)
ctx.RegisterModuleType("apex_key", ApexKeyFactory) ctx.RegisterModuleType("apex_key", ApexKeyFactory)
ctx.RegisterModuleType("filegroup", android.FileGroupFactory) ctx.RegisterModuleType("filegroup", android.FileGroupFactory)
@ -5761,8 +5763,7 @@ func testNoUpdatableJarsInBootImage(t *testing.T, errmsg string, transformDexpre
ctx.PreDepsMutators(RegisterPreDepsMutators) ctx.PreDepsMutators(RegisterPreDepsMutators)
ctx.PostDepsMutators(RegisterPostDepsMutators) ctx.PostDepsMutators(RegisterPostDepsMutators)
config := android.TestArchConfig(buildDir, nil, bp, fs) ctx.Register()
ctx.Register(config)
_ = dexpreopt.GlobalSoongConfigForTests(config) _ = dexpreopt.GlobalSoongConfigForTests(config)
dexpreopt.RegisterToolModulesForTest(ctx) dexpreopt.RegisterToolModulesForTest(ctx)
@ -5897,7 +5898,15 @@ func testApexPermittedPackagesRules(t *testing.T, errmsg, bp string, apexBootJar
"system/sepolicy/apex/myapex-file_contexts": nil, "system/sepolicy/apex/myapex-file_contexts": nil,
} }
ctx := android.NewTestArchContext() config := android.TestArchConfig(buildDir, nil, bp, fs)
android.SetTestNeverallowRules(config, rules)
updatableBootJars := make([]string, 0, len(apexBootJars))
for _, apexBootJar := range apexBootJars {
updatableBootJars = append(updatableBootJars, "myapex:"+apexBootJar)
}
config.TestProductVariables.UpdatableBootJars = android.CreateTestConfiguredJarList(updatableBootJars)
ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("apex", BundleFactory) ctx.RegisterModuleType("apex", BundleFactory)
ctx.RegisterModuleType("apex_key", ApexKeyFactory) ctx.RegisterModuleType("apex_key", ApexKeyFactory)
ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators)
@ -5910,15 +5919,7 @@ func testApexPermittedPackagesRules(t *testing.T, errmsg, bp string, apexBootJar
ctx.PostDepsMutators(RegisterPostDepsMutators) ctx.PostDepsMutators(RegisterPostDepsMutators)
ctx.PostDepsMutators(android.RegisterNeverallowMutator) ctx.PostDepsMutators(android.RegisterNeverallowMutator)
config := android.TestArchConfig(buildDir, nil, bp, fs) ctx.Register()
android.SetTestNeverallowRules(config, rules)
updatableBootJars := make([]string, 0, len(apexBootJars))
for _, apexBootJar := range apexBootJars {
updatableBootJars = append(updatableBootJars, "myapex:"+apexBootJar)
}
config.TestProductVariables.UpdatableBootJars = android.CreateTestConfiguredJarList(updatableBootJars)
ctx.Register(config)
_, errs := ctx.ParseBlueprintsFiles("Android.bp") _, errs := ctx.ParseBlueprintsFiles("Android.bp")
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)

View File

@ -58,9 +58,9 @@ func testConfig(buildDir string, env map[string]string, bp string) android.Confi
} }
func testContext(config android.Config) *android.TestContext { func testContext(config android.Config) *android.TestContext {
ctx := cc.CreateTestContext() ctx := cc.CreateTestContext(config)
ctx.RegisterModuleType("bpf", BpfFactory) ctx.RegisterModuleType("bpf", BpfFactory)
ctx.Register(config) ctx.Register()
return ctx return ctx
} }

View File

@ -53,8 +53,8 @@ func TestMain(m *testing.M) {
func testCcWithConfig(t *testing.T, config android.Config) *android.TestContext { func testCcWithConfig(t *testing.T, config android.Config) *android.TestContext {
t.Helper() t.Helper()
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
@ -84,8 +84,8 @@ func testCcNoVndk(t *testing.T, bp string) *android.TestContext {
func testCcErrorWithConfig(t *testing.T, pattern string, config android.Config) { func testCcErrorWithConfig(t *testing.T, pattern string, config android.Config) {
t.Helper() t.Helper()
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
if len(errs) > 0 { if len(errs) > 0 {
@ -1293,8 +1293,8 @@ func TestVendorSnapshotUse(t *testing.T) {
config := TestConfig(buildDir, android.Android, nil, "", mockFS) config := TestConfig(buildDir, android.Android, nil, "", mockFS)
config.TestProductVariables.DeviceVndkVersion = StringPtr("BOARD") config.TestProductVariables.DeviceVndkVersion = StringPtr("BOARD")
config.TestProductVariables.Platform_vndk_version = StringPtr("VER") config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "framework/Android.bp", "vendor/Android.bp", "vndk/Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "framework/Android.bp", "vendor/Android.bp", "vndk/Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
@ -1451,8 +1451,8 @@ func TestVendorSnapshotExclude(t *testing.T) {
config := TestConfig(buildDir, android.Android, nil, "", mockFS) config := TestConfig(buildDir, android.Android, nil, "", mockFS)
config.TestProductVariables.DeviceVndkVersion = StringPtr("current") config.TestProductVariables.DeviceVndkVersion = StringPtr("current")
config.TestProductVariables.Platform_vndk_version = StringPtr("VER") config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "framework/Android.bp", "device/Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "framework/Android.bp", "device/Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
@ -1541,8 +1541,8 @@ func TestVendorSnapshotExcludeInVendorProprietaryPathErrors(t *testing.T) {
config := TestConfig(buildDir, android.Android, nil, "", mockFS) config := TestConfig(buildDir, android.Android, nil, "", mockFS)
config.TestProductVariables.DeviceVndkVersion = StringPtr("current") config.TestProductVariables.DeviceVndkVersion = StringPtr("current")
config.TestProductVariables.Platform_vndk_version = StringPtr("VER") config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "device/Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "device/Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
@ -1582,8 +1582,8 @@ func TestVendorSnapshotExcludeWithVendorAvailable(t *testing.T) {
config := TestConfig(buildDir, android.Android, nil, "", mockFS) config := TestConfig(buildDir, android.Android, nil, "", mockFS)
config.TestProductVariables.DeviceVndkVersion = StringPtr("current") config.TestProductVariables.DeviceVndkVersion = StringPtr("current")
config.TestProductVariables.Platform_vndk_version = StringPtr("VER") config.TestProductVariables.Platform_vndk_version = StringPtr("VER")
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "framework/Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"deps/Android.bp", "framework/Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
@ -3882,11 +3882,11 @@ func TestProductVariableDefaults(t *testing.T) {
config := TestConfig(buildDir, android.Android, nil, bp, nil) config := TestConfig(buildDir, android.Android, nil, bp, nil)
config.TestProductVariables.Debuggable = BoolPtr(true) config.TestProductVariables.Debuggable = BoolPtr(true)
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.PreDepsMutators(func(ctx android.RegisterMutatorsContext) { ctx.PreDepsMutators(func(ctx android.RegisterMutatorsContext) {
ctx.BottomUp("variable", android.VariableMutator).Parallel() ctx.BottomUp("variable", android.VariableMutator).Parallel()
}) })
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
@ -3917,9 +3917,9 @@ func TestEmptyWholeStaticLibsAllowMissingDependencies(t *testing.T) {
config := TestConfig(buildDir, android.Android, nil, bp, nil) config := TestConfig(buildDir, android.Android, nil, bp, nil)
config.TestProductVariables.Allow_missing_dependencies = BoolPtr(true) config.TestProductVariables.Allow_missing_dependencies = BoolPtr(true)
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.SetAllowMissingDependencies(true) ctx.SetAllowMissingDependencies(true)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)

View File

@ -22,9 +22,9 @@ import (
) )
func testGenruleContext(config android.Config) *android.TestContext { func testGenruleContext(config android.Config) *android.TestContext {
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("cc_genrule", genRuleFactory) ctx.RegisterModuleType("cc_genrule", genRuleFactory)
ctx.Register(config) ctx.Register()
return ctx return ctx
} }

View File

@ -25,7 +25,7 @@ import (
func testPrebuilt(t *testing.T, bp string, fs map[string][]byte, handlers ...configCustomizer) *android.TestContext { func testPrebuilt(t *testing.T, bp string, fs map[string][]byte, handlers ...configCustomizer) *android.TestContext {
config := TestConfig(buildDir, android.Android, nil, bp, fs) config := TestConfig(buildDir, android.Android, nil, bp, fs)
ctx := CreateTestContext() ctx := CreateTestContext(config)
// Enable androidmk support. // Enable androidmk support.
// * Register the singleton // * Register the singleton
@ -38,7 +38,7 @@ func testPrebuilt(t *testing.T, bp string, fs map[string][]byte, handlers ...con
handler(config) handler(config)
} }
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)

View File

@ -122,10 +122,10 @@ func TestDataTests(t *testing.T) {
"dir/baz": nil, "dir/baz": nil,
"dir/bar/baz": nil, "dir/bar/baz": nil,
}) })
ctx := android.NewTestContext() ctx := android.NewTestContext(config)
ctx.RegisterModuleType("filegroup", android.FileGroupFactory) ctx.RegisterModuleType("filegroup", android.FileGroupFactory)
ctx.RegisterModuleType("test", newTest) ctx.RegisterModuleType("test", newTest)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles("Blueprints") _, errs := ctx.ParseBlueprintsFiles("Blueprints")
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)

View File

@ -545,8 +545,8 @@ func TestConfig(buildDir string, os android.OsType, env map[string]string,
return config return config
} }
func CreateTestContext() *android.TestContext { func CreateTestContext(config android.Config) *android.TestContext {
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("cc_fuzz", FuzzFactory) ctx.RegisterModuleType("cc_fuzz", FuzzFactory)
ctx.RegisterModuleType("cc_test", TestFactory) ctx.RegisterModuleType("cc_test", TestFactory)
ctx.RegisterModuleType("cc_test_library", TestLibraryFactory) ctx.RegisterModuleType("cc_test_library", TestLibraryFactory)

View File

@ -52,7 +52,7 @@ func newNameResolver(config android.Config) *android.NameResolver {
} }
func newContext(srcDir string, configuration android.Config) *android.Context { func newContext(srcDir string, configuration android.Config) *android.Context {
ctx := android.NewContext() ctx := android.NewContext(configuration)
ctx.Register() ctx.Register()
if !shouldPrepareBuildActions() { if !shouldPrepareBuildActions() {
configuration.SetStopBefore(bootstrap.StopBeforePrepareBuildActions) configuration.SetStopBefore(bootstrap.StopBeforePrepareBuildActions)

View File

@ -234,9 +234,9 @@ func TestGenerateBazelQueryViewFromBlueprint(t *testing.T) {
for _, testCase := range testCases { for _, testCase := range testCases {
config := android.TestConfig(buildDir, nil, testCase.bp, nil) config := android.TestConfig(buildDir, nil, testCase.bp, nil)
ctx := android.NewTestContext() ctx := android.NewTestContext(config)
ctx.RegisterModuleType("custom", customModuleFactory) ctx.RegisterModuleType("custom", customModuleFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)

View File

@ -58,7 +58,7 @@ func testPrebuiltEtcContext(t *testing.T, bp string) (*android.TestContext, andr
config := android.TestArchConfig(buildDir, nil, bp, fs) config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("prebuilt_etc", PrebuiltEtcFactory) ctx.RegisterModuleType("prebuilt_etc", PrebuiltEtcFactory)
ctx.RegisterModuleType("prebuilt_etc_host", PrebuiltEtcHostFactory) ctx.RegisterModuleType("prebuilt_etc_host", PrebuiltEtcHostFactory)
ctx.RegisterModuleType("prebuilt_usr_share", PrebuiltUserShareFactory) ctx.RegisterModuleType("prebuilt_usr_share", PrebuiltUserShareFactory)
@ -66,7 +66,7 @@ func testPrebuiltEtcContext(t *testing.T, bp string) (*android.TestContext, andr
ctx.RegisterModuleType("prebuilt_font", PrebuiltFontFactory) ctx.RegisterModuleType("prebuilt_font", PrebuiltFontFactory)
ctx.RegisterModuleType("prebuilt_firmware", PrebuiltFirmwareFactory) ctx.RegisterModuleType("prebuilt_firmware", PrebuiltFirmwareFactory)
ctx.RegisterModuleType("prebuilt_dsp", PrebuiltDSPFactory) ctx.RegisterModuleType("prebuilt_dsp", PrebuiltDSPFactory)
ctx.Register(config) ctx.Register()
return ctx, config return ctx, config
} }

View File

@ -53,14 +53,14 @@ func TestMain(m *testing.M) {
func testContext(config android.Config) *android.TestContext { func testContext(config android.Config) *android.TestContext {
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("filegroup", android.FileGroupFactory) ctx.RegisterModuleType("filegroup", android.FileGroupFactory)
ctx.RegisterModuleType("tool", toolFactory) ctx.RegisterModuleType("tool", toolFactory)
registerGenruleBuildComponents(ctx) registerGenruleBuildComponents(ctx)
ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators)
ctx.Register(config) ctx.Register()
return ctx return ctx
} }

View File

@ -23,6 +23,7 @@ import (
func init() { func init() {
android.RegisterPreSingletonType("overlay", OverlaySingletonFactory) android.RegisterPreSingletonType("overlay", OverlaySingletonFactory)
} }
var androidResourceIgnoreFilenames = []string{ var androidResourceIgnoreFilenames = []string{

View File

@ -59,7 +59,7 @@ func testAppConfig(env map[string]string, bp string, fs map[string][]byte) andro
func testApp(t *testing.T, bp string) *android.TestContext { func testApp(t *testing.T, bp string) *android.TestContext {
config := testAppConfig(nil, bp, nil) config := testAppConfig(nil, bp, nil)
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
@ -220,7 +220,7 @@ func TestAndroidAppSet_Variants(t *testing.T) {
config.TestProductVariables.AAPTPrebuiltDPI = test.aaptPrebuiltDPI config.TestProductVariables.AAPTPrebuiltDPI = test.aaptPrebuiltDPI
config.TestProductVariables.Platform_sdk_version = &test.sdkVersion config.TestProductVariables.Platform_sdk_version = &test.sdkVersion
config.Targets[android.Android] = test.targets config.Targets[android.Android] = test.targets
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
module := ctx.ModuleForTests("foo", "android_common") module := ctx.ModuleForTests("foo", "android_common")
const packedSplitApks = "foo.zip" const packedSplitApks = "foo.zip"
@ -657,7 +657,7 @@ func TestResourceDirs(t *testing.T) {
for _, testCase := range testCases { for _, testCase := range testCases {
t.Run(testCase.name, func(t *testing.T) { t.Run(testCase.name, func(t *testing.T) {
config := testConfig(nil, fmt.Sprintf(bp, testCase.prop), fs) config := testConfig(nil, fmt.Sprintf(bp, testCase.prop), fs)
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
module := ctx.ModuleForTests("foo", "android_common") module := ctx.ModuleForTests("foo", "android_common")
@ -973,7 +973,7 @@ func TestAndroidResources(t *testing.T) {
config.TestProductVariables.EnforceRROExcludedOverlays = testCase.enforceRROExcludedOverlays config.TestProductVariables.EnforceRROExcludedOverlays = testCase.enforceRROExcludedOverlays
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
resourceListToFiles := func(module android.TestingModule, list []string) (files []string) { resourceListToFiles := func(module android.TestingModule, list []string) (files []string) {
@ -1039,7 +1039,7 @@ func TestAndroidResources(t *testing.T) {
} }
func checkSdkVersion(t *testing.T, config android.Config, expectedSdkVersion string) { func checkSdkVersion(t *testing.T, config android.Config, expectedSdkVersion string) {
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
@ -1633,7 +1633,7 @@ func TestCertificates(t *testing.T) {
if test.certificateOverride != "" { if test.certificateOverride != "" {
config.TestProductVariables.CertificateOverrides = []string{test.certificateOverride} config.TestProductVariables.CertificateOverrides = []string{test.certificateOverride}
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
foo := ctx.ModuleForTests("foo", "android_common") foo := ctx.ModuleForTests("foo", "android_common")
@ -1698,7 +1698,7 @@ func TestRequestV4SigningFlag(t *testing.T) {
for _, test := range testCases { for _, test := range testCases {
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
config := testAppConfig(nil, test.bp, nil) config := testAppConfig(nil, test.bp, nil)
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
foo := ctx.ModuleForTests("foo", "android_common") foo := ctx.ModuleForTests("foo", "android_common")
@ -1758,7 +1758,7 @@ func TestPackageNameOverride(t *testing.T) {
if test.packageNameOverride != "" { if test.packageNameOverride != "" {
config.TestProductVariables.PackageNameOverrides = []string{test.packageNameOverride} config.TestProductVariables.PackageNameOverrides = []string{test.packageNameOverride}
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
foo := ctx.ModuleForTests("foo", "android_common") foo := ctx.ModuleForTests("foo", "android_common")
@ -1793,7 +1793,7 @@ func TestInstrumentationTargetOverridden(t *testing.T) {
` `
config := testAppConfig(nil, bp, nil) config := testAppConfig(nil, bp, nil)
config.TestProductVariables.ManifestPackageNameOverrides = []string{"foo:org.dandroid.bp"} config.TestProductVariables.ManifestPackageNameOverrides = []string{"foo:org.dandroid.bp"}
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
@ -2416,7 +2416,7 @@ func TestAndroidAppImport_DpiVariants(t *testing.T) {
config := testAppConfig(nil, bp, nil) config := testAppConfig(nil, bp, nil)
config.TestProductVariables.AAPTPreferredConfig = test.aaptPreferredConfig config.TestProductVariables.AAPTPreferredConfig = test.aaptPreferredConfig
config.TestProductVariables.AAPTPrebuiltDPI = test.aaptPrebuiltDPI config.TestProductVariables.AAPTPrebuiltDPI = test.aaptPrebuiltDPI
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
@ -2777,7 +2777,7 @@ func TestUsesLibraries(t *testing.T) {
config := testAppConfig(nil, bp, nil) config := testAppConfig(nil, bp, nil)
config.TestProductVariables.MissingUsesLibraries = []string{"baz"} config.TestProductVariables.MissingUsesLibraries = []string{"baz"}
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
@ -3129,7 +3129,7 @@ func TestUncompressDex(t *testing.T) {
config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true) config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true)
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
@ -3209,7 +3209,7 @@ func TestRuntimeResourceOverlay(t *testing.T) {
} }
` `
config := testAppConfig(nil, bp, fs) config := testAppConfig(nil, bp, fs)
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
m := ctx.ModuleForTests("foo", "android_common") m := ctx.ModuleForTests("foo", "android_common")
@ -3506,7 +3506,7 @@ func TestEnforceRRO_propagatesToDependencies(t *testing.T) {
config.TestProductVariables.EnforceRROExemptedTargets = testCase.enforceRROExemptTargets config.TestProductVariables.EnforceRROExemptedTargets = testCase.enforceRROExemptTargets
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
modules := []string{"foo", "bar"} modules := []string{"foo", "bar"}

View File

@ -51,7 +51,7 @@ func testDexpreoptBoot(t *testing.T, ruleFile string, expectedInputs, expectedOu
dexpreoptConfig.BootJars = android.CreateTestConfiguredJarList([]string{"platform:foo", "platform:bar", "platform:baz"}) dexpreoptConfig.BootJars = android.CreateTestConfiguredJarList([]string{"platform:foo", "platform:bar", "platform:baz"})
dexpreopt.SetTestGlobalConfig(config, dexpreoptConfig) dexpreopt.SetTestGlobalConfig(config, dexpreoptConfig)
ctx := testContext() ctx := testContext(config)
RegisterDexpreoptBootJarsComponents(ctx) RegisterDexpreoptBootJarsComponents(ctx)
run(t, ctx, config) run(t, ctx, config)

View File

@ -29,8 +29,8 @@ func testConfigWithBootJars(bp string, bootJars []string) android.Config {
return config return config
} }
func testContextWithHiddenAPI() *android.TestContext { func testContextWithHiddenAPI(config android.Config) *android.TestContext {
ctx := testContext() ctx := testContext(config)
ctx.RegisterSingletonType("hiddenapi", hiddenAPISingletonFactory) ctx.RegisterSingletonType("hiddenapi", hiddenAPISingletonFactory)
return ctx return ctx
} }
@ -38,7 +38,7 @@ func testContextWithHiddenAPI() *android.TestContext {
func testHiddenAPIWithConfig(t *testing.T, config android.Config) *android.TestContext { func testHiddenAPIWithConfig(t *testing.T, config android.Config) *android.TestContext {
t.Helper() t.Helper()
ctx := testContextWithHiddenAPI() ctx := testContextWithHiddenAPI(config)
run(t, ctx, config) run(t, ctx, config)
return ctx return ctx

View File

@ -70,9 +70,9 @@ func testConfig(env map[string]string, bp string, fs map[string][]byte) android.
return config return config
} }
func testContext() *android.TestContext { func testContext(config android.Config) *android.TestContext {
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
RegisterJavaBuildComponents(ctx) RegisterJavaBuildComponents(ctx)
RegisterAppBuildComponents(ctx) RegisterAppBuildComponents(ctx)
RegisterAARBuildComponents(ctx) RegisterAARBuildComponents(ctx)
@ -115,7 +115,7 @@ func run(t *testing.T, ctx *android.TestContext, config android.Config) {
pathCtx := android.PathContextForTesting(config) pathCtx := android.PathContextForTesting(config)
dexpreopt.SetTestGlobalConfig(config, dexpreopt.GlobalConfigForTests(pathCtx)) dexpreopt.SetTestGlobalConfig(config, dexpreopt.GlobalConfigForTests(pathCtx))
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles("Android.bp") _, errs := ctx.ParseBlueprintsFiles("Android.bp")
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)
@ -129,12 +129,12 @@ func testJavaError(t *testing.T, pattern string, bp string) (*android.TestContex
func testJavaErrorWithConfig(t *testing.T, pattern string, config android.Config) (*android.TestContext, android.Config) { func testJavaErrorWithConfig(t *testing.T, pattern string, config android.Config) (*android.TestContext, android.Config) {
t.Helper() t.Helper()
ctx := testContext() ctx := testContext(config)
pathCtx := android.PathContextForTesting(config) pathCtx := android.PathContextForTesting(config)
dexpreopt.SetTestGlobalConfig(config, dexpreopt.GlobalConfigForTests(pathCtx)) dexpreopt.SetTestGlobalConfig(config, dexpreopt.GlobalConfigForTests(pathCtx))
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseBlueprintsFiles("Android.bp") _, errs := ctx.ParseBlueprintsFiles("Android.bp")
if len(errs) > 0 { if len(errs) > 0 {
android.FailIfNoMatchingErrors(t, pattern, errs) android.FailIfNoMatchingErrors(t, pattern, errs)
@ -163,7 +163,7 @@ func testJava(t *testing.T, bp string) (*android.TestContext, android.Config) {
func testJavaWithConfig(t *testing.T, config android.Config) (*android.TestContext, android.Config) { func testJavaWithConfig(t *testing.T, config android.Config) (*android.TestContext, android.Config) {
t.Helper() t.Helper()
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
return ctx, config return ctx, config
@ -1440,7 +1440,7 @@ func TestJavaLibrary(t *testing.T) {
} }
`), `),
}) })
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
} }
@ -1458,7 +1458,7 @@ func TestJavaImport(t *testing.T) {
} }
`), `),
}) })
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
} }

View File

@ -356,7 +356,7 @@ func TestClasspath(t *testing.T) {
config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true) config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true)
config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true) config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true)
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
checkClasspath(t, ctx, true /* isJava8 */) checkClasspath(t, ctx, true /* isJava8 */)
@ -377,7 +377,7 @@ func TestClasspath(t *testing.T) {
config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true) config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true)
config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true) config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true)
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
checkClasspath(t, ctx, false /* isJava8 */) checkClasspath(t, ctx, false /* isJava8 */)
@ -401,7 +401,7 @@ func TestClasspath(t *testing.T) {
config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true) config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true)
config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true) config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true)
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
checkClasspath(t, ctx, true /* isJava8 */) checkClasspath(t, ctx, true /* isJava8 */)
@ -417,7 +417,7 @@ func TestClasspath(t *testing.T) {
config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true) config.TestProductVariables.Unbundled_build = proptools.BoolPtr(true)
config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true) config.TestProductVariables.Always_use_prebuilt_sdks = proptools.BoolPtr(true)
} }
ctx := testContext() ctx := testContext(config)
run(t, ctx, config) run(t, ctx, config)
checkClasspath(t, ctx, false /* isJava8 */) checkClasspath(t, ctx, false /* isJava8 */)

View File

@ -56,9 +56,9 @@ func testContext(t *testing.T, bp string) (*android.TestContext, android.Config)
config := android.TestArchConfig(buildDir, nil, bp, fs) config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("linker_config", linkerConfigFactory) ctx.RegisterModuleType("linker_config", linkerConfigFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)

View File

@ -329,13 +329,13 @@ func TestPythonModule(t *testing.T) {
for _, d := range data { for _, d := range data {
t.Run(d.desc, func(t *testing.T) { t.Run(d.desc, func(t *testing.T) {
config := android.TestConfig(buildDir, nil, "", d.mockFiles) config := android.TestConfig(buildDir, nil, "", d.mockFiles)
ctx := android.NewTestContext() ctx := android.NewTestContext(config)
ctx.PreDepsMutators(RegisterPythonPreDepsMutators) ctx.PreDepsMutators(RegisterPythonPreDepsMutators)
ctx.RegisterModuleType("python_library_host", PythonLibraryHostFactory) ctx.RegisterModuleType("python_library_host", PythonLibraryHostFactory)
ctx.RegisterModuleType("python_binary_host", PythonBinaryHostFactory) ctx.RegisterModuleType("python_binary_host", PythonBinaryHostFactory)
ctx.RegisterModuleType("python_defaults", defaultsFactory) ctx.RegisterModuleType("python_defaults", defaultsFactory)
ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators)
ctx.Register(config) ctx.Register()
_, testErrs := ctx.ParseBlueprintsFiles(bpFile) _, testErrs := ctx.ParseBlueprintsFiles(bpFile)
android.FailIfErrored(t, testErrs) android.FailIfErrored(t, testErrs)
_, actErrs := ctx.PrepareBuildActions(config) _, actErrs := ctx.PrepareBuildActions(config)

View File

@ -65,8 +65,8 @@ func TestClippy(t *testing.T) {
t.Run("path="+tc.modulePath, func(t *testing.T) { t.Run("path="+tc.modulePath, func(t *testing.T) {
config := android.TestArchConfig(buildDir, nil, bp, fs) config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{tc.modulePath + "Android.bp"}) _, errs := ctx.ParseFileList(".", []string{tc.modulePath + "Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)

View File

@ -152,8 +152,8 @@ func TestLints(t *testing.T) {
t.Run("path="+tc.modulePath, func(t *testing.T) { t.Run("path="+tc.modulePath, func(t *testing.T) {
config := android.TestArchConfig(buildDir, nil, bp, fs) config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := CreateTestContext() ctx := CreateTestContext(config)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{tc.modulePath + "Android.bp"}) _, errs := ctx.ParseFileList(".", []string{tc.modulePath + "Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)

View File

@ -142,8 +142,8 @@ func (tctx testRustCtx) parse(t *testing.T) *android.TestContext {
if tctx.config == nil { if tctx.config == nil {
t.Fatalf("tctx.config not been generated yet. Please call generateConfig first.") t.Fatalf("tctx.config not been generated yet. Please call generateConfig first.")
} }
ctx := CreateTestContext() ctx := CreateTestContext(*tctx.config)
ctx.Register(*tctx.config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(*tctx.config) _, errs = ctx.PrepareBuildActions(*tctx.config)
@ -157,8 +157,8 @@ func (tctx testRustCtx) parseError(t *testing.T, pattern string) {
if tctx.config == nil { if tctx.config == nil {
t.Fatalf("tctx.config not been generated yet. Please call generateConfig first.") t.Fatalf("tctx.config not been generated yet. Please call generateConfig first.")
} }
ctx := CreateTestContext() ctx := CreateTestContext(*tctx.config)
ctx.Register(*tctx.config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
if len(errs) > 0 { if len(errs) > 0 {

View File

@ -127,8 +127,8 @@ func GatherRequiredDepsForTest() string {
return bp return bp
} }
func CreateTestContext() *android.TestContext { func CreateTestContext(config android.Config) *android.TestContext {
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
android.RegisterPrebuiltMutators(ctx) android.RegisterPrebuiltMutators(ctx)
ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators)
cc.RegisterRequiredBuildComponentsForTest(ctx) cc.RegisterRequiredBuildComponentsForTest(ctx)

View File

@ -80,7 +80,7 @@ func testSdkContext(bp string, fs map[string][]byte, extraOsTypes []android.OsTy
} }
} }
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
// Enable androidmk support. // Enable androidmk support.
// * Register the singleton // * Register the singleton
@ -129,7 +129,7 @@ func testSdkContext(bp string, fs map[string][]byte, extraOsTypes []android.OsTy
ctx.PreDepsMutators(RegisterPreDepsMutators) ctx.PreDepsMutators(RegisterPreDepsMutators)
ctx.PostDepsMutators(RegisterPostDepsMutators) ctx.PostDepsMutators(RegisterPostDepsMutators)
ctx.Register(config) ctx.Register()
return ctx, config return ctx, config
} }

View File

@ -45,13 +45,13 @@ func testShBinary(t *testing.T, bp string) (*android.TestContext, android.Config
config := android.TestArchConfig(buildDir, nil, bp, fs) config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("sh_test", ShTestFactory) ctx.RegisterModuleType("sh_test", ShTestFactory)
ctx.RegisterModuleType("sh_test_host", ShTestHostFactory) ctx.RegisterModuleType("sh_test_host", ShTestHostFactory)
cc.RegisterRequiredBuildComponentsForTest(ctx) cc.RegisterRequiredBuildComponentsForTest(ctx)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)

View File

@ -57,7 +57,7 @@ func TestMain(m *testing.M) {
func testContext(config android.Config) *android.TestContext { func testContext(config android.Config) *android.TestContext {
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
java.RegisterJavaBuildComponents(ctx) java.RegisterJavaBuildComponents(ctx)
java.RegisterAppBuildComponents(ctx) java.RegisterAppBuildComponents(ctx)
java.RegisterSystemModulesBuildComponents(ctx) java.RegisterSystemModulesBuildComponents(ctx)
@ -76,7 +76,7 @@ func testContext(config android.Config) *android.TestContext {
ctx.RegisterModuleType("sysprop_library", syspropLibraryFactory) ctx.RegisterModuleType("sysprop_library", syspropLibraryFactory)
ctx.Register(config) ctx.Register()
return ctx return ctx
} }

View File

@ -57,10 +57,10 @@ func testXml(t *testing.T, bp string) *android.TestContext {
"baz.xml": nil, "baz.xml": nil,
} }
config := android.TestArchConfig(buildDir, nil, bp, fs) config := android.TestArchConfig(buildDir, nil, bp, fs)
ctx := android.NewTestArchContext() ctx := android.NewTestArchContext(config)
ctx.RegisterModuleType("prebuilt_etc", etc.PrebuiltEtcFactory) ctx.RegisterModuleType("prebuilt_etc", etc.PrebuiltEtcFactory)
ctx.RegisterModuleType("prebuilt_etc_xml", PrebuiltEtcXmlFactory) ctx.RegisterModuleType("prebuilt_etc_xml", PrebuiltEtcXmlFactory)
ctx.Register(config) ctx.Register()
_, errs := ctx.ParseFileList(".", []string{"Android.bp"}) _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
android.FailIfErrored(t, errs) android.FailIfErrored(t, errs)
_, errs = ctx.PrepareBuildActions(config) _, errs = ctx.PrepareBuildActions(config)