Skip to content

Commit 8c5d23b

Browse files
mattnkortschak
authored andcommitted
hdf5: Close objects
1 parent 760617b commit 8c5d23b

File tree

4 files changed

+32
-3
lines changed

4 files changed

+32
-3
lines changed

h5d_dataset_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,14 @@ func createDataset1(t *testing.T) error {
3030
t.Fatal(err)
3131
return err
3232
}
33+
defer dspace.Close()
3334

3435
dset, err := f.CreateDataset("dset", T_NATIVE_USHORT, dspace)
3536
if err != nil {
3637
t.Fatal(err)
3738
return err
3839
}
40+
defer dset.Close()
3941

4042
err = dset.Write(&data[0])
4143
if err != nil {
@@ -77,9 +79,11 @@ func TestReadSubset(t *testing.T) {
7779
if err != nil {
7880
t.Fatal(err)
7981
}
82+
defer dset.Close()
8083

8184
// get the filespace and select the subset
8285
filespace := dset.Space()
86+
defer filespace.Close()
8387
offset, stride, count, block := [2]uint{5, 1}, [2]uint{1, 1}, [2]uint{5, 2}, [2]uint{1, 1}
8488
err = filespace.SelectHyperslab(offset[:], stride[:], count[:], block[:])
8589
if err != nil {
@@ -95,6 +99,7 @@ func TestReadSubset(t *testing.T) {
9599
if err != nil {
96100
t.Fatal(err)
97101
}
102+
defer memspace.Close()
98103

99104
expected := [10]uint16{26, 27, 31, 32, 36, 37, 41, 42, 46, 47}
100105

@@ -141,11 +146,13 @@ func TestWriteSubset(t *testing.T) {
141146
if err != nil {
142147
t.Fatal(err)
143148
}
149+
defer fspace.Close()
144150
mdims := []uint{2, 6}
145151
mspace, err := CreateSimpleDataspace(mdims, nil)
146152
if err != nil {
147153
t.Fatal(err)
148154
}
155+
defer mspace.Close()
149156

150157
f, err := CreateFile(fname, F_ACC_TRUNC)
151158
if err != nil {
@@ -157,6 +164,7 @@ func TestWriteSubset(t *testing.T) {
157164
if err != nil {
158165
t.Fatal(err)
159166
}
167+
defer dset.Close()
160168

161169
offset := []uint{6, 0, 0}
162170
stride := []uint{3, 1, 1}
@@ -175,12 +183,14 @@ func TestWriteSubset(t *testing.T) {
175183
func TestSelectHyperslab(t *testing.T) {
176184
DisplayErrors(true)
177185
defer DisplayErrors(false)
186+
defer os.Remove(fname)
178187

179188
dims := []uint{12, 4}
180189
dspace, err := CreateSimpleDataspace(dims, nil)
181190
if err != nil {
182191
t.Fatal(err)
183192
}
193+
defer dspace.Close()
184194
offset, stride, count, block := []uint{1, 2}, []uint{2, 1}, []uint{4, 2}, []uint{1, 1}
185195
if err = dspace.SelectHyperslab(offset, stride, count, block); err != nil {
186196
t.Fatal(err)

h5f_file_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ func TestFile(t *testing.T) {
4141
}
4242

4343
f2 := f.File()
44+
defer f2.Close()
4445
fName := f.FileName()
4546
f2Name := f2.FileName()
4647
if fName != f2Name {
@@ -53,6 +54,7 @@ func TestFile(t *testing.T) {
5354
if err != nil {
5455
t.Fatalf("CreateGroup() failed: %s", err)
5556
}
57+
defer g.Close()
5658
if name := g.Name(); name != "/"+groupName {
5759
t.Fatalf("Group Name() have %v, want /%v", name, groupName)
5860
}
@@ -61,6 +63,7 @@ func TestFile(t *testing.T) {
6163
if err != nil {
6264
t.Fatalf("OpenGroup() failed: %s", err)
6365
}
66+
defer g2.Close()
6467
if name := g2.Name(); name != "/"+groupName {
6568
t.Fatalf("Group Name() have %v, want /%v", name, groupName)
6669
}
@@ -85,18 +88,21 @@ func TestFile(t *testing.T) {
8588
if err != nil {
8689
t.Fatalf("CreateDataspace failed: %s", err)
8790
}
91+
defer ds.Close()
8892
dsetName := "test_dataset"
8993
dset, err := f.CreateDataset(dsetName, T_NATIVE_INT, ds)
9094
if err != nil {
9195
t.Fatalf("CreateDataset failed: %s", err)
9296
}
97+
defer dset.Close()
9398
if name := dset.Name(); name != "/"+dsetName {
9499
t.Fatalf("Dataset Name() have %v, want /%v", name, dsetName)
95100
}
96101
dFile := dset.File()
97102
if dFile.Name() != f.Name() {
98103
t.Fatalf("Dataset File() have %v, want %v", dFile.Name(), f.Name())
99104
}
105+
defer dFile.Close()
100106

101107
if n, err := f.NumObjects(); err != nil {
102108
t.Fatalf("NumObjects failed: %s", err)

h5g_group_test.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ func TestGroup(t *testing.T) {
2525
if err != nil {
2626
t.Fatalf("couldn't create group: %s", err)
2727
}
28-
if *g1.File() != *f {
28+
g1f := g1.File()
29+
defer g1f.Close()
30+
if *g1f != *f {
2931
t.Fatal("wrong file for group")
3032
}
3133
if g1.Name() != "/foo" {
@@ -44,7 +46,9 @@ func TestGroup(t *testing.T) {
4446
if err != nil {
4547
t.Fatalf("couldn't create group: %s", err)
4648
}
47-
if *g2.File() != *f {
49+
g2f := g2.File()
50+
defer g2f.Close()
51+
if *g2f != *f {
4852
t.Fatal("wrong file for group")
4953
}
5054
if g2.Name() != "/foo/bar" {
@@ -58,7 +62,9 @@ func TestGroup(t *testing.T) {
5862
if err != nil {
5963
t.Fatalf("couldn't create group: %s", err)
6064
}
61-
if *g3.File() != *f {
65+
g3f := g3.File()
66+
defer g3f.Close()
67+
if *g3f != *f {
6268
t.Fatal("wrong file for group")
6369
}
6470
if g3.Name() != "/foo/bar/baz" {
@@ -100,11 +106,13 @@ func TestGroup(t *testing.T) {
100106
if err != nil {
101107
t.Fatal(err)
102108
}
109+
defer g2.Close()
103110

104111
g3, err = g2.OpenGroup("baz")
105112
if err != nil {
106113
t.Fatal(err)
107114
}
115+
defer g3.Close()
108116

109117
_, err = g3.OpenGroup("bs")
110118
if err == nil {
@@ -117,22 +125,26 @@ func TestGroup(t *testing.T) {
117125
if err != nil {
118126
t.Fatal(err)
119127
}
128+
defer dtype.Close()
120129

121130
dims := []uint{1}
122131
dspace, err := CreateSimpleDataspace(dims, dims)
123132
if err != nil {
124133
t.Fatal(err)
125134
}
135+
defer dspace.Close()
126136

127137
dset, err := g3.CreateDataset("dset", dtype, dspace)
128138
if err != nil {
129139
t.Fatal(err)
130140
}
141+
defer dset.Close()
131142

132143
dset2, err := g3.OpenDataset("dset")
133144
if dset.Name() != dset2.Name() {
134145
t.Error("expected dataset names to be equal")
135146
}
147+
defer dset2.Close()
136148

137149
dset2, err = g3.OpenDataset("bs")
138150
if err == nil {

h5p_proplist_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ func save(fn, dsn string, dims []uint, dcpl *PropList) ([]float64, error) {
184184
if err != nil {
185185
return nil, err
186186
}
187+
defer dspace.Close()
187188

188189
dset, err := f.CreateDatasetWith(dsn, T_NATIVE_DOUBLE, dspace, dcpl)
189190
if err != nil {

0 commit comments

Comments
 (0)