diff options
author | 2019-08-23 11:18:57 +0900 | |
---|---|---|
committer | 2019-08-26 13:19:42 +0000 | |
commit | d48f3c3885d0b0ce00a3a58a1492a2bc46f23e5a (patch) | |
tree | 32d26cff2a055fb026e784866be42f593ac8989f /cc/cc_test.go | |
parent | 577d147eb9261defa00d0bb289243e72cfbc820a (diff) |
soong: Add tests for depending on disabled module
This will check if direct deps of android.Module type is "Enabled()".
Previously, this is checked only if a module calls VisitDeps*()
functions in GenerateAndroidBuildActions().
Most modules call VisitDeps*() in GenerateAndroidBuildActions(),
but some modules don't. For example, "apex" module calls
WalkDepsBlueprint() or VisitDirectDepsBlueprint() since it
exceptionally depends on non-android.Module modules.
Therefore, when an apex module depends on disabled(enabled:false) module,
build fails with panic, which is fixed by this change.
Test: m # runs soong tests
Change-Id: I81c5c148bbd51a253d2904690eb76ae7b6df1a0f
Diffstat (limited to 'cc/cc_test.go')
-rw-r--r-- | cc/cc_test.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cc/cc_test.go b/cc/cc_test.go index 52234a8d4..c9eb42116 100644 --- a/cc/cc_test.go +++ b/cc/cc_test.go @@ -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) { |