From 8c3fec4c3799157fb91dcab0bf2a657e558c59f3 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Wed, 4 Mar 2020 20:15:08 +0000 Subject: [PATCH] Enable androidmk processing in sdk testing Previously, while sdk tests would pass the sdk code would often fail in androidmk processing. This change makes the tests more realistic and will catch the errors earlier. Bug: 142935992 Test: m nothing Change-Id: Ifd0b2d7cf24e941c919f6b6e0beb2403a67d4308 --- android/androidmk.go | 6 +++++- android/testing.go | 4 ++++ sdk/testing.go | 10 ++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/android/androidmk.go b/android/androidmk.go index a8153ccdc..b5f4b2bd5 100644 --- a/android/androidmk.go +++ b/android/androidmk.go @@ -29,7 +29,11 @@ import ( ) func init() { - RegisterSingletonType("androidmk", AndroidMkSingleton) + RegisterAndroidMkBuildComponents(InitRegistrationContext) +} + +func RegisterAndroidMkBuildComponents(ctx RegistrationContext) { + ctx.RegisterSingletonType("androidmk", AndroidMkSingleton) } // Deprecated: consider using AndroidMkEntriesProvider instead, especially if you're not going to diff --git a/android/testing.go b/android/testing.go index 9aff03940..90989ef53 100644 --- a/android/testing.go +++ b/android/testing.go @@ -410,6 +410,10 @@ func CheckErrorsAgainstExpectations(t *testing.T, errs []error, expectedErrorPat } +func SetInMakeForTests(config Config) { + config.inMake = true +} + func AndroidMkEntriesForTest(t *testing.T, config Config, bpPath string, mod blueprint.Module) []AndroidMkEntries { var p AndroidMkEntriesProvider var ok bool diff --git a/sdk/testing.go b/sdk/testing.go index 625b4608f..41333cdc8 100644 --- a/sdk/testing.go +++ b/sdk/testing.go @@ -69,6 +69,16 @@ func testSdkContext(bp string, fs map[string][]byte) (*android.TestContext, andr ctx := android.NewTestArchContext() + // Enable androidmk support. + // * Register the singleton + // * Configure that we are inside make + // * Add CommonOS to ensure that androidmk processing works. + android.RegisterAndroidMkBuildComponents(ctx) + android.SetInMakeForTests(config) + config.Targets[android.CommonOS] = []android.Target{ + {android.CommonOS, android.Arch{ArchType: android.Common}, android.NativeBridgeDisabled, "", ""}, + } + // from android package android.RegisterPackageBuildComponents(ctx) ctx.PreArchMutators(android.RegisterVisibilityRuleChecker)