diff options
author | Dan Shi <dshi@google.com> | 2019-07-15 11:04:06 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-07-15 11:04:06 -0700 |
commit | b942bd8030c83d4e1edd40e41d703e93c0bbae1e (patch) | |
tree | 583f7d792818e4286cfe6c6733573d72297bf2a6 /cc | |
parent | c835e6c66d40f21247a2935b887caec7473567e0 (diff) | |
parent | 40c0afeb7c6606eeb74285f6cdaa956743f3a0cd (diff) | |
download | build_soong-b942bd8030c83d4e1edd40e41d703e93c0bbae1e.tar.gz build_soong-b942bd8030c83d4e1edd40e41d703e93c0bbae1e.tar.bz2 build_soong-b942bd8030c83d4e1edd40e41d703e93c0bbae1e.zip |
Support require_root in auto-gen test configs
am: 40c0afeb7c
Change-Id: Icfdb4e7517948722f90af17dca4b41aa0840b86f
Diffstat (limited to 'cc')
-rw-r--r-- | cc/test.go | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -64,6 +64,10 @@ type TestBinaryProperties struct { // Test options. Test_options TestOptions + + // Add RootTargetPreparer to auto generated test config. This guarantees the test to run + // with root permission. + Require_root *bool } func init() { @@ -273,18 +277,19 @@ func (test *testBinary) linkerFlags(ctx ModuleContext, flags Flags) Flags { func (test *testBinary) install(ctx ModuleContext, file android.Path) { test.data = android.PathsForModuleSrc(ctx, test.Properties.Data) - optionsMap := map[string]string{} + var configs []tradefed.Config + if Bool(test.Properties.Require_root) { + configs = append(configs, tradefed.Preparer{"com.android.tradefed.targetprep.RootTargetPreparer"}) + } if Bool(test.testDecorator.Properties.Isolated) { - optionsMap["not-shardable"] = "true" + configs = append(configs, tradefed.Option{"not-shardable", "true"}) } - if test.Properties.Test_options.Run_test_as != nil { - optionsMap["run-test-as"] = String(test.Properties.Test_options.Run_test_as) + configs = append(configs, tradefed.Option{"run-test-as", String(test.Properties.Test_options.Run_test_as)}) } test.testConfig = tradefed.AutoGenNativeTestConfig(ctx, test.Properties.Test_config, - test.Properties.Test_config_template, - test.Properties.Test_suites, optionsMap) + test.Properties.Test_config_template, test.Properties.Test_suites, configs) test.binaryDecorator.baseInstaller.dir = "nativetest" test.binaryDecorator.baseInstaller.dir64 = "nativetest64" @@ -371,6 +376,10 @@ type BenchmarkProperties struct { // the name of the test configuration template (for example "AndroidTestTemplate.xml") that // should be installed with the module. Test_config_template *string `android:"path,arch_variant"` + + // Add RootTargetPreparer to auto generated test config. This guarantees the test to run + // with root permission. + Require_root *bool } type benchmarkDecorator struct { @@ -403,8 +412,12 @@ func (benchmark *benchmarkDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps func (benchmark *benchmarkDecorator) install(ctx ModuleContext, file android.Path) { benchmark.data = android.PathsForModuleSrc(ctx, benchmark.Properties.Data) + var configs []tradefed.Config + if Bool(benchmark.Properties.Require_root) { + configs = append(configs, tradefed.Preparer{"com.android.tradefed.targetprep.RootTargetPreparer"}) + } benchmark.testConfig = tradefed.AutoGenNativeBenchmarkTestConfig(ctx, benchmark.Properties.Test_config, - benchmark.Properties.Test_config_template, benchmark.Properties.Test_suites) + benchmark.Properties.Test_config_template, benchmark.Properties.Test_suites, configs) benchmark.binaryDecorator.baseInstaller.dir = filepath.Join("benchmarktest", ctx.ModuleName()) benchmark.binaryDecorator.baseInstaller.dir64 = filepath.Join("benchmarktest64", ctx.ModuleName()) |