@@ -54,6 +54,14 @@ func TestParsePositiveIntEnv(t *testing.T) {
5454 t .Fatal ("expected error for zero" )
5555 }
5656 })
57+
58+ t .Run ("rejects negative" , func (t * testing.T ) {
59+ t .Setenv (key , "-3" )
60+ _ , err := parsePositiveIntEnv (key , 30 )
61+ if err == nil {
62+ t .Fatal ("expected error for negative value" )
63+ }
64+ })
5765}
5866
5967func TestValidateManifestRow (t * testing.T ) {
@@ -75,6 +83,9 @@ func TestValidateManifestRow(t *testing.T) {
7583 row manifestRow
7684 }{
7785 {name : "empty id" , row : manifestRow {File : "x.png" , Dataset : "d" , Split : "s" , Prompt : "p" }},
86+ {name : "empty file" , row : manifestRow {ID : "x" , Dataset : "d" , Split : "s" , Prompt : "p" }},
87+ {name : "empty dataset" , row : manifestRow {ID : "x" , File : "x.png" , Split : "s" , Prompt : "p" }},
88+ {name : "empty split" , row : manifestRow {ID : "x" , File : "x.png" , Dataset : "d" , Prompt : "p" }},
7889 {name : "absolute path" , row : manifestRow {ID : "x" , File : "/tmp/x.png" , Dataset : "d" , Split : "s" , Prompt : "p" }},
7990 {name : "nested path" , row : manifestRow {ID : "x" , File : "nested/x.png" , Dataset : "d" , Split : "s" , Prompt : "p" }},
8091 {name : "traversal" , row : manifestRow {ID : "x" , File : "../x.png" , Dataset : "d" , Split : "s" , Prompt : "p" }},
@@ -158,13 +169,15 @@ func TestLoadExamplesFromManifest(t *testing.T) {
158169 })
159170}
160171
161- func writeManifest (path string , rows []manifestRow ) error {
172+ func writeManifest (path string , rows []manifestRow ) ( retErr error ) {
162173 file , err := os .Create (path )
163174 if err != nil {
164175 return err
165176 }
166177 defer func () {
167- _ = file .Close ()
178+ if closeErr := file .Close (); retErr == nil && closeErr != nil {
179+ retErr = closeErr
180+ }
168181 }()
169182
170183 encoder := json .NewEncoder (file )
@@ -176,7 +189,7 @@ func writeManifest(path string, rows []manifestRow) error {
176189 return nil
177190}
178191
179- func writeTestPNG (path string ) error {
192+ func writeTestPNG (path string ) ( retErr error ) {
180193 img := image .NewNRGBA (image .Rect (0 , 0 , 4 , 4 ))
181194 for y := 0 ; y < 4 ; y ++ {
182195 for x := 0 ; x < 4 ; x ++ {
@@ -189,7 +202,9 @@ func writeTestPNG(path string) error {
189202 return err
190203 }
191204 defer func () {
192- _ = file .Close ()
205+ if closeErr := file .Close (); retErr == nil && closeErr != nil {
206+ retErr = closeErr
207+ }
193208 }()
194209
195210 return png .Encode (file , img )
0 commit comments