Import paths for non-local tests because including tests directly has proven to be fragile and burdensome. For example, whenever a project removes or renames a test, all the TEST_MAPPING files for its reverse dependencies must be updated or we get test breakages. That can be many tens of projects that must updated to prevent the reported breakage of tests that no longer exist. Similarly when a test is added, it won't be run when the reverse dependencies change unless/until update_crate_tests.py is run for its depenencies. Importing TEST_MAPPING files instead of tests solves both of these problems. When tests are removed, renamed, or added, only files local to the project need to be modified. The downside is that we potentially miss some tests. But this seems like a reasonable tradeoff since it's primarily unit tests that are missing, and all unit tests are always run on the host for every presubmit. See aosp/2400500 as an example of what test mapping files now look like after this change. Test: run it over all projects in external/rust/crates Change-Id: I2b644f9ebf97968c9928f5b1756b2ab199e8e7ca
17 KiB
Executable File
17 KiB
Executable File