@@ -5,11 +5,13 @@ import (
5
5
"testing"
6
6
7
7
"github.com/stretchr/testify/assert"
8
+ "github.com/stretchr/testify/require"
8
9
9
10
"cdr.dev/slog/sloggers/slogtest"
10
11
"github.com/coder/coder/agent"
11
12
"github.com/coder/coder/cli/clitest"
12
13
"github.com/coder/coder/coderd/coderdtest"
14
+ "github.com/coder/coder/codersdk"
13
15
"github.com/coder/coder/codersdk/agentsdk"
14
16
"github.com/coder/coder/pty/ptytest"
15
17
"github.com/coder/coder/testutil"
@@ -30,13 +32,27 @@ func TestSpeedtest(t *testing.T) {
30
32
defer agentCloser .Close ()
31
33
coderdtest .AwaitWorkspaceAgents (t , client , workspace .ID )
32
34
35
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
36
+ defer cancel ()
37
+
38
+ require .Eventually (t , func () bool {
39
+ ws , err := client .Workspace (ctx , workspace .ID )
40
+ if ! assert .NoError (t , err ) {
41
+ return false
42
+ }
43
+ a := ws .LatestBuild .Resources [0 ].Agents [0 ]
44
+ return a .Status == codersdk .WorkspaceAgentConnected &&
45
+ a .LifecycleState == codersdk .WorkspaceAgentLifecycleReady
46
+ }, testutil .WaitLong , testutil .IntervalFast , "agent is not ready" )
47
+
33
48
cmd , root := clitest .New (t , "speedtest" , workspace .Name )
34
49
clitest .SetupConfig (t , client , root )
35
50
pty := ptytest .New (t )
36
51
cmd .SetOut (pty .Output ())
37
52
38
- ctx , cancel : = context .WithTimeout (context .Background (), testutil .WaitLong )
53
+ ctx , cancel = context .WithTimeout (context .Background (), testutil .WaitLong )
39
54
defer cancel ()
55
+
40
56
cmdDone := tGo (t , func () {
41
57
err := cmd .ExecuteContext (ctx )
42
58
assert .NoError (t , err )
0 commit comments