Dependencies of tests are also included in APEX am: af9539fd14

Change-Id: Iaab0f5d7239260d63d75aa81224fc53b568da131
This commit is contained in:
Jiyong Park
2020-05-04 08:52:47 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 2 deletions

View File

@@ -2082,13 +2082,13 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
// We do not add this variation to `filesInfo`, as it has no output;
// however, we do add the other variations of this module as indirect
// dependencies (see below).
return true
} else {
// Single-output test module (where `test_per_src: false`).
af := apexFileForExecutable(ctx, ccTest)
af.class = nativeTest
filesInfo = append(filesInfo, af)
}
return true // track transitive dependencies
} else {
ctx.PropertyErrorf("tests", "%q is not a cc module", depName)
}

View File

@@ -3145,11 +3145,19 @@ func TestApexWithTests(t *testing.T) {
gtest: false,
srcs: ["mytest.cpp"],
relative_install_path: "test",
shared_libs: ["mylib"],
system_shared_libs: [],
static_executable: true,
stl: "none",
}
cc_library {
name: "mylib",
srcs: ["mylib.cpp"],
system_shared_libs: [],
stl: "none",
}
cc_test {
name: "mytests",
gtest: false,
@@ -3169,8 +3177,9 @@ func TestApexWithTests(t *testing.T) {
apexRule := ctx.ModuleForTests("myapex", "android_common_myapex_image").Rule("apexRule")
copyCmds := apexRule.Args["copy_commands"]
// Ensure that test dep is copied into apex.
// Ensure that test dep (and their transitive dependencies) are copied into apex.
ensureContains(t, copyCmds, "image.apex/bin/test/mytest")
ensureContains(t, copyCmds, "image.apex/lib64/mylib.so")
// Ensure that test deps built with `test_per_src` are copied into apex.
ensureContains(t, copyCmds, "image.apex/bin/test/mytest1")