lstat_unix_test.go 750 B

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