mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-12 23:52:20 +02:00
perf: split monolithic E2E test into 8 parallel files
Split test/skill-e2e.test.ts (3442 lines) into 8 category files: - skill-e2e-browse.test.ts (7 tests) - skill-e2e-review.test.ts (7 tests) - skill-e2e-qa-bugs.test.ts (3 tests) - skill-e2e-qa-workflow.test.ts (4 tests) - skill-e2e-plan.test.ts (6 tests) - skill-e2e-design.test.ts (7 tests) - skill-e2e-workflow.test.ts (6 tests) - skill-e2e-deploy.test.ts (4 tests) Bun runs each file in its own worker = 10 parallel workers (8 split + routing + codex). Expected: 78 min → ~12 min. Extracted shared helpers to test/helpers/e2e-helpers.ts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -191,14 +191,17 @@ describe('detectBaseBranch', () => {
|
||||
});
|
||||
});
|
||||
|
||||
// --- Completeness: every testName in skill-e2e.test.ts has a TOUCHFILES entry ---
|
||||
// --- Completeness: every testName in skill-e2e-*.test.ts has a TOUCHFILES entry ---
|
||||
|
||||
describe('TOUCHFILES completeness', () => {
|
||||
test('every E2E testName has a TOUCHFILES entry', () => {
|
||||
const e2eContent = fs.readFileSync(
|
||||
path.join(ROOT, 'test', 'skill-e2e.test.ts'),
|
||||
'utf-8',
|
||||
);
|
||||
// Read all split E2E test files
|
||||
const testDir = path.join(ROOT, 'test');
|
||||
const e2eFiles = fs.readdirSync(testDir).filter(f => f.startsWith('skill-e2e-') && f.endsWith('.test.ts'));
|
||||
let e2eContent = '';
|
||||
for (const f of e2eFiles) {
|
||||
e2eContent += fs.readFileSync(path.join(testDir, f), 'utf-8') + '\n';
|
||||
}
|
||||
|
||||
// Extract all testName: 'value' entries
|
||||
const testNameRegex = /testName:\s*['"`]([^'"`]+)['"`]/g;
|
||||
|
||||
Reference in New Issue
Block a user