Handle test_per_src test variations as dependencies of APEX modules.

If a test module with a `test_per_src` property set to `true` is
included in an APEX module, add all the variants for mutator
`test_per_src` as dependencies of the APEX module (not just the
first one).

This is done by adding variation "" of mutator `test_per_src` when
adding a test dependency to an APEX module, which creates an indirect
dependency of the APEX module on all the `test_per_src` variants of
the test module. When generating outputs for the APEX bundle, fetch
and include the set of test outputs from the "" variant.

Test: m (`apex/apex_test.go` amended)
Bug: 129534335
Change-Id: I1c99855971a8a9b2fc5b964a420e882b6791d4e6
This commit is contained in:
Roland Levillain
2019-06-28 15:41:19 +01:00
parent f2fad97158
commit 9b5fde9ca4
4 changed files with 52 additions and 5 deletions

View File

@@ -151,7 +151,7 @@ func (test *testBinary) unsetSrc() {
var _ testPerSrc = (*testBinary)(nil)
func testPerSrcMutator(mctx android.BottomUpMutatorContext) {
func TestPerSrcMutator(mctx android.BottomUpMutatorContext) {
if m, ok := mctx.Module().(*Module); ok {
if test, ok := m.linker.(testPerSrc); ok {
numTests := len(test.srcs())