Skip to content

Commit bb02822

Browse files
authored
Store test group information for retries (#16)
1 parent c20e94a commit bb02822

File tree

5 files changed

+18
-18
lines changed

5 files changed

+18
-18
lines changed

javascript/dist/queue/BaseRunner.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,10 +329,10 @@ export declare class BaseRunner {
329329
isExpired(): Promise<boolean>;
330330
maxTestsFailed(): Promise<boolean>;
331331
testFailedCount(): Promise<string | null>;
332-
recordFailedTest(testName: string, testSuite: string): Promise<void>;
332+
recordFailedTest(testName: string, testGroup: string, testSuite: string): Promise<void>;
333333
recordPassingTest(testName: string, testSuite: string): Promise<void>;
334334
getFailedTests(): Promise<string>;
335-
getFailedTestNamesFromPreviousBuild(): Promise<string[]>;
335+
getFailedTestGroupsFromPreviousBuild(): Promise<string[]>;
336336
waitForMaster(): Promise<void>;
337337
getMasterStatus(): Promise<string | null>;
338338
isInitialized(): Promise<boolean>;

javascript/dist/queue/BaseRunner.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ class BaseRunner {
4141
async testFailedCount() {
4242
return await this.client.get(this.key('test_failed_count'));
4343
}
44-
async recordFailedTest(testName, testSuite) {
44+
async recordFailedTest(testName, testGroup, testSuite) {
4545
const fullTestName = `${testName}:${testSuite}`;
46-
const payload = JSON.stringify({ test_name: testName, test_suite: testSuite });
46+
const payload = JSON.stringify({ test_name: testName, test_suite: testSuite, test_group: testGroup });
4747
await this.client.hSet(this.key('error-reports'), Buffer.from(fullTestName).toString('binary'), Buffer.from(payload).toString('binary'));
4848
await this.client.expire(this.key('error-reports'), this.config.redisTTL);
4949
console.log(`[ci-queue] Incrementing failed test count for ${testName}`);
@@ -58,14 +58,14 @@ class BaseRunner {
5858
const failures = Object.values(failedTests).map(test => JSON.parse(test));
5959
return JSON.stringify(failures);
6060
}
61-
async getFailedTestNamesFromPreviousBuild() {
61+
async getFailedTestGroupsFromPreviousBuild() {
6262
const previousBuildId = this.config.retriedBuildId;
6363
if (!previousBuildId) {
6464
return [];
6565
}
6666
const failedTests = await this.client.hGetAll(this.retriedBuildKey('error-reports'));
67-
const failures = Object.values(failedTests).map(test => JSON.parse(test).test_name);
68-
return failures;
67+
const failedTestGroups = Object.values(failedTests).map(test => JSON.parse(test).test_group);
68+
return failedTestGroups;
6969
}
7070
async waitForMaster() {
7171
if (this.isMaster) {

javascript/dist/queue/Worker.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ class Worker extends BaseRunner_1.BaseRunner {
6363
async populate(tests, seed) {
6464
if (this.config.retriedBuildId) {
6565
console.log(`[ci-queue] Retrying failed tests for build ${this.config.retriedBuildId}`);
66-
const failedTests = await this.getFailedTestNamesFromPreviousBuild();
67-
console.log(`[ci-queue] Failed tests: ${failedTests}`);
68-
await this.push(failedTests);
66+
const failedTestGroups = await this.getFailedTestGroupsFromPreviousBuild();
67+
console.log(`[ci-queue] Failed test groups: ${failedTestGroups}`);
68+
await this.push(failedTestGroups);
6969
}
7070
else {
7171
if (seed !== undefined) {

javascript/src/queue/BaseRunner.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ export class BaseRunner {
5050
return await this.client.get(this.key('test_failed_count'));
5151
}
5252

53-
async recordFailedTest(testName: string, testSuite: string): Promise<void> {
53+
async recordFailedTest(testName: string, testGroup: string, testSuite: string): Promise<void> {
5454
const fullTestName = `${testName}:${testSuite}`;
55-
const payload = JSON.stringify({ test_name: testName, test_suite: testSuite });
55+
const payload = JSON.stringify({ test_name: testName, test_suite: testSuite, test_group: testGroup });
5656
await this.client.hSet(
5757
this.key('error-reports'),
5858
Buffer.from(fullTestName).toString('binary'),
@@ -75,16 +75,16 @@ export class BaseRunner {
7575
return JSON.stringify(failures);
7676
}
7777

78-
async getFailedTestNamesFromPreviousBuild(): Promise<string[]> {
78+
async getFailedTestGroupsFromPreviousBuild(): Promise<string[]> {
7979
const previousBuildId = this.config.retriedBuildId;
8080
if (!previousBuildId) {
8181
return [];
8282
}
8383

8484
const failedTests = await this.client.hGetAll(this.retriedBuildKey('error-reports'));
85-
const failures = Object.values(failedTests).map(test => JSON.parse(test).test_name);
85+
const failedTestGroups = Object.values(failedTests).map(test => JSON.parse(test).test_group);
8686

87-
return failures;
87+
return failedTestGroups;
8888
}
8989

9090
async waitForMaster(): Promise<void> {

javascript/src/queue/Worker.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ export class Worker extends BaseRunner {
9494
async populate(tests: string[], seed?: number) {
9595
if (this.config.retriedBuildId) {
9696
console.log(`[ci-queue] Retrying failed tests for build ${this.config.retriedBuildId}`);
97-
const failedTests = await this.getFailedTestNamesFromPreviousBuild();
98-
console.log(`[ci-queue] Failed tests: ${failedTests}`);
99-
await this.push(failedTests);
97+
const failedTestGroups = await this.getFailedTestGroupsFromPreviousBuild();
98+
console.log(`[ci-queue] Failed test groups: ${failedTestGroups}`);
99+
await this.push(failedTestGroups);
100100
} else {
101101
if (seed !== undefined) {
102102
tests = shuffleArray(tests, seed);

0 commit comments

Comments
 (0)