@@ -275,3 +275,102 @@ func TestE2E_IgnoresWarnings(t *testing.T) {
275
275
)
276
276
golden .Assert (t , out , "e2e/expected/" + t .Name ())
277
277
}
278
+
279
+ func TestE2E_StdinNoError (t * testing.T ) {
280
+ t .Setenv ("GITHUB_ACTIONS" , "no" )
281
+
282
+ flags , opts := setupFlags ("gotestsum" )
283
+ args := []string {
284
+ "--stdin" ,
285
+ "--format=testname" ,
286
+ }
287
+ assert .NilError (t , flags .Parse (args ))
288
+ opts .args = flags .Args ()
289
+
290
+ bufStdout := new (bytes.Buffer )
291
+ opts .stdout = bufStdout
292
+ bufStderr := new (bytes.Buffer )
293
+ opts .stderr = bufStderr
294
+
295
+ opts .stdin = strings .NewReader (`{"Time":"2024-06-16T14:46:00.343974039+02:00","Action":"start","Package":"example.com/test"}
296
+ {"Time":"2024-06-16T14:46:00.378597503+02:00","Action":"run","Package":"example.com/test","Test":"TestSomething"}
297
+ {"Time":"2024-06-16T14:46:00.378798569+02:00","Action":"pass","Package":"example.com/test","Test":"TestSomething","Elapsed":0}
298
+ {"Time":"2024-06-16T14:46:00.404809796+02:00","Action":"pass","Package":"example.com/test","Elapsed":0.061}
299
+ ` )
300
+
301
+ err := run (opts )
302
+ assert .NilError (t , err )
303
+ out := text .ProcessLines (t , bufStdout ,
304
+ text .OpRemoveSummaryLineElapsedTime ,
305
+ text .OpRemoveTestElapsedTime ,
306
+ filepath .ToSlash , // for windows
307
+ )
308
+ golden .Assert (t , out , "e2e/expected/" + t .Name ())
309
+ }
310
+
311
+ func TestE2E_StdinFailure (t * testing.T ) {
312
+ t .Setenv ("GITHUB_ACTIONS" , "no" )
313
+
314
+ flags , opts := setupFlags ("gotestsum" )
315
+ args := []string {
316
+ "--stdin" ,
317
+ "--format=testname" ,
318
+ }
319
+ assert .NilError (t , flags .Parse (args ))
320
+ opts .args = flags .Args ()
321
+
322
+ bufStdout := new (bytes.Buffer )
323
+ opts .stdout = bufStdout
324
+ bufStderr := new (bytes.Buffer )
325
+ opts .stderr = bufStderr
326
+
327
+ opts .stdin = strings .NewReader (`{"Time":"2024-06-16T14:46:00.343974039+02:00","Action":"start","Package":"example.com/test"}
328
+ {"Time":"2024-06-16T14:46:00.378597503+02:00","Action":"run","Package":"example.com/test","Test":"TestSomething"}
329
+ {"Time":"2024-06-16T14:46:00.378798569+02:00","Action":"fail","Package":"example.com/test","Test":"TestSomething","Elapsed":0}
330
+ {"Time":"2024-06-16T14:46:00.404809796+02:00","Action":"pass","Package":"example.com/test","Elapsed":0.061}
331
+ ` )
332
+
333
+ err := run (opts )
334
+ assert .NilError (t , err )
335
+ out := text .ProcessLines (t , bufStdout ,
336
+ text .OpRemoveSummaryLineElapsedTime ,
337
+ text .OpRemoveTestElapsedTime ,
338
+ filepath .ToSlash , // for windows
339
+ )
340
+ golden .Assert (t , out , "e2e/expected/" + t .Name ())
341
+ }
342
+
343
+ func TestE2E_StdinStderr (t * testing.T ) {
344
+ t .Setenv ("GITHUB_ACTIONS" , "no" )
345
+
346
+ flags , opts := setupFlags ("gotestsum" )
347
+ args := []string {
348
+ "--stdin" ,
349
+ "--stderr=3" ,
350
+ "--format=testname" ,
351
+ }
352
+ assert .NilError (t , flags .Parse (args ))
353
+ opts .args = flags .Args ()
354
+
355
+ bufStdout := new (bytes.Buffer )
356
+ opts .stdout = bufStdout
357
+ bufStderr := new (bytes.Buffer )
358
+ opts .stderr = bufStderr
359
+
360
+ opts .stdin = strings .NewReader (`{"Time":"2024-06-16T14:46:00.343974039+02:00","Action":"start","Package":"example.com/test"}
361
+ {"Time":"2024-06-16T14:46:00.378597503+02:00","Action":"run","Package":"example.com/test","Test":"TestSomething"}
362
+ {"Time":"2024-06-16T14:46:00.378798569+02:00","Action":"pass","Package":"example.com/test","Test":"TestSomething","Elapsed":0}
363
+ {"Time":"2024-06-16T14:46:00.404809796+02:00","Action":"pass","Package":"example.com/test","Elapsed":0.061}
364
+ ` )
365
+
366
+ opts .fd3 = strings .NewReader (`build failure` )
367
+
368
+ err := run (opts )
369
+ assert .NilError (t , err )
370
+ out := text .ProcessLines (t , bufStdout ,
371
+ text .OpRemoveSummaryLineElapsedTime ,
372
+ text .OpRemoveTestElapsedTime ,
373
+ filepath .ToSlash , // for windows
374
+ )
375
+ golden .Assert (t , out , "e2e/expected/" + t .Name ())
376
+ }
0 commit comments