@@ -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 ))
0 commit comments