Skip to content

Commit

Permalink
Auto merge of #37611 - Mark-Simulacrum:tari-nodejs-runner-detect, r=a…
Browse files Browse the repository at this point in the history
…lexcrichton

compile-test: allow overriding nodejs binary location

Add a command-line argument to manually specify which nodejs binary should be used,
which disables the default search.

Original work done by @tari.

Fixes #34188.
  • Loading branch information
bors committed Nov 12, 2016
2 parents 026add5 + c524c50 commit fd983d0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
2 changes: 2 additions & 0 deletions src/bootstrap/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ struct Build {
submodules: Option<bool>,
gdb: Option<String>,
vendor: Option<bool>,
nodejs: Option<String>,
}

/// TOML representation of how the LLVM build is configured.
Expand Down Expand Up @@ -234,6 +235,7 @@ impl Config {
}
config.rustc = build.rustc.map(PathBuf::from);
config.cargo = build.cargo.map(PathBuf::from);
config.nodejs = build.nodejs.map(PathBuf::from);
config.gdb = build.gdb.map(PathBuf::from);
set(&mut config.compiler_docs, build.compiler_docs);
set(&mut config.docs, build.docs);
Expand Down
13 changes: 7 additions & 6 deletions src/bootstrap/sanity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,16 @@ pub fn check(build: &mut Build) {

need_cmd("python".as_ref());

// Look for the nodejs command, needed for emscripten testing
if let Some(node) = have_cmd("node".as_ref()) {
build.config.nodejs = Some(node);
} else if let Some(node) = have_cmd("nodejs".as_ref()) {
build.config.nodejs = Some(node);
}

if let Some(ref s) = build.config.nodejs {
need_cmd(s.as_ref());
} else {
// Look for the nodejs command, needed for emscripten testing
if let Some(node) = have_cmd("node".as_ref()) {
build.config.nodejs = Some(node);
} else if let Some(node) = have_cmd("nodejs".as_ref()) {
build.config.nodejs = Some(node);
}
}

if let Some(ref gdb) = build.config.gdb {
Expand Down
7 changes: 5 additions & 2 deletions src/tools/compiletest/src/runtest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1456,8 +1456,11 @@ actual:\n\

// If this is emscripten, then run tests under nodejs
if self.config.target.contains("emscripten") {
let nodejs = self.config.nodejs.clone().unwrap_or("nodejs".to_string());
args.push(nodejs);
if let Some(ref p) = self.config.nodejs {
args.push(p.clone());
} else {
self.fatal("no NodeJS binary found (--nodejs)");
}
}

let exe_file = self.make_exe_name();
Expand Down

0 comments on commit fd983d0

Please sign in to comment.