error_unix_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright 2016 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. //go:build aix || darwin || dragonfly || freebsd || hurd || (js && wasm) || linux || netbsd || openbsd || solaris
  5. package os_test
  6. import (
  7. "io/fs"
  8. "os"
  9. "syscall"
  10. )
  11. func init() {
  12. isExistTests = append(isExistTests,
  13. isExistTest{err: &fs.PathError{Err: syscall.EEXIST}, is: true, isnot: false},
  14. isExistTest{err: &fs.PathError{Err: syscall.ENOTEMPTY}, is: true, isnot: false},
  15. isExistTest{err: &os.LinkError{Err: syscall.EEXIST}, is: true, isnot: false},
  16. isExistTest{err: &os.LinkError{Err: syscall.ENOTEMPTY}, is: true, isnot: false},
  17. isExistTest{err: &os.SyscallError{Err: syscall.EEXIST}, is: true, isnot: false},
  18. isExistTest{err: &os.SyscallError{Err: syscall.ENOTEMPTY}, is: true, isnot: false},
  19. )
  20. isPermissionTests = append(isPermissionTests,
  21. isPermissionTest{err: &fs.PathError{Err: syscall.EACCES}, want: true},
  22. isPermissionTest{err: &fs.PathError{Err: syscall.EPERM}, want: true},
  23. isPermissionTest{err: &fs.PathError{Err: syscall.EEXIST}, want: false},
  24. isPermissionTest{err: &os.LinkError{Err: syscall.EACCES}, want: true},
  25. isPermissionTest{err: &os.LinkError{Err: syscall.EPERM}, want: true},
  26. isPermissionTest{err: &os.LinkError{Err: syscall.EEXIST}, want: false},
  27. isPermissionTest{err: &os.SyscallError{Err: syscall.EACCES}, want: true},
  28. isPermissionTest{err: &os.SyscallError{Err: syscall.EPERM}, want: true},
  29. isPermissionTest{err: &os.SyscallError{Err: syscall.EEXIST}, want: false},
  30. )
  31. }