diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/hakurei/testsuite/sandbox/tester/main.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cmd/hakurei/testsuite/sandbox/tester/main.go b/cmd/hakurei/testsuite/sandbox/tester/main.go index 452712d9..6ccad5be 100644 --- a/cmd/hakurei/testsuite/sandbox/tester/main.go +++ b/cmd/hakurei/testsuite/sandbox/tester/main.go @@ -15,6 +15,7 @@ import ( "syscall" "hakurei.app/cmd/hakurei/testsuite/sandbox/testdata" + "hakurei.app/internal/testsuite" "hakurei.app/internal/testsuite/mountinfo" ) @@ -29,6 +30,13 @@ func mustAbs(s string) string { return s } +// dial is [net.Dial] retrying intermittent EACCES. +func dial(network, address string) (net.Conn, error) { + return testsuite.RetryExp(func() (net.Conn, error) { + return net.Dial(network, address) + }, syscall.EACCES) +} + func main() { log.SetFlags(0) log.SetPrefix("tester: ") @@ -165,8 +173,8 @@ func main() { if want.TrySocket != "" { retry: - abstractConn, abstractErr := net.Dial("unix", "@"+want.TrySocket) - pathnameConn, pathnameErr := net.Dial("unix", want.TrySocket) + abstractConn, abstractErr := dial("unix", "@"+want.TrySocket) + pathnameConn, pathnameErr := dial("unix", want.TrySocket) ok := true if abstractErr == nil { |
