Stop generating separate rust_test_host.

With b/196306316 hopefully fixed, we should be able to use a single
rust_test entry for both device and host tests.  This modifies
cargo2android.py so it generates these shared tests.

Test: Run on crates with simple tests, those with defaults, host-only,
and device-only tests.

Change-Id: Icfe8d1fb26a61bc9ed65b8a7b116a4ebcd782ce4
This commit is contained in:
Joel Galenson
2021-08-31 14:08:05 -07:00
parent d4b099d3fa
commit 54d655345d
2 changed files with 13 additions and 30 deletions

View File

@@ -673,34 +673,20 @@ class Crate(object):
# do not change self.stem or self.module_name # do not change self.stem or self.module_name
self.dump_one_android_module(crate_type) self.dump_one_android_module(crate_type)
return return
# Dump one test module per source file, and separate host and device tests. # Dump one test module per source file.
# crate_type == 'test' # crate_type == 'test'
self.srcs = [src for src in self.srcs if not self.runner.should_ignore_test(src)] self.srcs = [src for src in self.srcs if not self.runner.should_ignore_test(src)]
if ((self.host_supported and self.device_supported and len(self.srcs) > 0) or if len(self.srcs) > 1:
len(self.srcs) > 1):
self.srcs = sorted(set(self.srcs)) self.srcs = sorted(set(self.srcs))
self.dump_defaults_module() self.dump_defaults_module()
saved_srcs = self.srcs saved_srcs = self.srcs
for src in saved_srcs: for src in saved_srcs:
self.srcs = [src] self.srcs = [src]
saved_device_supported = self.device_supported
saved_host_supported = self.host_supported
saved_main_src = self.main_src saved_main_src = self.main_src
self.main_src = src self.main_src = src
if saved_host_supported: self.module_name = self.test_module_name()
self.device_supported = False self.decide_one_module_type(crate_type)
self.host_supported = True self.dump_one_android_module(crate_type)
self.module_name = self.test_module_name()
self.decide_one_module_type(crate_type)
self.dump_one_android_module(crate_type)
if saved_device_supported:
self.device_supported = True
self.host_supported = False
self.module_name = self.test_module_name()
self.decide_one_module_type(crate_type)
self.dump_one_android_module(crate_type)
self.host_supported = saved_host_supported
self.device_supported = saved_device_supported
self.main_src = saved_main_src self.main_src = saved_main_src
self.srcs = saved_srcs self.srcs = saved_srcs
@@ -788,10 +774,7 @@ class Crate(object):
"""Return a unique name for a test module.""" """Return a unique name for a test module."""
# root_pkg+(_host|_device) + '_test_'+source_file_name # root_pkg+(_host|_device) + '_test_'+source_file_name
suffix = self.main_src_basename_path() suffix = self.main_src_basename_path()
host_device = '_host' return self.root_pkg + '_test_' + suffix
if self.device_supported:
host_device = '_device'
return self.root_pkg + host_device + '_test_' + suffix
def decide_module_type(self): def decide_module_type(self):
# Use the first crate type for the default/first module. # Use the first crate type for the default/first module.

View File

@@ -40,19 +40,19 @@ from pathlib import Path
# Some tests requires specific options. Consider fixing the upstream crate # Some tests requires specific options. Consider fixing the upstream crate
# before updating this dictionary. # before updating this dictionary.
TEST_OPTIONS = { TEST_OPTIONS = {
"ring_device_test_tests_digest_tests": [{"test-timeout": "600000"}], "ring_test_tests_digest_tests": [{"test-timeout": "600000"}],
"ring_device_test_src_lib": [{"test-timeout": "100000"}], "ring_test_src_lib": [{"test-timeout": "100000"}],
} }
# Excluded tests. These tests will be ignored by this script. # Excluded tests. These tests will be ignored by this script.
TEST_EXCLUDE = [ TEST_EXCLUDE = [
"aidl_test_rust_client", "aidl_test_rust_client",
"aidl_test_rust_service", "aidl_test_rust_service",
"ash_device_test_src_lib", "ash_test_src_lib",
"ash_device_test_tests_constant_size_arrays", "ash_test_tests_constant_size_arrays",
"ash_device_test_tests_display", "ash_test_tests_display",
"shared_library_device_test_src_lib", "shared_library_test_src_lib",
"vulkano_device_test_src_lib" "vulkano_test_src_lib"
] ]
# Excluded modules. # Excluded modules.