Skip to content

Commit a390c95

Browse files
test(e2e): addressing flaky tests (#45)
Co-authored-by: Elliott de Launay <edelauna@gmail.com>
1 parent 8d92e63 commit a390c95

2 files changed

Lines changed: 20 additions & 4 deletions

File tree

apps/vscode-e2e/src/suite/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,16 @@ export async function run() {
7979
throw new Error(`No test files found matching criteria: ${process.env.TEST_FILE || "all tests"}`)
8080
}
8181

82+
// Run provider suites last so their teardown (which may leave per-mode profile
83+
// pins pointing at non-default providers) doesn't affect tool suites that start
84+
// tasks in specific modes and expect the default openrouter config.
85+
testFiles.sort((a, b) => {
86+
const aIsProvider = a.includes("/providers/")
87+
const bIsProvider = b.includes("/providers/")
88+
if (aIsProvider === bIsProvider) return a.localeCompare(b)
89+
return aIsProvider ? 1 : -1
90+
})
91+
8292
testFiles.forEach((testFile) => mocha.addFile(path.resolve(cwd, testFile)))
8393

8494
return new Promise<void>((resolve, reject) =>

apps/vscode-e2e/src/suite/providers/zai.test.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ suite("Z.ai GLM provider", function () {
219219
})
220220

221221
await waitUntilCompleted({ api, taskId })
222+
const capturedMaxTokens = requestCapture.maxTokens
222223

223224
const completionMessage = messages.find(
224225
({ say, text }) => (say === "completion_result" || say === "text") && text?.trim() === "4",
@@ -228,10 +229,12 @@ suite("Z.ai GLM provider", function () {
228229

229230
// Verify max_tokens uses the restored default clamp (20% of context window)
230231
// unless the user explicitly overrides it via modelMaxTokens.
232+
// Snapshot immediately after waitUntilCompleted to avoid straggling async calls
233+
// from this task overwriting requestCapture before the assertion runs.
231234
assert.strictEqual(
232-
requestCapture.maxTokens,
235+
capturedMaxTokens,
233236
40_000,
234-
`max_tokens should default to the glm-5.1 clamp (40_000) but was ${requestCapture.maxTokens}`,
237+
`max_tokens should default to the glm-5.1 clamp (40_000) but was ${capturedMaxTokens}`,
235238
)
236239
})
237240

@@ -260,6 +263,7 @@ suite("Z.ai GLM provider", function () {
260263
})
261264

262265
await waitUntilCompleted({ api, taskId })
266+
const capturedMaxTokens = requestCapture.maxTokens
263267

264268
const completionMessage = messages.find(
265269
({ say, text }) => (say === "completion_result" || say === "text") && text?.trim() === "4",
@@ -269,10 +273,12 @@ suite("Z.ai GLM provider", function () {
269273

270274
// Verify max_tokens uses the restored default clamp (20% of context window)
271275
// unless the user explicitly overrides it via modelMaxTokens.
276+
// Snapshot immediately after waitUntilCompleted to avoid straggling async calls
277+
// from the prior test overwriting requestCapture before this assertion runs.
272278
assert.strictEqual(
273-
requestCapture.maxTokens,
279+
capturedMaxTokens,
274280
40_551,
275-
`max_tokens should default to the glm-5-turbo clamp (40_551) but was ${requestCapture.maxTokens}`,
281+
`max_tokens should default to the glm-5-turbo clamp (40_551) but was ${capturedMaxTokens}`,
276282
)
277283
})
278284
})

0 commit comments

Comments
 (0)