summaryrefslogtreecommitdiff
path: root/cc/cc_test.go
diff options
context:
space:
mode:
author Jooyung Han <jooyung@google.com> 2019-08-23 11:18:57 +0900
committer Jooyung Han <jooyung@google.com> 2019-08-26 13:19:42 +0000
commitd48f3c3885d0b0ce00a3a58a1492a2bc46f23e5a (patch)
tree32d26cff2a055fb026e784866be42f593ac8989f /cc/cc_test.go
parent577d147eb9261defa00d0bb289243e72cfbc820a (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.go18
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) {