File tree 1 file changed +20
-3
lines changed
1 file changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -325,9 +325,26 @@ impl<T: Write> OutputFormatter for JsonFormatter<T> {
325
325
self . write_str ( & * format ! ( "\t \t \" filtered_out\" : {}\n " , state. filtered_out) ) ?;
326
326
} else {
327
327
self . write_str ( & * format ! ( "\t \t \" filtered_out\" : {},\n " , state. filtered_out) ) ?;
328
- self . write_str ( "\t \t \" failures\" : [" ) ?;
329
-
330
- self . write_str ( "\t \t ]\n " ) ?;
328
+ self . write_str ( "\t \t \" failures\" : [\n " ) ?;
329
+
330
+ let mut has_items = false ;
331
+ for & ( ref f, ref stdout) in & state. failures {
332
+ if !stdout. is_empty ( ) {
333
+ if has_items {
334
+ self . write_str ( ",\n " ) ?;
335
+ } else {
336
+ has_items = true ;
337
+ }
338
+
339
+ let output = String :: from_utf8_lossy ( stdout)
340
+ . replace ( "\\ " , "\\ \\ " )
341
+ . replace ( "\" " , "\\ \" " ) ;
342
+
343
+ self . write_str ( & * format ! ( "\t \t \t \" {}\" : \" {}\" " , f. name, output) ) ?;
344
+ }
345
+ }
346
+
347
+ self . write_str ( "\n \t \t ]\n " ) ?;
331
348
}
332
349
333
350
self . write_str ( "\t }\n }\n " ) ?;
You can’t perform that action at this time.
0 commit comments