From 9da4aa8166efe67d6c4ab1fe7911224d94493cc9 Mon Sep 17 00:00:00 2001 From: Ivan Lozano Date: Fri, 29 Jan 2021 12:48:05 -0500 Subject: rust: Allow rust_tests to include data files. Adds the ability to define data files that should be installed alongside the test. This also fixes a bug wherein rust_test properties were duplicated. Bug: 171710847 Test: rust_test module with "data" property installs files to device. Change-Id: I091489afaf7e76b751a33a28049590d9fb39fe5f --- rust/test.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'rust/test.go') diff --git a/rust/test.go b/rust/test.go index 35e04fff6..92b486070 100644 --- a/rust/test.go +++ b/rust/test.go @@ -43,6 +43,10 @@ type TestProperties struct { // installed into. Test_suites []string `android:"arch_variant"` + // list of files or filegroup modules that provide data that should be installed alongside + // the test + Data []string `android:"path,arch_variant"` + // Flag to indicate whether or not to create test config automatically. If AndroidTest.xml // doesn't exist next to the Android.bp, this attribute doesn't need to be set to true // explicitly. @@ -62,6 +66,12 @@ type testDecorator struct { *binaryDecorator Properties TestProperties testConfig android.Path + + data []android.DataPath +} + +func (test *testDecorator) dataPaths() []android.DataPath { + return test.data } func (test *testDecorator) nativeCoverage() bool { @@ -89,7 +99,6 @@ func NewRustTest(hod android.HostOrDeviceSupported) (*Module, *testDecorator) { } module.compiler = test - module.AddProperties(&test.Properties) return module, test } @@ -105,6 +114,12 @@ func (test *testDecorator) install(ctx ModuleContext) { nil, test.Properties.Auto_gen_config) + dataSrcPaths := android.PathsForModuleSrc(ctx, test.Properties.Data) + + for _, dataSrcPath := range dataSrcPaths { + test.data = append(test.data, android.DataPath{SrcPath: dataSrcPath}) + } + // default relative install path is module name if !Bool(test.Properties.No_named_install_directory) { test.baseCompiler.relative = ctx.ModuleName() -- cgit v1.2.3-59-g8ed1b