tests: fix a few fd leaks

We relied on the finalizer to close a few fds.
For some reason, this did not cause problems on Linux,
but on MacOS, it causes unmount failures:

umount(/private/tmp/gocryptfs-test-parent/194654785/default-plain): Resource busy -- try 'diskutil unmount'
This commit is contained in:
Jakob Unterwurzacher 2018-03-05 21:56:30 +01:00
parent 6c172dcb02
commit 3064d72b97
3 changed files with 5 additions and 1 deletions

View File

@ -45,7 +45,7 @@ func TestDirIVRace(t *testing.T) {
for {
// Keep dir2 in the diriv cache
fd, err2 := os.Open(file2)
if err2 != nil {
if err2 == nil {
fd.Close()
}
if stop {

View File

@ -51,6 +51,7 @@ func TestOpenTruncateRead(t *testing.T) {
if err != nil {
t.Fatal(err)
}
defer writeFd.Close()
abc := []byte("abc")
_, err = writeFd.WriteAt(abc, 0)
if err != nil {
@ -61,6 +62,7 @@ func TestOpenTruncateRead(t *testing.T) {
if err != nil {
t.Fatal(err)
}
defer readFd.Close()
content := make([]byte, 3)
_, err = readFd.ReadAt(content, 0)
if err != nil {

View File

@ -405,10 +405,12 @@ func TestRmwRace(t *testing.T) {
if err != nil {
t.Fatalf("file create failed")
}
defer f1.Close()
f2, err := os.Create(fn)
if err != nil {
t.Fatalf("file create failed")
}
defer f2.Close()
oldBlock := bytes.Repeat([]byte("o"), 4096)