Skip to content

Commit 0f1d8d9

Browse files
committed
test
1 parent bb825f2 commit 0f1d8d9

File tree

1 file changed

+35
-12
lines changed

1 file changed

+35
-12
lines changed

testing/09-valid-json/main.go

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"encoding/json"
45
"fmt"
56
"io"
67
"log"
@@ -10,25 +11,47 @@ import (
1011
)
1112

1213
func main() {
14+
1315
jsonFilepaths := getJsonFilePaths()
1416
fmt.Printf("file=%v, and the type is %T\n", jsonFilepaths, jsonFilepaths)
1517

18+
var failure int
19+
1620
for _, f := range jsonFilepaths {
17-
fh, err := os.Open(f)
18-
if err != nil {
19-
log.Printf("error: failed to open file for reading: %v\n", err)
20-
os.Exit(1)
21-
}
22-
// Remember to close the file!
21+
func() {
22+
fh, err := os.Open(f)
23+
if err != nil {
24+
log.Printf("error: failed to open file for reading: %v\n", err)
25+
os.Exit(1)
26+
}
27+
defer fh.Close()
28+
29+
js, err := io.ReadAll(fh)
30+
if err != nil {
31+
log.Printf("error: failed to read file: %v\n", err)
32+
os.Exit(1)
33+
}
2334

24-
js, err := io.ReadAll(fh)
25-
if err != nil {
26-
log.Printf("error: failed to read file: %v\n", err)
27-
os.Exit(1)
28-
}
35+
fmt.Printf(" * Content of file %v : %v\n", f, string(js))
2936

30-
fmt.Printf(" * Content of file %v : %v\n", f, string(js))
37+
var data map[string]any
38+
39+
if len(js) < 1 {
40+
fmt.Printf(" * the file %v was empty: ", f)
41+
return
42+
}
43+
44+
err = json.Unmarshal(js, &data)
45+
if err != nil {
46+
log.Printf("error: for file %v, failed to unmarshal data: %v\n", f, err)
47+
failure = 1
48+
}
49+
}()
50+
51+
}
3152

53+
if failure != 0 {
54+
os.Exit(failure)
3255
}
3356

3457
}

0 commit comments

Comments
 (0)