@@ -1290,10 +1290,10 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
1290
1290
return nil
1291
1291
}
1292
1292
1293
- check := func (want codersdk.WorkspaceAgentMetadataResult , got codersdk.WorkspaceAgentMetadata ) {
1293
+ check := func (want codersdk.WorkspaceAgentMetadataResult , got codersdk.WorkspaceAgentMetadata , retry bool ) {
1294
1294
// We can't trust the order of the updates due to timers and debounces,
1295
- // so let's check a few times once more.
1296
- for i := 0 ; i < 2 && (want .Value != got .Result .Value || want .Error != got .Result .Error ); i ++ {
1295
+ // so let's check a few times more.
1296
+ for i := 0 ; retry && i < 2 && (want .Value != got .Result .Value || want .Error != got .Result .Error ); i ++ {
1297
1297
update = recvUpdate ()
1298
1298
for _ , m := range update {
1299
1299
if m .Description .Key == got .Description .Key {
@@ -1311,22 +1311,22 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
1311
1311
1312
1312
update = recvUpdate ()
1313
1313
require .Len (t , update , 3 )
1314
- check (wantMetadata1 , update [0 ])
1314
+ check (wantMetadata1 , update [0 ], false )
1315
1315
// The second metadata result is not yet posted.
1316
1316
require .Zero (t , update [1 ].Result .CollectedAt )
1317
1317
1318
1318
wantMetadata2 := wantMetadata1
1319
1319
post ("foo2" , wantMetadata2 )
1320
1320
update = recvUpdate ()
1321
1321
require .Len (t , update , 3 )
1322
- check (wantMetadata1 , update [0 ])
1323
- check (wantMetadata2 , update [1 ])
1322
+ check (wantMetadata1 , update [0 ], true )
1323
+ check (wantMetadata2 , update [1 ], true )
1324
1324
1325
1325
wantMetadata1 .Error = "error"
1326
1326
post ("foo1" , wantMetadata1 )
1327
1327
update = recvUpdate ()
1328
1328
require .Len (t , update , 3 )
1329
- check (wantMetadata1 , update [0 ])
1329
+ check (wantMetadata1 , update [0 ], true )
1330
1330
1331
1331
const maxValueLen = 32 << 10
1332
1332
tooLongValueMetadata := wantMetadata1
@@ -1335,7 +1335,7 @@ func TestWorkspaceAgent_Metadata(t *testing.T) {
1335
1335
tooLongValueMetadata .CollectedAt = time .Now ()
1336
1336
post ("foo3" , tooLongValueMetadata )
1337
1337
got := recvUpdate ()[2 ]
1338
- for len (got .Result .Value ) != maxValueLen {
1338
+ for i := 0 ; i < 2 && len (got .Result .Value ) != maxValueLen ; i ++ {
1339
1339
got = recvUpdate ()[2 ]
1340
1340
}
1341
1341
require .Len (t , got .Result .Value , maxValueLen )
0 commit comments