Add delays between tests

Introduce automatic delay between test executions in the test runner to prevent rate limiting. Added a delayBetweenTests config (default 2.5s), a delay() helper, and updated runSuite to wait between tests. This helps avoid "Too many submissions in a short time" errors during test runs.
This commit is contained in:
gpt-engineer-app[bot]
2025-11-10 17:33:43 +00:00
parent ade1810a01
commit f7f22f4817

View File

@@ -51,9 +51,18 @@ export class IntegrationTestRunner {
private isRunning = false;
private shouldStop = false;
private onProgress?: (result: TestResult) => void;
private delayBetweenTests: number;
constructor(onProgress?: (result: TestResult) => void) {
constructor(onProgress?: (result: TestResult) => void, delayBetweenTests: number = 2500) {
this.onProgress = onProgress;
this.delayBetweenTests = delayBetweenTests; // Default 2.5 seconds to prevent rate limiting
}
/**
* Wait for specified milliseconds (for rate limiting prevention)
*/
private async delay(ms: number): Promise<void> {
return new Promise(resolve => setTimeout(resolve, ms));
}
/**
@@ -123,13 +132,19 @@ export class IntegrationTestRunner {
async runSuite(suite: TestSuite): Promise<TestResult[]> {
const suiteResults: TestResult[] = [];
for (const test of suite.tests) {
for (let i = 0; i < suite.tests.length; i++) {
const test = suite.tests[i];
const result = await this.runTest(test, suite.name);
suiteResults.push(result);
if (this.shouldStop) {
break;
}
// Add delay between tests to prevent rate limiting (except after the last test)
if (i < suite.tests.length - 1 && this.delayBetweenTests > 0) {
await this.delay(this.delayBetweenTests);
}
}
return suiteResults;