Move common test_options properties into the android package

Multiple modules (e.g. java, cc, python, rust) define the `test_options`
field. Extract the common properties in test_options to share across
different test rules.

Bug: 240928948
Test: `refreshmod` and diff with original module-info.json
Change-Id: I404a7a157b4ccaa53d800ee2217559ff695bd825
This commit is contained in:
Zhenhuang Wang
2022-08-12 18:49:20 +08:00
parent 63e738ffe0
commit 0ac5a431a9
11 changed files with 93 additions and 59 deletions

View File

@@ -103,12 +103,6 @@ type shBinaryProperties struct {
Recovery_available *bool
}
// Test option struct.
type TestOptions struct {
// If the test is a hostside(no device required) unittest that shall be run during presubmit check.
Unit_test *bool
}
type TestProperties struct {
// list of compatibility suites (for example "cts", "vts") that the module should be
// installed into.
@@ -153,7 +147,7 @@ type TestProperties struct {
Per_testcase_directory *bool
// Test options.
Test_options TestOptions
Test_options android.CommonTestOptions
}
type ShBinary struct {
@@ -464,10 +458,9 @@ func (s *ShTest) AndroidMkEntries() []android.AndroidMkEntries {
if s.testProperties.Data_bins != nil {
entries.AddStrings("LOCAL_TEST_DATA_BINS", s.testProperties.Data_bins...)
}
if Bool(s.testProperties.Test_options.Unit_test) {
entries.SetBool("LOCAL_IS_UNIT_TEST", true)
}
entries.SetBoolIfTrue("LOCAL_COMPATIBILITY_PER_TESTCASE_DIRECTORY", Bool(s.testProperties.Per_testcase_directory))
s.testProperties.Test_options.SetAndroidMkEntries(entries)
},
},
}}