aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2018-03-06 21:22:01 +0100
committerJakob Unterwurzacher2018-03-06 21:28:09 +0100
commit98f735ff6e05ef71753f1c2fa60c30b195b02d3d (patch)
treecb6ae0655ad7cc64e0979e4e5d37baca3ebdfdca
parent4732e33a9a39935ecc07dfb7e857cc05b6fc6045 (diff)
tests: drop "-z" from fusermount to catch forgotten fds
macos does not have lazy unmount, so let's not use it on linux either. If the unmount fails, run "lsof" to find the open file. Also fix the first bug we found this way.
-rw-r--r--tests/matrix/matrix_test.go1
-rw-r--r--tests/test_helpers/helpers.go10
2 files changed, 8 insertions, 3 deletions
diff --git a/tests/matrix/matrix_test.go b/tests/matrix/matrix_test.go
index f492001..574f11f 100644
--- a/tests/matrix/matrix_test.go
+++ b/tests/matrix/matrix_test.go
@@ -796,6 +796,7 @@ func TestUtimesNanoFd(t *testing.T) {
if err != nil {
t.Fatal(err)
}
+ defer f.Close()
procPath := fmt.Sprintf("/proc/self/fd/%d", f.Fd())
doTestUtimesNano(t, procPath)
}
diff --git a/tests/test_helpers/helpers.go b/tests/test_helpers/helpers.go
index 3beb10b..0cb45d4 100644
--- a/tests/test_helpers/helpers.go
+++ b/tests/test_helpers/helpers.go
@@ -195,14 +195,18 @@ func MountOrFatal(t *testing.T, c string, p string, extraArgs ...string) {
func UnmountPanic(dir string) {
err := UnmountErr(dir)
if err != nil {
- fmt.Println(err)
- panic(err)
+ fmt.Printf("UnmountPanic: %v. Running lsof %s\n", err, dir)
+ cmd := exec.Command("lsof", dir)
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
+ cmd.Run()
+ panic("UnmountPanic: unmount failed: " + err.Error())
}
}
// UnmountErr tries to unmount "dir" and returns the resulting error.
func UnmountErr(dir string) error {
- cmd := exec.Command(UnmountScript, "-u", "-z", dir)
+ cmd := exec.Command(UnmountScript, "-u", dir)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()