| //go:build linux || freebsd | |
| package system // import "github.com/docker/docker/pkg/system" | |
| import ( | |
| "os" | |
| "path/filepath" | |
| "testing" | |
| ) | |
| // TestLstat tests Lstat for existing and non existing files | |
| func TestLstat(t *testing.T) { | |
| tmpDir := t.TempDir() | |
| file := filepath.Join(tmpDir, "exist") | |
| if err := os.WriteFile(file, []byte("hello"), 0o644); err != nil { | |
| t.Fatal(err) | |
| } | |
| statFile, err := Lstat(file) | |
| if err != nil { | |
| t.Fatal(err) | |
| } | |
| if statFile == nil { | |
| t.Fatal("returned empty stat for existing file") | |
| } | |
| statInvalid, err := Lstat(filepath.Join(tmpDir, "nosuchfile")) | |
| if err == nil { | |
| t.Fatal("did not return error for non-existing file") | |
| } | |
| if statInvalid != nil { | |
| t.Fatal("returned non-nil stat for non-existing file") | |
| } | |
| } |