@@ -35,7 +35,7 @@ func TestDockerJSON(t *testing.T) {
3535 partial bool
3636 format string
3737 criflags bool
38- expectedError bool
38+ expectedError error
3939 expectedMessage reader.Message
4040 }{
4141 {
@@ -53,7 +53,7 @@ func TestDockerJSON(t *testing.T) {
5353 name : "Wrong JSON" ,
5454 input : [][]byte {[]byte (`this is not JSON` )},
5555 stream : "all" ,
56- expectedError : true ,
56+ expectedError : reader . ErrLineUnparsable ,
5757 expectedMessage : reader.Message {
5858 Bytes : 16 ,
5959 },
@@ -62,7 +62,7 @@ func TestDockerJSON(t *testing.T) {
6262 name : "Wrong CRI" ,
6363 input : [][]byte {[]byte (`2017-09-12T22:32:21.212861448Z stdout` )},
6464 stream : "all" ,
65- expectedError : true ,
65+ expectedError : reader . ErrLineUnparsable ,
6666 expectedMessage : reader.Message {
6767 Bytes : 37 ,
6868 },
@@ -71,7 +71,7 @@ func TestDockerJSON(t *testing.T) {
7171 name : "Wrong CRI" ,
7272 input : [][]byte {[]byte (`{this is not JSON nor CRI` )},
7373 stream : "all" ,
74- expectedError : true ,
74+ expectedError : reader . ErrLineUnparsable ,
7575 expectedMessage : reader.Message {
7676 Bytes : 25 ,
7777 },
@@ -80,7 +80,7 @@ func TestDockerJSON(t *testing.T) {
8080 name : "Missing time" ,
8181 input : [][]byte {[]byte (`{"log":"1:M 09 Nov 13:27:36.276 # User requested shutdown...\n","stream":"stdout"}` )},
8282 stream : "all" ,
83- expectedError : true ,
83+ expectedError : reader . ErrLineUnparsable ,
8484 expectedMessage : reader.Message {
8585 Bytes : 82 ,
8686 },
@@ -207,7 +207,7 @@ func TestDockerJSON(t *testing.T) {
207207 input : [][]byte {[]byte (`{"log":"1:M 09 Nov 13:27:36.276 # User requested shutdown...\n","stream":"stdout"}` )},
208208 stream : "all" ,
209209 format : "cri" ,
210- expectedError : true ,
210+ expectedError : reader . ErrLineUnparsable ,
211211 expectedMessage : reader.Message {
212212 Bytes : 82 ,
213213 },
@@ -217,7 +217,7 @@ func TestDockerJSON(t *testing.T) {
217217 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` )},
218218 stream : "all" ,
219219 format : "docker" ,
220- expectedError : true ,
220+ expectedError : reader . ErrLineUnparsable ,
221221 expectedMessage : reader.Message {
222222 Bytes : 115 ,
223223 },
@@ -289,12 +289,21 @@ func TestDockerJSON(t *testing.T) {
289289 []byte (`{"log":"shutdown...\n","stream` ),
290290 },
291291 stream : "stdout" ,
292- expectedError : true ,
292+ expectedError : reader . ErrLineUnparsable ,
293293 expectedMessage : reader.Message {
294294 Bytes : 139 ,
295295 },
296296 partial : true ,
297297 },
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+ },
298307 }
299308
300309 for _ , test := range tests {
@@ -303,8 +312,9 @@ func TestDockerJSON(t *testing.T) {
303312 json := New (r , test .stream , test .partial , test .format , test .criflags )
304313 message , err := json .Next ()
305314
306- if test .expectedError {
315+ if test .expectedError != nil {
307316 assert .Error (t , err )
317+ assert .Equal (t , test .expectedError , err )
308318 } else {
309319 assert .NoError (t , err )
310320 }
0 commit comments