@@ -413,8 +413,9 @@ func TestSSHServer_ClosesStdin(t *testing.T) {
413
413
414
414
ctx := testutil .Context (t ,testutil .WaitMedium )
415
415
logger := testutil .Logger (t )
416
- s ,err := agentssh .NewServer (ctx ,logger ,prometheus .NewRegistry (),afero .NewMemMapFs (),agentexec .DefaultExecer ,nil )
416
+ s ,err := agentssh .NewServer (ctx ,logger . Named ( "ssh-server" ) ,prometheus .NewRegistry (),afero .NewMemMapFs (),agentexec .DefaultExecer ,nil )
417
417
require .NoError (t ,err )
418
+ logger = logger .Named ("test" )
418
419
defer s .Close ()
419
420
err = s .UpdateHostSigner (42 )
420
421
assert .NoError (t ,err )
@@ -469,12 +470,22 @@ func TestSSHServer_ClosesStdin(t *testing.T) {
469
470
err = testutil .RequireReceive (ctx ,t ,readCh )
470
471
require .NoError (t ,err )
471
472
472
- sess .Close ()
473
+ err = sess .Close ()
474
+ require .NoError (t ,err )
473
475
474
476
var content []byte
477
+ expected := []byte ("read exit code: 1\n " )
475
478
testutil .Eventually (ctx ,t ,func (_ context.Context )bool {
476
479
content ,err = os .ReadFile (filePath )
477
- return err == nil
480
+ if err != nil {
481
+ logger .Debug (ctx ,"failed to read file; will retry" ,slog .Error (err ))
482
+ return false
483
+ }
484
+ if len (content )!= len (expected ) {
485
+ logger .Debug (ctx ,"file is partially written" ,slog .F ("content" ,content ))
486
+ return false
487
+ }
488
+ return true
478
489
},testutil .IntervalFast )
479
490
require .NoError (t ,err )
480
491
require .Equal (t ,"read exit code: 1\n " ,string (content ))