tests: smarter error handling in ResetTmpDir
Look at the error code from os.Remove and decide about the right thing to do. Gets rid of spurious fusermount error messages.
This commit is contained in:
parent
7bbf6ad6ea
commit
f8da264222
@ -54,10 +54,18 @@ func ResetTmpDir(plaintextNames bool) {
|
||||
d := filepath.Join(TmpDir, e.Name())
|
||||
err = os.Remove(d)
|
||||
if err != nil {
|
||||
if testing.Verbose() {
|
||||
fmt.Printf("%v, trying umount\n", d, err)
|
||||
pe := err.(*os.PathError)
|
||||
if pe.Err == syscall.EBUSY {
|
||||
if testing.Verbose() {
|
||||
fmt.Printf("Remove failed: %v. Maybe still mounted?\n", pe)
|
||||
}
|
||||
err = UnmountErr(d)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
} else if pe.Err != syscall.ENOTEMPTY {
|
||||
panic("Unhandled error: " + pe.Err.Error())
|
||||
}
|
||||
UnmountErr(d)
|
||||
err = os.RemoveAll(d)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
Loading…
Reference in New Issue
Block a user