]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #11784 : eminence/rust/fix_run_tests, r=alexcrichton
authorbors <bors@rust-lang.org>
Fri, 31 Jan 2014 02:11:30 +0000 (18:11 -0800)
committerbors <bors@rust-lang.org>
Fri, 31 Jan 2014 02:11:30 +0000 (18:11 -0800)
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

1  2 
src/libstd/run.rs

Simple merge