diff options
Diffstat (limited to 'android/namespace_test.go')
-rw-r--r-- | android/namespace_test.go | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/android/namespace_test.go b/android/namespace_test.go index 66c0d895a..08e221a65 100644 --- a/android/namespace_test.go +++ b/android/namespace_test.go @@ -143,7 +143,7 @@ func TestDependingOnModuleInImportedNamespace(t *testing.T) { } func TestDependingOnModuleInNonImportedNamespace(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` soong_namespace { @@ -378,7 +378,7 @@ func TestTwoNamespacesCanImportEachOther(t *testing.T) { } func TestImportingNonexistentNamespace(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` soong_namespace { @@ -402,7 +402,7 @@ func TestImportingNonexistentNamespace(t *testing.T) { } func TestNamespacesDontInheritParentNamespaces(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` soong_namespace { @@ -455,7 +455,7 @@ func TestModulesDoReceiveParentNamespace(t *testing.T) { } func TestNamespaceImportsNotTransitive(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` soong_namespace { @@ -496,7 +496,7 @@ Module "a" can be found in these namespaces: ["dir1"]`), } func TestTwoNamepacesInSameDir(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` soong_namespace { @@ -516,7 +516,7 @@ func TestTwoNamepacesInSameDir(t *testing.T) { } func TestNamespaceNotAtTopOfFile(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` test_module { @@ -537,7 +537,7 @@ func TestNamespaceNotAtTopOfFile(t *testing.T) { } func TestTwoModulesWithSameNameInSameNamespace(t *testing.T) { - _, errs := setupTestExpectErrs( + _, errs := setupTestExpectErrs(t, map[string]string{ "dir1": ` soong_namespace { @@ -562,7 +562,7 @@ func TestTwoModulesWithSameNameInSameNamespace(t *testing.T) { } func TestDeclaringNamespaceInNonAndroidBpFile(t *testing.T) { - _, errs := setupTestFromFiles( + _, errs := setupTestFromFiles(t, map[string][]byte{ "Android.bp": []byte(` build = ["include.bp"] @@ -632,39 +632,38 @@ func mockFiles(bps map[string]string) (files map[string][]byte) { return files } -func setupTestFromFiles(bps map[string][]byte) (ctx *TestContext, errs []error) { - config := TestConfig(buildDir, nil, "", bps) +func setupTestFromFiles(t *testing.T, bps MockFS) (ctx *TestContext, errs []error) { + result := GroupFixturePreparers( + FixtureModifyContext(func(ctx *TestContext) { + ctx.RegisterModuleType("test_module", newTestModule) + ctx.RegisterModuleType("soong_namespace", NamespaceFactory) + ctx.Context.RegisterModuleType("blueprint_test_module", newBlueprintTestModule) + ctx.PreArchMutators(RegisterNamespaceMutator) + ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) { + ctx.BottomUp("rename", renameMutator) + }) + }), + bps.AddToFixture(), + ). + // Ignore errors for now so tests can check them later. + ExtendWithErrorHandler(FixtureIgnoreErrors). + RunTest(t) - ctx = NewTestContext() - ctx.RegisterModuleType("test_module", newTestModule) - ctx.RegisterModuleType("soong_namespace", NamespaceFactory) - ctx.Context.RegisterModuleType("blueprint_test_module", newBlueprintTestModule) - ctx.PreArchMutators(RegisterNamespaceMutator) - ctx.PreDepsMutators(func(ctx RegisterMutatorsContext) { - ctx.BottomUp("rename", renameMutator) - }) - ctx.Register(config) - - _, errs = ctx.ParseBlueprintsFiles("Android.bp") - if len(errs) > 0 { - return ctx, errs - } - _, errs = ctx.PrepareBuildActions(config) - return ctx, errs + return result.TestContext, result.Errs } -func setupTestExpectErrs(bps map[string]string) (ctx *TestContext, errs []error) { +func setupTestExpectErrs(t *testing.T, bps map[string]string) (ctx *TestContext, errs []error) { files := make(map[string][]byte, len(bps)) files["Android.bp"] = []byte("") for dir, text := range bps { files[filepath.Join(dir, "Android.bp")] = []byte(text) } - return setupTestFromFiles(files) + return setupTestFromFiles(t, files) } func setupTest(t *testing.T, bps map[string]string) (ctx *TestContext) { t.Helper() - ctx, errs := setupTestExpectErrs(bps) + ctx, errs := setupTestExpectErrs(t, bps) FailIfErrored(t, errs) return ctx } @@ -698,7 +697,7 @@ func findModuleById(ctx *TestContext, id string) (module TestingModule) { testModule, ok := candidate.(*testModule) if ok { if testModule.properties.Id == id { - module = TestingModule{testModule} + module = newTestingModule(ctx.config, testModule) } } } |