Loading android/module.go +7 −0 Original line number Diff line number Diff line Loading @@ -1038,6 +1038,13 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) } if m.Enabled() { // ensure all direct android.Module deps are enabled ctx.VisitDirectDepsBlueprint(func(bm blueprint.Module) { if _, ok := bm.(Module); ok { ctx.validateAndroidModule(bm, ctx.baseModuleContext.strictVisitDeps) } }) notice := proptools.StringDefault(m.commonProperties.Notice, "NOTICE") if module := SrcIsModule(notice); module != "" { m.noticeFile = ctx.ExpandOptionalSource(¬ice, "notice") Loading android/module_test.go +55 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,9 @@ package android import "testing" import ( "testing" ) func TestSrcIsModule(t *testing.T) { type args struct { Loading Loading @@ -139,3 +141,55 @@ func TestSrcIsModuleWithTag(t *testing.T) { }) } } type depsModule struct { ModuleBase props struct { Deps []string } } func (m *depsModule) GenerateAndroidBuildActions(ctx ModuleContext) { } func (m *depsModule) DepsMutator(ctx BottomUpMutatorContext) { ctx.AddDependency(ctx.Module(), nil, m.props.Deps...) } func depsModuleFactory() Module { m := &depsModule{} m.AddProperties(&m.props) InitAndroidModule(m) return m } func TestErrorDependsOnDisabledModule(t *testing.T) { ctx := NewTestContext() ctx.RegisterModuleType("deps", ModuleFactoryAdaptor(depsModuleFactory)) bp := ` deps { name: "foo", deps: ["bar"], } deps { name: "bar", enabled: false, } ` mockFS := map[string][]byte{ "Android.bp": []byte(bp), } ctx.MockFileSystem(mockFS) ctx.Register() config := TestConfig(buildDir, nil) _, errs := ctx.ParseFileList(".", []string{"Android.bp"}) FailIfErrored(t, errs) _, errs = ctx.PrepareBuildActions(config) FailIfNoMatchingErrors(t, `module "foo": depends on disabled module "bar"`, errs) } apex/apex_test.go +45 −0 Original line number Diff line number Diff line Loading @@ -1932,6 +1932,51 @@ func TestApexUsesFailsIfUseNoApex(t *testing.T) { } func TestErrorsIfDepsAreNotEnabled(t *testing.T) { testApexError(t, `module "myapex" .* depends on disabled module "libfoo"`, ` apex { name: "myapex", key: "myapex.key", native_shared_libs: ["libfoo"], } apex_key { name: "myapex.key", public_key: "testkey.avbpubkey", private_key: "testkey.pem", } cc_library { name: "libfoo", stl: "none", system_shared_libs: [], enabled: false, } `) testApexError(t, `module "myapex" .* depends on disabled module "myjar"`, ` apex { name: "myapex", key: "myapex.key", java_libs: ["myjar"], } apex_key { name: "myapex.key", public_key: "testkey.avbpubkey", private_key: "testkey.pem", } java_library { name: "myjar", srcs: ["foo/bar/MyClass.java"], sdk_version: "none", system_modules: "none", compile_dex: true, enabled: false, } `) } func TestMain(m *testing.M) { run := func() int { setUp() Loading cc/cc_test.go +18 −0 Original line number Diff line number Diff line Loading @@ -2264,6 +2264,24 @@ func TestStaticDepsOrderWithStubs(t *testing.T) { } } func TestErrorsIfAModuleDependsOnDisabled(t *testing.T) { testCcError(t, `module "libA" .* depends on disabled module "libB"`, ` cc_library { name: "libA", srcs: ["foo.c"], shared_libs: ["libB"], stl: "none", } cc_library { name: "libB", srcs: ["foo.c"], enabled: false, stl: "none", } `) } // Simple smoke test for the cc_fuzz target that ensures the rule compiles // correctly. func TestFuzzTarget(t *testing.T) { Loading Loading
android/module.go +7 −0 Original line number Diff line number Diff line Loading @@ -1038,6 +1038,13 @@ func (m *ModuleBase) GenerateBuildActions(blueprintCtx blueprint.ModuleContext) } if m.Enabled() { // ensure all direct android.Module deps are enabled ctx.VisitDirectDepsBlueprint(func(bm blueprint.Module) { if _, ok := bm.(Module); ok { ctx.validateAndroidModule(bm, ctx.baseModuleContext.strictVisitDeps) } }) notice := proptools.StringDefault(m.commonProperties.Notice, "NOTICE") if module := SrcIsModule(notice); module != "" { m.noticeFile = ctx.ExpandOptionalSource(¬ice, "notice") Loading
android/module_test.go +55 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,9 @@ package android import "testing" import ( "testing" ) func TestSrcIsModule(t *testing.T) { type args struct { Loading Loading @@ -139,3 +141,55 @@ func TestSrcIsModuleWithTag(t *testing.T) { }) } } type depsModule struct { ModuleBase props struct { Deps []string } } func (m *depsModule) GenerateAndroidBuildActions(ctx ModuleContext) { } func (m *depsModule) DepsMutator(ctx BottomUpMutatorContext) { ctx.AddDependency(ctx.Module(), nil, m.props.Deps...) } func depsModuleFactory() Module { m := &depsModule{} m.AddProperties(&m.props) InitAndroidModule(m) return m } func TestErrorDependsOnDisabledModule(t *testing.T) { ctx := NewTestContext() ctx.RegisterModuleType("deps", ModuleFactoryAdaptor(depsModuleFactory)) bp := ` deps { name: "foo", deps: ["bar"], } deps { name: "bar", enabled: false, } ` mockFS := map[string][]byte{ "Android.bp": []byte(bp), } ctx.MockFileSystem(mockFS) ctx.Register() config := TestConfig(buildDir, nil) _, errs := ctx.ParseFileList(".", []string{"Android.bp"}) FailIfErrored(t, errs) _, errs = ctx.PrepareBuildActions(config) FailIfNoMatchingErrors(t, `module "foo": depends on disabled module "bar"`, errs) }
apex/apex_test.go +45 −0 Original line number Diff line number Diff line Loading @@ -1932,6 +1932,51 @@ func TestApexUsesFailsIfUseNoApex(t *testing.T) { } func TestErrorsIfDepsAreNotEnabled(t *testing.T) { testApexError(t, `module "myapex" .* depends on disabled module "libfoo"`, ` apex { name: "myapex", key: "myapex.key", native_shared_libs: ["libfoo"], } apex_key { name: "myapex.key", public_key: "testkey.avbpubkey", private_key: "testkey.pem", } cc_library { name: "libfoo", stl: "none", system_shared_libs: [], enabled: false, } `) testApexError(t, `module "myapex" .* depends on disabled module "myjar"`, ` apex { name: "myapex", key: "myapex.key", java_libs: ["myjar"], } apex_key { name: "myapex.key", public_key: "testkey.avbpubkey", private_key: "testkey.pem", } java_library { name: "myjar", srcs: ["foo/bar/MyClass.java"], sdk_version: "none", system_modules: "none", compile_dex: true, enabled: false, } `) } func TestMain(m *testing.M) { run := func() int { setUp() Loading
cc/cc_test.go +18 −0 Original line number Diff line number Diff line Loading @@ -2264,6 +2264,24 @@ func TestStaticDepsOrderWithStubs(t *testing.T) { } } func TestErrorsIfAModuleDependsOnDisabled(t *testing.T) { testCcError(t, `module "libA" .* depends on disabled module "libB"`, ` cc_library { name: "libA", srcs: ["foo.c"], shared_libs: ["libB"], stl: "none", } cc_library { name: "libB", srcs: ["foo.c"], enabled: false, stl: "none", } `) } // Simple smoke test for the cc_fuzz target that ensures the rule compiles // correctly. func TestFuzzTarget(t *testing.T) { Loading