1// Copyright 2013 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5//go:build unix 6 7package exec_test 8 9import ( 10 "os" 11 "os/exec" 12 "testing" 13) 14 15func TestLookPathUnixEmptyPath(t *testing.T) { 16 // Not parallel: uses Chdir and Setenv. 17 18 tmp := t.TempDir() 19 chdir(t, tmp) 20 21 f, err := os.OpenFile("exec_me", os.O_CREATE|os.O_EXCL, 0700) 22 if err != nil { 23 t.Fatal("OpenFile failed: ", err) 24 } 25 err = f.Close() 26 if err != nil { 27 t.Fatal("Close failed: ", err) 28 } 29 30 t.Setenv("PATH", "") 31 32 path, err := exec.LookPath("exec_me") 33 if err == nil { 34 t.Fatal("LookPath found exec_me in empty $PATH") 35 } 36 if path != "" { 37 t.Fatalf("LookPath path == %q when err != nil", path) 38 } 39} 40