mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 23:34:48 +00:00
auto merge of #11784 : eminence/rust/fix_run_tests, r=alexcrichton
This test is designed to ensure that running a non-existent executable results in a correct error message (FileNotFound in this case of this test). However, if you try to run an executable that doesn't exist, and that requires searching through the $PATH, and one of the $PATH components is not readable, then a PermissionDenied error will be returned, instead of FileNotFound. Using an absolute path skips the $PATH search logic in exec, thus by-passing the logic in exec that would have returned a PermissionDenied In the specific case of my machine, /usr/bin/games was part of $PATH, but my user account wasn't in the games group (thus being unable to read /usr/bin/games) See the man pages for execv and execve for more details. I've tested this on Linux and OSX, and I am fairly certain that there will be no problems on Windows
This commit is contained in:
commit
b7f673a627
@ -360,7 +360,7 @@ mod tests {
|
||||
trapped_io_error = true;
|
||||
assert_eq!(e.kind, FileNotFound);
|
||||
}).inside(|| -> Option<run::ProcessOutput> {
|
||||
run::process_output("no-binary-by-this-name-should-exist", [])
|
||||
run::process_output("/no-binary-by-this-name-should-exist", [])
|
||||
});
|
||||
assert!(trapped_io_error);
|
||||
assert!(opt_outp.is_none());
|
||||
|
Loading…
Reference in New Issue
Block a user