Loading kernel/prebuilt_kernel_modules.go +5 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,12 @@ import ( ) func init() { android.RegisterModuleType("prebuilt_kernel_modules", prebuiltKernelModulesFactory) pctx.Import("android/soong/cc/config") registerKernelBuildComponents(android.InitRegistrationContext) } func registerKernelBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("prebuilt_kernel_modules", prebuiltKernelModulesFactory) } type prebuiltKernelModules struct { Loading kernel/prebuilt_kernel_modules_test.go +12 −79 Original line number Diff line number Diff line Loading @@ -15,73 +15,29 @@ package kernel import ( "io/ioutil" "os" "reflect" "strings" "testing" "android/soong/android" "android/soong/cc" ) func testKernelModules(t *testing.T, bp string, fs map[string][]byte) (*android.TestContext, android.Config) { bp = bp + ` cc_binary_host { name: "depmod", srcs: ["depmod.cpp"], stl: "none", static_executable: true, system_shared_libs: [], } ` bp = bp + cc.GatherRequiredDepsForTest(android.Android) fs["depmod.cpp"] = nil cc.GatherRequiredFilesForTest(fs) config := android.TestArchConfig(buildDir, nil, bp, fs) ctx := android.NewTestArchContext(config) ctx.RegisterModuleType("prebuilt_kernel_modules", prebuiltKernelModulesFactory) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) cc.RegisterRequiredBuildComponentsForTest(ctx) ctx.Register() _, errs := ctx.ParseFileList(".", []string{"Android.bp"}) android.FailIfErrored(t, errs) _, errs = ctx.PrepareBuildActions(config) android.FailIfErrored(t, errs) return ctx, config } func ensureListContains(t *testing.T, result []string, expected string) { t.Helper() if !android.InList(expected, result) { t.Errorf("%q is not found in %v", expected, result) } } func ensureContains(t *testing.T, result string, expected string) { t.Helper() if !strings.Contains(result, expected) { t.Errorf("%q is not found in %q", expected, result) } } func TestKernelModulesFilelist(t *testing.T) { ctx, _ := testKernelModules(t, ` ctx := android.GroupFixturePreparers( cc.PrepareForTestWithCcDefaultModules, android.FixtureRegisterWithContext(registerKernelBuildComponents), android.MockFS{ "depmod.cpp": nil, "mod1.ko": nil, "mod2.ko": nil, }.AddToFixture(), ).RunTestWithBp(t, ` prebuilt_kernel_modules { name: "foo", srcs: ["*.ko"], kernel_version: "5.10", } `, map[string][]byte{ "mod1.ko": nil, "mod2.ko": nil, }) `) expected := []string{ "lib/modules/5.10/mod1.ko", Loading @@ -98,32 +54,9 @@ func TestKernelModulesFilelist(t *testing.T) { } actual = android.SortedUniqueStrings(actual) expected = android.SortedUniqueStrings(expected) if !reflect.DeepEqual(actual, expected) { t.Errorf("\ngot: %v\nexpected: %v\n", actual, expected) } } var buildDir string func setUp() { var err error buildDir, err = ioutil.TempDir("", "soong_kernel_test") if err != nil { panic(err) } } func tearDown() { os.RemoveAll(buildDir) android.AssertDeepEquals(t, "foo packaging specs", expected, actual) } func TestMain(m *testing.M) { run := func() int { setUp() defer tearDown() return m.Run() } os.Exit(run()) os.Exit(m.Run()) } Loading
kernel/prebuilt_kernel_modules.go +5 −1 Original line number Diff line number Diff line Loading @@ -27,8 +27,12 @@ import ( ) func init() { android.RegisterModuleType("prebuilt_kernel_modules", prebuiltKernelModulesFactory) pctx.Import("android/soong/cc/config") registerKernelBuildComponents(android.InitRegistrationContext) } func registerKernelBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("prebuilt_kernel_modules", prebuiltKernelModulesFactory) } type prebuiltKernelModules struct { Loading
kernel/prebuilt_kernel_modules_test.go +12 −79 Original line number Diff line number Diff line Loading @@ -15,73 +15,29 @@ package kernel import ( "io/ioutil" "os" "reflect" "strings" "testing" "android/soong/android" "android/soong/cc" ) func testKernelModules(t *testing.T, bp string, fs map[string][]byte) (*android.TestContext, android.Config) { bp = bp + ` cc_binary_host { name: "depmod", srcs: ["depmod.cpp"], stl: "none", static_executable: true, system_shared_libs: [], } ` bp = bp + cc.GatherRequiredDepsForTest(android.Android) fs["depmod.cpp"] = nil cc.GatherRequiredFilesForTest(fs) config := android.TestArchConfig(buildDir, nil, bp, fs) ctx := android.NewTestArchContext(config) ctx.RegisterModuleType("prebuilt_kernel_modules", prebuiltKernelModulesFactory) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) cc.RegisterRequiredBuildComponentsForTest(ctx) ctx.Register() _, errs := ctx.ParseFileList(".", []string{"Android.bp"}) android.FailIfErrored(t, errs) _, errs = ctx.PrepareBuildActions(config) android.FailIfErrored(t, errs) return ctx, config } func ensureListContains(t *testing.T, result []string, expected string) { t.Helper() if !android.InList(expected, result) { t.Errorf("%q is not found in %v", expected, result) } } func ensureContains(t *testing.T, result string, expected string) { t.Helper() if !strings.Contains(result, expected) { t.Errorf("%q is not found in %q", expected, result) } } func TestKernelModulesFilelist(t *testing.T) { ctx, _ := testKernelModules(t, ` ctx := android.GroupFixturePreparers( cc.PrepareForTestWithCcDefaultModules, android.FixtureRegisterWithContext(registerKernelBuildComponents), android.MockFS{ "depmod.cpp": nil, "mod1.ko": nil, "mod2.ko": nil, }.AddToFixture(), ).RunTestWithBp(t, ` prebuilt_kernel_modules { name: "foo", srcs: ["*.ko"], kernel_version: "5.10", } `, map[string][]byte{ "mod1.ko": nil, "mod2.ko": nil, }) `) expected := []string{ "lib/modules/5.10/mod1.ko", Loading @@ -98,32 +54,9 @@ func TestKernelModulesFilelist(t *testing.T) { } actual = android.SortedUniqueStrings(actual) expected = android.SortedUniqueStrings(expected) if !reflect.DeepEqual(actual, expected) { t.Errorf("\ngot: %v\nexpected: %v\n", actual, expected) } } var buildDir string func setUp() { var err error buildDir, err = ioutil.TempDir("", "soong_kernel_test") if err != nil { panic(err) } } func tearDown() { os.RemoveAll(buildDir) android.AssertDeepEquals(t, "foo packaging specs", expected, actual) } func TestMain(m *testing.M) { run := func() int { setUp() defer tearDown() return m.Run() } os.Exit(run()) os.Exit(m.Run()) }