Add test infrastructure for running the arch mutator
Add TestArchConfig and NewTestArchContext to create a test context that will run the arch mutator, which is necessary to test any code that is inside a ctx.Device() block or similar. Test: next patch Change-Id: Ieb1a0326bc27fc18ba88b8d37655a7e0c6870d6c
This commit is contained in:
parent
6ade34f641
commit
ae4c6180a7
|
@ -185,6 +185,25 @@ func TestConfig(buildDir string) Config {
|
|||
return Config{config}
|
||||
}
|
||||
|
||||
// TestConfig returns a Config object suitable for using for tests that need to run the arch mutator
|
||||
func TestArchConfig(buildDir string) Config {
|
||||
testConfig := TestConfig(buildDir)
|
||||
config := testConfig.config
|
||||
|
||||
config.Targets = map[OsClass][]Target{
|
||||
Device: []Target{
|
||||
{Android, Arch{ArchType: Arm64, Native: true}},
|
||||
{Android, Arch{ArchType: Arm, Native: true}},
|
||||
},
|
||||
Host: []Target{
|
||||
{BuildOs, Arch{ArchType: X86_64}},
|
||||
{BuildOs, Arch{ArchType: X86}},
|
||||
},
|
||||
}
|
||||
|
||||
return testConfig
|
||||
}
|
||||
|
||||
// New creates a new Config object. The srcDir argument specifies the path to
|
||||
// the root source directory. It also loads the config file, if found.
|
||||
func NewConfig(srcDir, buildDir string) (Config, error) {
|
||||
|
|
|
@ -78,11 +78,13 @@ var preArch = []RegisterMutatorFunc{
|
|||
RegisterDefaultsPreArchMutators,
|
||||
}
|
||||
|
||||
func registerArchMutator(ctx RegisterMutatorsContext) {
|
||||
ctx.BottomUp("arch", archMutator).Parallel()
|
||||
ctx.TopDown("arch_hooks", archHookMutator).Parallel()
|
||||
}
|
||||
|
||||
var preDeps = []RegisterMutatorFunc{
|
||||
func(ctx RegisterMutatorsContext) {
|
||||
ctx.BottomUp("arch", archMutator).Parallel()
|
||||
ctx.TopDown("arch_hooks", archHookMutator).Parallel()
|
||||
},
|
||||
registerArchMutator,
|
||||
}
|
||||
|
||||
var postDeps = []RegisterMutatorFunc{
|
||||
|
|
|
@ -27,6 +27,12 @@ func NewTestContext() *TestContext {
|
|||
}
|
||||
}
|
||||
|
||||
func NewTestArchContext() *TestContext {
|
||||
ctx := NewTestContext()
|
||||
ctx.preDeps = append(ctx.preDeps, registerArchMutator)
|
||||
return ctx
|
||||
}
|
||||
|
||||
type TestContext struct {
|
||||
*blueprint.Context
|
||||
preArch, preDeps, postDeps []RegisterMutatorFunc
|
||||
|
|
Loading…
Reference in New Issue