From 59f1300591d44b1e5d8187b54951c03d6120289f Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Wed, 2 Jan 2019 21:03:26 +0100 Subject: [PATCH] tests: retry longer when we see a fd leak Hopefully gets rid of the false positives on travis. --- tests/test_helpers/mount_unmount.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/test_helpers/mount_unmount.go b/tests/test_helpers/mount_unmount.go index cce763a..8ba96ec 100644 --- a/tests/test_helpers/mount_unmount.go +++ b/tests/test_helpers/mount_unmount.go @@ -140,13 +140,17 @@ func UnmountErr(dir string) (err error) { // Retry a few times to hide that problem. for i := 1; i <= max; i++ { if pid > 0 { - fdsNow = ListFds(pid) - if len(fdsNow) > len(fds) { + for j := 1; j <= max; j++ { // File close on FUSE is asynchronous, closing a socket - // when testing -ctlsock as well. Wait one extra millisecond - // and hope that all close commands get through to the gocryptfs + // when testing "-ctlsock" is as well. Wait a little and + // hope that all close commands get through to the gocryptfs // process. - time.Sleep(1 * time.Millisecond) + fdsNow = ListFds(pid) + if len(fdsNow) <= len(fds) { + break + } + fmt.Printf("UnmountErr: fdsOld=%d fdsNow=%d, retrying\n", len(fds), len(fdsNow)) + time.Sleep(10 * time.Millisecond) fdsNow = ListFds(pid) } }