From d48f3c3885d0b0ce00a3a58a1492a2bc46f23e5a Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Fri, 23 Aug 2019 11:18:57 +0900 Subject: 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 --- apex/apex_test.go | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'apex/apex_test.go') diff --git a/apex/apex_test.go b/apex/apex_test.go index 387533c1f..c502968d7 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -1902,6 +1902,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() -- cgit v1.2.3-59-g8ed1b