path_test.go 675 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package util
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "path/filepath"
  6. "testing"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestReadLink(t *testing.T) {
  10. dir, err := ioutil.TempDir("", "go-zero")
  11. assert.Nil(t, err)
  12. symLink := filepath.Join(dir, "test")
  13. pwd, err := os.Getwd()
  14. assertError(err, t)
  15. err = os.Symlink(pwd, symLink)
  16. assertError(err, t)
  17. t.Run("linked", func(t *testing.T) {
  18. ret, err := ReadLink(symLink)
  19. assert.Nil(t, err)
  20. assert.Equal(t, pwd, ret)
  21. })
  22. t.Run("unlink", func(t *testing.T) {
  23. ret, err := ReadLink(pwd)
  24. assert.Nil(t, err)
  25. assert.Equal(t, pwd, ret)
  26. })
  27. }
  28. func assertError(err error, t *testing.T) {
  29. if err != nil {
  30. t.Fatal(err)
  31. }
  32. }