The use of binary was incorrect as executable files can also be scripts.
The docs for Error are also reworded. The old docs implied that Error was
returned when attempting to start an executable, which is not correct: it
was returned by LookPath when the file was not found or did not have the
attributes of an executable.
Change-Id: I757a44b16612936df4498b43c45c12e4c14956d2
Reviewed-on: https://go-review.googlesource.com/90315
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
"syscall"
)
-// Error records the name of a binary that failed to be executed
-// and the reason it failed.
+// Error is returned by LookPath when it fails to classify a file as an
+// executable.
type Error struct {
+ // Name is the file name for which the error occurred.
Name string
- Err error
+ // Err is the underlying error.
+ Err error
}
func (e *Error) Error() string {
}
}
-func TestNoExistBinary(t *testing.T) {
- // Can't run a non-existent binary
- err := exec.Command("/no-exist-binary").Run()
+func TestNoExistExecutable(t *testing.T) {
+ // Can't run a non-existent executable
+ err := exec.Command("/no-exist-executable").Run()
if err == nil {
- t.Error("expected error from /no-exist-binary")
+ t.Error("expected error from /no-exist-executable")
}
}
}
for i := 0; i < 6; i++ {
- cmd := exec.Command("something-that-does-not-exist-binary")
+ cmd := exec.Command("something-that-does-not-exist-executable")
cmd.StdoutPipe()
cmd.StderrPipe()
cmd.StdinPipe()
return os.ErrPermission
}
-// LookPath searches for an executable binary named file
-// in the directories named by the path environment variable.
+// LookPath searches for an executable named file in the
+// directories named by the path environment variable.
// If file begins with "/", "#", "./", or "../", it is tried
// directly and the path is not consulted.
// The result may be an absolute path or a path relative to the current directory.
return os.ErrPermission
}
-// LookPath searches for an executable binary named file
-// in the directories named by the PATH environment variable.
+// LookPath searches for an executable named file in the
+// directories named by the PATH environment variable.
// If file contains a slash, it is tried directly and the PATH is not consulted.
// The result may be an absolute path or a path relative to the current directory.
func LookPath(file string) (string, error) {
return "", os.ErrNotExist
}
-// LookPath searches for an executable binary named file
-// in the directories named by the PATH environment variable.
+// LookPath searches for an executable named file in the
+// directories named by the PATH environment variable.
// If file contains a slash, it is tried directly and the PATH is not consulted.
// LookPath also uses PATHEXT environment variable to match
// a suitable candidate.