@@ -35,7 +35,7 @@ func TestDockerJSON(t *testing.T) {
35
35
partial bool
36
36
format string
37
37
criflags bool
38
- expectedError bool
38
+ expectedError error
39
39
expectedMessage reader.Message
40
40
}{
41
41
{
@@ -53,7 +53,7 @@ func TestDockerJSON(t *testing.T) {
53
53
name : "Wrong JSON" ,
54
54
input : [][]byte {[]byte (`this is not JSON` )},
55
55
stream : "all" ,
56
- expectedError : true ,
56
+ expectedError : reader . ErrLineUnparsable ,
57
57
expectedMessage : reader.Message {
58
58
Bytes : 16 ,
59
59
},
@@ -62,7 +62,7 @@ func TestDockerJSON(t *testing.T) {
62
62
name : "Wrong CRI" ,
63
63
input : [][]byte {[]byte (`2017-09-12T22:32:21.212861448Z stdout` )},
64
64
stream : "all" ,
65
- expectedError : true ,
65
+ expectedError : reader . ErrLineUnparsable ,
66
66
expectedMessage : reader.Message {
67
67
Bytes : 37 ,
68
68
},
@@ -71,7 +71,7 @@ func TestDockerJSON(t *testing.T) {
71
71
name : "Wrong CRI" ,
72
72
input : [][]byte {[]byte (`{this is not JSON nor CRI` )},
73
73
stream : "all" ,
74
- expectedError : true ,
74
+ expectedError : reader . ErrLineUnparsable ,
75
75
expectedMessage : reader.Message {
76
76
Bytes : 25 ,
77
77
},
@@ -80,7 +80,7 @@ func TestDockerJSON(t *testing.T) {
80
80
name : "Missing time" ,
81
81
input : [][]byte {[]byte (`{"log":"1:M 09 Nov 13:27:36.276 # User requested shutdown...\n","stream":"stdout"}` )},
82
82
stream : "all" ,
83
- expectedError : true ,
83
+ expectedError : reader . ErrLineUnparsable ,
84
84
expectedMessage : reader.Message {
85
85
Bytes : 82 ,
86
86
},
@@ -207,7 +207,7 @@ func TestDockerJSON(t *testing.T) {
207
207
input : [][]byte {[]byte (`{"log":"1:M 09 Nov 13:27:36.276 # User requested shutdown...\n","stream":"stdout"}` )},
208
208
stream : "all" ,
209
209
format : "cri" ,
210
- expectedError : true ,
210
+ expectedError : reader . ErrLineUnparsable ,
211
211
expectedMessage : reader.Message {
212
212
Bytes : 82 ,
213
213
},
@@ -217,7 +217,7 @@ func TestDockerJSON(t *testing.T) {
217
217
input : [][]byte {[]byte (`2017-09-12T22:32:21.212861448Z stdout 2017-09-12 22:32:21.212 [INFO][88] table.go 710: Invalidating dataplane cache` )},
218
218
stream : "all" ,
219
219
format : "docker" ,
220
- expectedError : true ,
220
+ expectedError : reader . ErrLineUnparsable ,
221
221
expectedMessage : reader.Message {
222
222
Bytes : 115 ,
223
223
},
@@ -289,12 +289,21 @@ func TestDockerJSON(t *testing.T) {
289
289
[]byte (`{"log":"shutdown...\n","stream` ),
290
290
},
291
291
stream : "stdout" ,
292
- expectedError : true ,
292
+ expectedError : reader . ErrLineUnparsable ,
293
293
expectedMessage : reader.Message {
294
294
Bytes : 139 ,
295
295
},
296
296
partial : true ,
297
297
},
298
+ {
299
+ name : "Corrupted log message line" ,
300
+ input : [][]byte {[]byte (`36.276 # User requested shutdown...\n","stream":"stdout","time":"2017-11-09T13:27:36.277747246Z"}` )},
301
+ stream : "all" ,
302
+ expectedError : reader .ErrLineUnparsable ,
303
+ expectedMessage : reader.Message {
304
+ Bytes : 97 ,
305
+ },
306
+ },
298
307
}
299
308
300
309
for _ , test := range tests {
@@ -303,8 +312,9 @@ func TestDockerJSON(t *testing.T) {
303
312
json := New (r , test .stream , test .partial , test .format , test .criflags )
304
313
message , err := json .Next ()
305
314
306
- if test .expectedError {
315
+ if test .expectedError != nil {
307
316
assert .Error (t , err )
317
+ assert .Equal (t , test .expectedError , err )
308
318
} else {
309
319
assert .NoError (t , err )
310
320
}
0 commit comments