Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd9b224a

Browse files
committed
fix test
1 parent638402a commitd9b224a

File tree

1 file changed

+41
-22
lines changed

1 file changed

+41
-22
lines changed

‎agent/agentcontainers/api_test.go

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,26 +1347,54 @@ func TestAPI(t *testing.T) {
13471347
}
13481348
returnerrTestTermination
13491349
})
1350-
<-terminated
1350+
testutil.RequireReceive(ctx,t,terminated)
13511351

13521352
t.Log("Waiting for agent reinjection...")
13531353

13541354
// Expect the agent to be reinjected.
1355-
mCCLI.EXPECT().List(gomock.Any()).Return(codersdk.WorkspaceAgentListContainersResponse{
1356-
Containers: []codersdk.WorkspaceAgentContainer{testContainer},
1357-
},nil).Times(1)// 1 update.
13581355
gomock.InOrder(
13591356
mCCLI.EXPECT().DetectArchitecture(gomock.Any(),"test-container-id").Return(runtime.GOARCH,nil),
13601357
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","mkdir","-p","/.coder-agent").Return(nil,nil),
13611358
mCCLI.EXPECT().Copy(gomock.Any(),"test-container-id",coderBin,"/.coder-agent/coder").Return(nil),
13621359
mCCLI.EXPECT().ExecAs(gomock.Any(),"test-container-id","root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
13631360
)
13641361

1365-
// Agent reinjection will succeed and we will not re-create the
1366-
// agent, nor re-probe pwd.
1367-
err=api.RefreshContainers(ctx)
1368-
require.NoError(t,err,"refresh containers should not fail")
1369-
t.Logf("Agents created: %d, deleted: %d",len(fakeSAC.created),len(fakeSAC.deleted))
1362+
// Verify that the agent has started.
1363+
agentStarted:=make(chanstruct{})
1364+
continueTerminate:=make(chanstruct{})
1365+
terminated=make(chanstruct{})
1366+
testutil.RequireSend(ctx,t,fakeDCCLI.execErrC,func(_string,args...string)error {
1367+
deferclose(terminated)
1368+
iflen(args)>0 {
1369+
assert.Equal(t,"agent",args[0])
1370+
}else {
1371+
assert.Fail(t,`want "agent" command argument`)
1372+
}
1373+
close(agentStarted)
1374+
<-continueTerminate
1375+
returnerrTestTermination
1376+
})
1377+
1378+
WaitStartLoop:
1379+
for {
1380+
// Agent reinjection will succeed and we will not re-create the
1381+
// agent, nor re-probe pwd.
1382+
mCCLI.EXPECT().List(gomock.Any()).Return(codersdk.WorkspaceAgentListContainersResponse{
1383+
Containers: []codersdk.WorkspaceAgentContainer{testContainer},
1384+
},nil).Times(1)// 1 update.
1385+
err=api.RefreshContainers(ctx)
1386+
require.NoError(t,err,"refresh containers should not fail")
1387+
1388+
t.Logf("Agents created: %d, deleted: %d",len(fakeSAC.created),len(fakeSAC.deleted))
1389+
1390+
select {
1391+
case<-agentStarted:
1392+
break WaitStartLoop
1393+
case<-ctx.Done():
1394+
t.Fatal("timeout waiting for agent to start")
1395+
default:
1396+
}
1397+
}
13701398

13711399
// Verify that the agent was reused.
13721400
require.Len(t,fakeSAC.created,1)
@@ -1387,19 +1415,6 @@ func TestAPI(t *testing.T) {
13871415
mCCLI.EXPECT().ExecAs(gomock.Any(),"new-test-container-id","root","chmod","0755","/.coder-agent","/.coder-agent/coder").Return(nil,nil),
13881416
)
13891417

1390-
// Terminate the agent and verify it can be reinjected.
1391-
terminated=make(chanstruct{})
1392-
testutil.RequireSend(ctx,t,fakeDCCLI.execErrC,func(_string,args...string)error {
1393-
deferclose(terminated)
1394-
iflen(args)>0 {
1395-
assert.Equal(t,"agent",args[0])
1396-
}else {
1397-
assert.Fail(t,`want "agent" command argument`)
1398-
}
1399-
returnerrTestTermination
1400-
})
1401-
<-terminated
1402-
14031418
fakeDCCLI.readConfig.MergedConfiguration.Customizations.Coder= []agentcontainers.CoderCustomization{
14041419
{
14051420
DisplayApps:map[codersdk.DisplayApp]bool{
@@ -1412,6 +1427,10 @@ func TestAPI(t *testing.T) {
14121427
},
14131428
}
14141429

1430+
// Terminate the running agent.
1431+
close(continueTerminate)
1432+
testutil.RequireReceive(ctx,t,terminated)
1433+
14151434
// Simulate the agent deletion (this happens because the
14161435
// devcontainer configuration changed).
14171436
testutil.RequireSend(ctx,t,fakeSAC.deleteErrC,nil)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp