diff options
author | 2024-10-22 01:41:20 +0000 | |
---|---|---|
committer | 2024-11-07 16:03:09 -0800 | |
commit | f424c9a7071defe9ba89cecf9f9127a0cfdfb6ed (patch) | |
tree | d6b4a0e8aa252d245f7e5d849f7e34607fb5513d /java/app.go | |
parent | 3d2c75dc6a83ff5b27b5aad5d72db4481c147e47 (diff) |
test_module_config for sh_test
[retry reverted 45dca5c8cc538392edbde4ee1077fc86509b2e38 after rebase]
Implemented test_module_config for sh_tests.
There are some shell tests that have 130 cc_binaries and they get
duplicated in the vts .zip. test_module_config allows deduping for
lowmem and hwasan use cases freeing a 1 G in the zip.
Moved some of the knowledge about constructing the make rules back to
the provider.
I haven't tried this for cc_test or rust_test, but I think it will be
similar to sh_test if we ever need it.
There is currently only one usecase for using test_module_config with
sh_test (and none for cc_ or rust_)
Also added "extra_test_configs" to sh_test
Sample bp file.
test_module_config {
name: "vts_ltp_tmc",
base: "vts_ltp_test_x86_64",
test_suites: [
"general-tests",
"vts"
],
options: [
{name: "is-low-mem", value: "false"},
{name: "is-hwasan", value: "true"},
],
}
Test: go test ./
Test: m vts_ltp_test_x86_64_hwasan
Test: atest vts_ltp_test_x86_64_hwasan
Test: m vts # inspect the zip for symlinks
Test: CtsAppTestCases_android_server_am
Test: atest -c -v vts_ltp_test_x86_64:vts_ltp_test_x86_64_hwa
Change-Id: I208797f97e3448bcff7434630adfd7476fc275f9
Diffstat (limited to 'java/app.go')
-rw-r--r-- | java/app.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/java/app.go b/java/app.go index 94c9e5b82..0939d174f 100644 --- a/java/app.go +++ b/java/app.go @@ -1465,8 +1465,9 @@ func (a *AndroidTest) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_common_data)...) a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_data)...) a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_prefer32_data)...) + android.SetProvider(ctx, tradefed.BaseTestProviderKey, tradefed.BaseTestProviderData{ - InstalledFiles: a.data, + TestcaseRelDataFiles: testcaseRel(a.data), OutputFile: a.OutputFile(), TestConfig: a.testConfig, HostRequiredModuleNames: a.HostRequiredModuleNames(), @@ -1474,6 +1475,8 @@ func (a *AndroidTest) GenerateAndroidBuildActions(ctx android.ModuleContext) { IsHost: false, LocalCertificate: a.certificate.AndroidMkString(), IsUnitTest: Bool(a.testProperties.Test_options.Unit_test), + MkInclude: "$(BUILD_SYSTEM)/soong_app_prebuilt.mk", + MkAppClass: "APPS", }) android.SetProvider(ctx, android.TestOnlyProviderKey, android.TestModuleInformation{ TestOnly: true, @@ -1482,6 +1485,14 @@ func (a *AndroidTest) GenerateAndroidBuildActions(ctx android.ModuleContext) { } +func testcaseRel(paths android.Paths) []string { + relPaths := []string{} + for _, p := range paths { + relPaths = append(relPaths, p.Rel()) + } + return relPaths +} + func (a *AndroidTest) FixTestConfig(ctx android.ModuleContext, testConfig android.Path) android.Path { if testConfig == nil { return nil |