Skip to content

Commit

Permalink
Temporary fix for errors in testing
Browse files Browse the repository at this point in the history
The errors were caused by the missing env $OUT_DIR which should be set by
cargo.

[Related issue](rust-lang/cargo#3368).
  • Loading branch information
knight42 committed Dec 8, 2016
1 parent bb8e5b5 commit a0ff0f6
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
4 changes: 4 additions & 0 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ use std::io::Write;
use std::path::Path;

pub fn main() {
if let Ok(profile) = env::var("PROFILE") {
println!("cargo:rustc-cfg=build={:?}", profile);
}

let feature_prefix = "CARGO_FEATURE_";
let out_dir = env::var("OUT_DIR").unwrap();

Expand Down
10 changes: 9 additions & 1 deletion tests/common/util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,15 @@ impl TestScenario {
// Instead of hardcoding the path relative to the current
// directory, use Cargo's OUT_DIR to find path to executable.
// This allows tests to be run using profiles other than debug.
let target_dir = path_concat!(env::var("OUT_DIR").unwrap(), "..", "..", "..", PROGNAME);
// let target_dir = path_concat!(env::var("OUT_DIR").unwrap(), "..", "..", "..", PROGNAME);
let target_dir;
// FIXME: $OUT_DIR is not set by nightly cargo
// See also: https://github.com/rust-lang/cargo/issues/3368
if cfg!(build = "release") {
target_dir = path_concat!(env!("CARGO_MANIFEST_DIR"), "target", "release", PROGNAME);
} else {
target_dir = path_concat!(env!("CARGO_MANIFEST_DIR"), "target", "debug", PROGNAME);
}
PathBuf::from(AtPath::new(Path::new(&target_dir)).root_dir_resolved())
},
util_name: String::from(util_name),
Expand Down

0 comments on commit a0ff0f6

Please sign in to comment.