@@ -61,7 +61,7 @@ func TestAgent(t *testing.T) {
61
61
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
62
62
defer cancel ()
63
63
64
- conn , stats := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
64
+ conn , stats , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
65
65
66
66
sshClient , err := conn .SSHClient (ctx )
67
67
require .NoError (t , err )
@@ -81,7 +81,7 @@ func TestAgent(t *testing.T) {
81
81
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
82
82
defer cancel ()
83
83
84
- conn , stats := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
84
+ conn , stats , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
85
85
86
86
ptyConn , err := conn .ReconnectingPTY (ctx , uuid .NewString (), 128 , 128 , "/bin/bash" )
87
87
require .NoError (t , err )
@@ -231,7 +231,7 @@ func TestAgent(t *testing.T) {
231
231
if runtime .GOOS == "windows" {
232
232
home = "/" + strings .ReplaceAll (home , "\\ " , "/" )
233
233
}
234
- conn , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
234
+ conn , _ , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
235
235
sshClient , err := conn .SSHClient (ctx )
236
236
require .NoError (t , err )
237
237
defer sshClient .Close ()
@@ -261,7 +261,7 @@ func TestAgent(t *testing.T) {
261
261
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
262
262
defer cancel ()
263
263
264
- conn , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
264
+ conn , _ , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
265
265
sshClient , err := conn .SSHClient (ctx )
266
266
require .NoError (t , err )
267
267
defer sshClient .Close ()
@@ -362,13 +362,13 @@ func TestAgent(t *testing.T) {
362
362
t .Parallel ()
363
363
tempPath := filepath .Join (t .TempDir (), "content.txt" )
364
364
content := "somethingnice"
365
- setupAgent (t , codersdk.WorkspaceAgentMetadata {
365
+ _ , _ , fs := setupAgent (t , codersdk.WorkspaceAgentMetadata {
366
366
StartupScript : fmt .Sprintf ("echo %s> %s" , content , tempPath ),
367
367
}, 0 )
368
368
369
369
var gotContent string
370
370
require .Eventually (t , func () bool {
371
- content , err := os .ReadFile (tempPath )
371
+ content , err := afero .ReadFile (fs , tempPath )
372
372
if err != nil {
373
373
t .Logf ("read file %q: %s" , tempPath , err )
374
374
return false
@@ -402,7 +402,7 @@ func TestAgent(t *testing.T) {
402
402
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
403
403
defer cancel ()
404
404
405
- conn , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
405
+ conn , _ , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
406
406
id := uuid .NewString ()
407
407
netConn , err := conn .ReconnectingPTY (ctx , id , 100 , 100 , "/bin/bash" )
408
408
require .NoError (t , err )
@@ -499,7 +499,7 @@ func TestAgent(t *testing.T) {
499
499
}
500
500
}()
501
501
502
- conn , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
502
+ conn , _ , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
503
503
require .True (t , conn .AwaitReachable (context .Background ()))
504
504
conn1 , err := conn .DialContext (context .Background (), l .Addr ().Network (), l .Addr ().String ())
505
505
require .NoError (t , err )
@@ -520,7 +520,7 @@ func TestAgent(t *testing.T) {
520
520
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
521
521
defer cancel ()
522
522
derpMap := tailnettest .RunDERPAndSTUN (t )
523
- conn , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {
523
+ conn , _ , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {
524
524
DERPMap : derpMap ,
525
525
}, 0 )
526
526
defer conn .Close ()
@@ -603,7 +603,7 @@ func TestAgent(t *testing.T) {
603
603
}
604
604
605
605
func setupSSHCommand (t * testing.T , beforeArgs []string , afterArgs []string ) * exec.Cmd {
606
- agentConn , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
606
+ agentConn , _ , _ := setupAgent (t , codersdk.WorkspaceAgentMetadata {}, 0 )
607
607
listener , err := net .Listen ("tcp" , "127.0.0.1:0" )
608
608
require .NoError (t , err )
609
609
waitGroup := sync.WaitGroup {}
@@ -646,7 +646,7 @@ func setupSSHCommand(t *testing.T, beforeArgs []string, afterArgs []string) *exe
646
646
func setupSSHSession (t * testing.T , options codersdk.WorkspaceAgentMetadata ) * ssh.Session {
647
647
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
648
648
defer cancel ()
649
- conn , _ := setupAgent (t , options , 0 )
649
+ conn , _ , _ := setupAgent (t , options , 0 )
650
650
sshClient , err := conn .SSHClient (ctx )
651
651
require .NoError (t , err )
652
652
t .Cleanup (func () {
@@ -666,13 +666,15 @@ func (c closeFunc) Close() error {
666
666
func setupAgent (t * testing.T , metadata codersdk.WorkspaceAgentMetadata , ptyTimeout time.Duration ) (
667
667
* codersdk.AgentConn ,
668
668
<- chan * codersdk.AgentStats ,
669
+ afero.Fs ,
669
670
) {
670
671
if metadata .DERPMap == nil {
671
672
metadata .DERPMap = tailnettest .RunDERPAndSTUN (t )
672
673
}
673
674
coordinator := tailnet .NewCoordinator ()
674
675
agentID := uuid .New ()
675
676
statsCh := make (chan * codersdk.AgentStats )
677
+ fs := afero .NewMemMapFs ()
676
678
closer := agent .New (agent.Options {
677
679
Client : & client {
678
680
t : t ,
@@ -681,7 +683,7 @@ func setupAgent(t *testing.T, metadata codersdk.WorkspaceAgentMetadata, ptyTimeo
681
683
statsChan : statsCh ,
682
684
coordinator : coordinator ,
683
685
},
684
- Filesystem : afero . NewMemMapFs () ,
686
+ Filesystem : fs ,
685
687
Logger : slogtest .Make (t , nil ).Leveled (slog .LevelDebug ),
686
688
ReconnectingPTYTimeout : ptyTimeout ,
687
689
})
@@ -707,7 +709,7 @@ func setupAgent(t *testing.T, metadata codersdk.WorkspaceAgentMetadata, ptyTimeo
707
709
conn .SetNodeCallback (sendNode )
708
710
return & codersdk.AgentConn {
709
711
Conn : conn ,
710
- }, statsCh
712
+ }, statsCh , fs
711
713
}
712
714
713
715
var dialTestPayload = []byte ("dean-was-here123" )
0 commit comments