diff options
author | Paul Duffin <paulduffin@google.com> | 2021-02-24 18:51:54 +0000 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2021-03-09 23:07:17 +0000 |
commit | 12c7eb8cb1ea6dfeb36e931030fbf5a839cd1f18 (patch) | |
tree | 88e55d42814e6db1198770ea6c5ecc7bc13a019f /bpf | |
parent | 02a3d65402d7f41cdccfe8be97f076ebf43504f3 (diff) |
Support test fixtures in bpf package
Restructures the bpf package test setup code to create FixturePreparer
instances for setting up a test fixture and converts the test to use
it.
Bug: 181070625
Test: m nothing
Change-Id: I7c76ed6dc292ca92d76ef95c4167f7ca2d68e1af
Diffstat (limited to 'bpf')
-rw-r--r-- | bpf/bpf.go | 8 | ||||
-rw-r--r-- | bpf/bpf_test.go | 37 |
2 files changed, 19 insertions, 26 deletions
diff --git a/bpf/bpf.go b/bpf/bpf.go index 8142f10a5..fa1a84d04 100644 --- a/bpf/bpf.go +++ b/bpf/bpf.go @@ -26,7 +26,7 @@ import ( ) func init() { - android.RegisterModuleType("bpf", BpfFactory) + registerBpfBuildComponents(android.InitRegistrationContext) pctx.Import("android/soong/cc/config") } @@ -43,6 +43,12 @@ var ( "ccCmd", "cFlags") ) +func registerBpfBuildComponents(ctx android.RegistrationContext) { + ctx.RegisterModuleType("bpf", BpfFactory) +} + +var PrepareForTestWithBpf = android.FixtureRegisterWithContext(registerBpfBuildComponents) + // BpfModule interface is used by the apex package to gather information from a bpf module. type BpfModule interface { android.Module diff --git a/bpf/bpf_test.go b/bpf/bpf_test.go index be9e36ea5..eb0d8c8f7 100644 --- a/bpf/bpf_test.go +++ b/bpf/bpf_test.go @@ -46,24 +46,20 @@ func TestMain(m *testing.M) { } os.Exit(run()) -} - -func testConfig(buildDir string, env map[string]string, bp string) android.Config { - mockFS := map[string][]byte{ - "bpf.c": nil, - "BpfTest.cpp": nil, - } - return cc.TestConfig(buildDir, android.Android, env, bp, mockFS) } -func testContext(config android.Config) *android.TestContext { - ctx := cc.CreateTestContext(config) - ctx.RegisterModuleType("bpf", BpfFactory) - ctx.Register() - - return ctx -} +var bpfFactory = android.NewFixtureFactory( + &buildDir, + cc.PrepareForTestWithCcDefaultModules, + android.FixtureMergeMockFs( + map[string][]byte{ + "bpf.c": nil, + "BpfTest.cpp": nil, + }, + ), + PrepareForTestWithBpf, +) func TestBpfDataDependency(t *testing.T) { bp := ` @@ -80,16 +76,7 @@ func TestBpfDataDependency(t *testing.T) { } ` - config := testConfig(buildDir, nil, bp) - ctx := testContext(config) - - _, errs := ctx.ParseFileList(".", []string{"Android.bp"}) - if errs == nil { - _, errs = ctx.PrepareBuildActions(config) - } - if errs != nil { - t.Fatal(errs) - } + bpfFactory.RunTestWithBp(t, bp) // We only verify the above BP configuration is processed successfully since the data property // value is not available for testing from this package. |