about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/compile-test.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/compile-test.rs b/tests/compile-test.rs
index b5cd2860e81..c06580c701a 100644
--- a/tests/compile-test.rs
+++ b/tests/compile-test.rs
@@ -28,6 +28,11 @@ fn host_libs() -> PathBuf {
 }
 
 #[must_use]
+fn target_libs() -> Option<PathBuf> {
+    option_env!("TARGET_LIBS").map(PathBuf::from)
+}
+
+#[must_use]
 fn rustc_test_suite() -> Option<PathBuf> {
     option_env!("RUSTC_TEST_SUITE").map(PathBuf::from)
 }
@@ -57,8 +62,14 @@ fn config(mode: &str, dir: PathBuf) -> compiletest::Config {
     // See https://github.com/rust-lang/rust-clippy/issues/4015.
     let needs_disambiguation = ["serde", "regex", "clippy_lints"];
     // This assumes that deps are compiled (they are for Cargo integration tests).
-    let deps = std::fs::read_dir(host_libs().join("deps")).unwrap();
+    let deps = fs::read_dir(host_libs().join("deps")).unwrap();
+    let deps: Vec<_> = if let Some(target_libs) = target_libs() {
+        deps.chain(fs::read_dir(target_libs.join("deps")).unwrap()).collect()
+    } else {
+        deps.collect()
+    };
     let disambiguated = deps
+        .into_iter()
         .filter_map(|dep| {
             let path = dep.ok()?.path();
             let name = path.file_name()?.to_string_lossy();