From 287638be7eab12892827ec5852ecaca689efbc03 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 9 Jun 2020 15:09:22 -0700 Subject: [PATCH] Fix using generated test configs for sh_test, python_test and rust_test modules Annotate the test config properties with android:"path", and always use LOCAL_FULL_TEST_CONFIG to pass the path to Make. Bug: 157621988 Test: manual Change-Id: I1c020e642f83d994d63c9e9cb56e686086d5acaa Merged-In: I1c020e642f83d994d63c9e9cb56e686086d5acaa --- python/androidmk.go | 12 +++--------- python/test.go | 4 ++-- rust/test.go | 4 ++-- sh/sh_binary.go | 10 +++------- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/python/androidmk.go b/python/androidmk.go index d293d52a1..247b80dc0 100644 --- a/python/androidmk.go +++ b/python/androidmk.go @@ -66,15 +66,9 @@ func (p *testDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) { fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=", strings.Join(p.binaryDecorator.binaryProperties.Test_suites, " ")) } - // If the test config has an explicit config specified use it. - if p.testProperties.Test_config != nil { - fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=", - *p.testProperties.Test_config) - } else { - if p.testConfig != nil { - fmt.Fprintln(w, "LOCAL_FULL_TEST_CONFIG :=", - p.testConfig.String()) - } + if p.testConfig != nil { + fmt.Fprintln(w, "LOCAL_FULL_TEST_CONFIG :=", + p.testConfig.String()) } if !BoolDefault(p.binaryProperties.Auto_gen_config, true) { diff --git a/python/test.go b/python/test.go index f684fd51d..a669c73a6 100644 --- a/python/test.go +++ b/python/test.go @@ -29,11 +29,11 @@ func init() { type TestProperties struct { // the name of the test configuration (for example "AndroidTest.xml") that should be // installed with the module. - Test_config *string `android:"arch_variant"` + Test_config *string `android:"path,arch_variant"` // the name of the test configuration template (for example "AndroidTestTemplate.xml") that // should be installed with the module. - Test_config_template *string `android:"arch_variant"` + Test_config_template *string `android:"path,arch_variant"` } type testDecorator struct { diff --git a/rust/test.go b/rust/test.go index 04f844cbc..469bec652 100644 --- a/rust/test.go +++ b/rust/test.go @@ -25,11 +25,11 @@ import ( type TestProperties struct { // the name of the test configuration (for example "AndroidTest.xml") that should be // installed with the module. - Test_config *string `android:"arch_variant"` + Test_config *string `android:"path,arch_variant"` // the name of the test configuration template (for example "AndroidTestTemplate.xml") that // should be installed with the module. - Test_config_template *string `android:"arch_variant"` + Test_config_template *string `android:"path,arch_variant"` // list of compatibility suites (for example "cts", "vts") that the module should be // installed into. diff --git a/sh/sh_binary.go b/sh/sh_binary.go index 9276a62e9..ab0490ac1 100644 --- a/sh/sh_binary.go +++ b/sh/sh_binary.go @@ -70,7 +70,7 @@ type TestProperties struct { // the name of the test configuration (for example "AndroidTest.xml") that should be // installed with the module. - Test_config *string `android:"arch_variant"` + Test_config *string `android:"path,arch_variant"` // list of files or filegroup modules that provide data that should be installed alongside // the test. @@ -231,12 +231,8 @@ func (s *ShTest) AndroidMkEntries() []android.AndroidMkEntries { s.customAndroidMkEntries(entries) entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", s.testProperties.Test_suites...) - if s.testProperties.Test_config != nil { - entries.SetString("LOCAL_TEST_CONFIG", proptools.String(s.testProperties.Test_config)) - } else { - if s.testConfig != nil { - entries.SetString("LOCAL_FULL_TEST_CONFIG", s.testConfig.String()) - } + if s.testConfig != nil { + entries.SetPath("LOCAL_FULL_TEST_CONFIG", s.testConfig) } for _, d := range s.data { rel := d.Rel()