Skip to content

Commit

Permalink
Auto merge of #4786 - msizanoen1:target-libs, r=Manishearth
Browse files Browse the repository at this point in the history
Add the TARGET_LIBS environment variable for rustc CI testing

Needed to fix the test failure in #66158.

See #66158 (comment)

r? @Manishearth

changelog: none
  • Loading branch information
bors committed Nov 8, 2019
2 parents b0b3dc6 + 7d2e813 commit 692b260
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions tests/compile-test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,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)
Expand Down Expand Up @@ -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();
Expand All @@ -75,8 +86,9 @@ fn config(mode: &str, dir: PathBuf) -> compiletest::Config {
.collect::<Vec<_>>();

config.target_rustcflags = Some(format!(
"-L {0} -L {0}/deps -Dwarnings -Zui-testing {1}",
"-L {0} -L {0}/deps {1} -Dwarnings -Zui-testing {2}",
host_libs().display(),
target_libs().map_or_else(String::new, |path| format!("-L {0} -L {0}/deps", path.display())),
disambiguated.join(" ")
));

Expand Down

0 comments on commit 692b260

Please sign in to comment.