lstat_unix_test.go 774 B

1234567891011121314151617181920212223242526272829303132333435
  1. //go:build linux || freebsd
  2. // +build linux freebsd
  3. package system // import "github.com/docker/docker/pkg/system"
  4. import (
  5. "os"
  6. "path/filepath"
  7. "testing"
  8. )
  9. // TestLstat tests Lstat for existing and non existing files
  10. func TestLstat(t *testing.T) {
  11. tmpDir := t.TempDir()
  12. file := filepath.Join(tmpDir, "exist")
  13. if err := os.WriteFile(file, []byte("hello"), 0o644); err != nil {
  14. t.Fatal(err)
  15. }
  16. statFile, err := Lstat(file)
  17. if err != nil {
  18. t.Fatal(err)
  19. }
  20. if statFile == nil {
  21. t.Fatal("returned empty stat for existing file")
  22. }
  23. statInvalid, err := Lstat(filepath.Join(tmpDir, "nosuchfile"))
  24. if err == nil {
  25. t.Fatal("did not return error for non-existing file")
  26. }
  27. if statInvalid != nil {
  28. t.Fatal("returned non-nil stat for non-existing file")
  29. }
  30. }