Add unit_test test option in test configs
This change allows a test (native, java, rust or python) to be included in host-unit-tests suite when test option `unit_test` is set to true. Bug: 172006742 Test: m host-unit-tests Change-Id: I69d3eb5b51198c549e2e6914ceac3a4fc33c3cf2
This commit is contained in:
parent
0066864a02
commit
d79572f73e
9 changed files with 39 additions and 0 deletions
|
@ -214,6 +214,8 @@ func init() {
|
||||||
|
|
||||||
"LOCAL_PRIVATE_PLATFORM_APIS": "platform_apis",
|
"LOCAL_PRIVATE_PLATFORM_APIS": "platform_apis",
|
||||||
"LOCAL_JETIFIER_ENABLED": "jetifier",
|
"LOCAL_JETIFIER_ENABLED": "jetifier",
|
||||||
|
|
||||||
|
"LOCAL_IS_UNIT_TEST": "unit_test",
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -370,6 +370,9 @@ func (test *testBinary) AndroidMkEntries(ctx AndroidMkContext, entries *android.
|
||||||
entries.SetBool("LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG", true)
|
entries.SetBool("LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG", true)
|
||||||
}
|
}
|
||||||
entries.AddStrings("LOCAL_TEST_MAINLINE_MODULES", test.Properties.Test_mainline_modules...)
|
entries.AddStrings("LOCAL_TEST_MAINLINE_MODULES", test.Properties.Test_mainline_modules...)
|
||||||
|
if Bool(test.Properties.Test_options.Unit_test) {
|
||||||
|
entries.SetBool("LOCAL_IS_UNIT_TEST", true)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
androidMkWriteTestData(test.data, ctx, entries)
|
androidMkWriteTestData(test.data, ctx, entries)
|
||||||
|
|
|
@ -46,6 +46,9 @@ type TestOptions struct {
|
||||||
|
|
||||||
// a list of extra test configuration files that should be installed with the module.
|
// a list of extra test configuration files that should be installed with the module.
|
||||||
Extra_test_configs []string `android:"path,arch_variant"`
|
Extra_test_configs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
|
// If the test is a hostside(no device required) unittest that shall be run during presubmit check.
|
||||||
|
Unit_test *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type TestBinaryProperties struct {
|
type TestBinaryProperties struct {
|
||||||
|
|
|
@ -160,6 +160,9 @@ func (j *Test) AndroidMkEntries() []android.AndroidMkEntries {
|
||||||
entries.SetString("LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG", "true")
|
entries.SetString("LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG", "true")
|
||||||
}
|
}
|
||||||
entries.AddStrings("LOCAL_TEST_MAINLINE_MODULES", j.testProperties.Test_mainline_modules...)
|
entries.AddStrings("LOCAL_TEST_MAINLINE_MODULES", j.testProperties.Test_mainline_modules...)
|
||||||
|
if Bool(j.testProperties.Test_options.Unit_test) {
|
||||||
|
entries.SetBool("LOCAL_IS_UNIT_TEST", true)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return entriesList
|
return entriesList
|
||||||
|
|
|
@ -2226,6 +2226,9 @@ func LibraryHostFactory() android.Module {
|
||||||
type TestOptions struct {
|
type TestOptions struct {
|
||||||
// a list of extra test configuration files that should be installed with the module.
|
// a list of extra test configuration files that should be installed with the module.
|
||||||
Extra_test_configs []string `android:"path,arch_variant"`
|
Extra_test_configs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
|
// If the test is a hostside(no device required) unittest that shall be run during presubmit check.
|
||||||
|
Unit_test *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type testProperties struct {
|
type testProperties struct {
|
||||||
|
|
|
@ -80,6 +80,10 @@ func (p *testDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) {
|
||||||
fmt.Fprintln(w, "LOCAL_TEST_DATA :=",
|
fmt.Fprintln(w, "LOCAL_TEST_DATA :=",
|
||||||
strings.Join(android.AndroidMkDataPaths(p.data), " "))
|
strings.Join(android.AndroidMkDataPaths(p.data), " "))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if Bool(p.testProperties.Test_options.Unit_test) {
|
||||||
|
fmt.Fprintln(w, "LOCAL_IS_UNIT_TEST := true")
|
||||||
|
}
|
||||||
})
|
})
|
||||||
base.subAndroidMk(ret, p.binaryDecorator.pythonInstaller)
|
base.subAndroidMk(ret, p.binaryDecorator.pythonInstaller)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,12 @@ func init() {
|
||||||
android.RegisterModuleType("python_test", PythonTestFactory)
|
android.RegisterModuleType("python_test", PythonTestFactory)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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 {
|
type TestProperties struct {
|
||||||
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
||||||
// installed with the module.
|
// installed with the module.
|
||||||
|
@ -38,6 +44,9 @@ type TestProperties struct {
|
||||||
// list of files or filegroup modules that provide data that should be installed alongside
|
// list of files or filegroup modules that provide data that should be installed alongside
|
||||||
// the test
|
// the test
|
||||||
Data []string `android:"path,arch_variant"`
|
Data []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
|
// Test options.
|
||||||
|
Test_options TestOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
type testDecorator struct {
|
type testDecorator struct {
|
||||||
|
|
|
@ -116,6 +116,9 @@ func (test *testDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidM
|
||||||
if !BoolDefault(test.Properties.Auto_gen_config, true) {
|
if !BoolDefault(test.Properties.Auto_gen_config, true) {
|
||||||
fmt.Fprintln(w, "LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG := true")
|
fmt.Fprintln(w, "LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG := true")
|
||||||
}
|
}
|
||||||
|
if Bool(test.Properties.Test_options.Unit_test) {
|
||||||
|
fmt.Fprintln(w, "LOCAL_IS_UNIT_TEST := true")
|
||||||
|
}
|
||||||
})
|
})
|
||||||
// TODO(chh): add test data with androidMkWriteTestData(test.data, ctx, ret)
|
// TODO(chh): add test data with androidMkWriteTestData(test.data, ctx, ret)
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,12 @@ import (
|
||||||
"android/soong/tradefed"
|
"android/soong/tradefed"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 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 {
|
type TestProperties struct {
|
||||||
// Disables the creation of a test-specific directory when used with
|
// Disables the creation of a test-specific directory when used with
|
||||||
// relative_install_path. Useful if several tests need to be in the same
|
// relative_install_path. Useful if several tests need to be in the same
|
||||||
|
@ -44,6 +50,9 @@ type TestProperties struct {
|
||||||
|
|
||||||
// if set, build with the standard Rust test harness. Defaults to true.
|
// if set, build with the standard Rust test harness. Defaults to true.
|
||||||
Test_harness *bool
|
Test_harness *bool
|
||||||
|
|
||||||
|
// Test options.
|
||||||
|
Test_options TestOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
// A test module is a binary module with extra --test compiler flag
|
// A test module is a binary module with extra --test compiler flag
|
||||||
|
|
Loading…
Reference in a new issue