Skip to content

Commit c35e35d

Browse files
authored
fix(test): remove sync.Map iteration order dependency in TestUpdateModelReplicaMetrics (#2499)
Go's sync.Map.Range iteration order is unspecified, so the test flaked whenever the decode pod was visited before the prefill pod. Index the emitted metrics by pod name and assert per-pod instead of by slice position. Fixes #2497 Signed-off-by: varungupta <varungup90@gmail.com>
1 parent c2c564c commit c35e35d

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

pkg/cache/cache_metrics_test.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -480,11 +480,14 @@ func TestUpdateModelReplicaMetrics(t *testing.T) {
480480

481481
store.updateModelReplicaMetrics()
482482
require.Len(t, emitted, 2)
483-
require.Equal(t, "prefill", emitted[0]["role"])
484-
require.Equal(t, "qwen3-8B", emitted[0]["model_name"])
485-
require.Equal(t, "prefill-0", emitted[0]["pod"])
486-
require.Equal(t, "decode", emitted[1]["role"])
487-
require.Equal(t, "decode-0", emitted[1]["pod"])
483+
byPod := make(map[string]map[string]string, len(emitted))
484+
for _, labels := range emitted {
485+
byPod[labels["pod"]] = labels
486+
}
487+
require.Equal(t, "prefill", byPod["prefill-0"]["role"])
488+
require.Equal(t, "qwen3-8B", byPod["prefill-0"]["model_name"])
489+
require.Equal(t, "decode", byPod["decode-0"]["role"])
490+
require.Equal(t, "qwen3-8B", byPod["decode-0"]["model_name"])
488491
require.Equal(t, 2, store.modelReplicaEmitted.Len())
489492

490493
store.metaPods.Delete("default/prefill-0")

0 commit comments

Comments
 (0)