test: clear cache before tests to ensure accurate benchmarks

This commit is contained in:
g1nation
2026-05-04 15:51:24 +09:00
parent a714017495
commit a74c881375
+21 -4
View File
@@ -19,6 +19,21 @@ import {
MissionState,
PipelineStage
} from '../src/lib/engine';
import * as fs from 'fs';
import * as path from 'path';
// ─── Setup ───
beforeAll(() => {
const cacheDir = path.join(process.cwd(), '.astra', 'cache');
if (fs.existsSync(cacheDir)) {
fs.rmSync(cacheDir, { recursive: true, force: true });
}
const missionDir = path.join(process.cwd(), '.astra', 'missions');
if (fs.existsSync(missionDir)) {
fs.rmSync(missionDir, { recursive: true, force: true });
}
});
// ─── Mock Agents ───
@@ -251,7 +266,8 @@ describe('AgentEngine Integration', () => {
'integration_001', 'Test prompt', 'brain context', createAbortSignal(), noopProgress
);
expect(result).toBe('Report: final synthesized output for the user.');
expect(result).toContain('Report: final synthesized output for the user.');
expect(result).toContain('standard: P-Reinforce v3.0');
});
test('Transient 오류 발생 시 자동 재시도 후 복구되어야 한다', async () => {
@@ -438,7 +454,7 @@ describe('Concurrency & Stress Tests', () => {
new MockSuccessAgent('Research result that meets the minimum validation length.'),
new MockSuccessAgent('Normal report completed successfully with all checks passed.')
);
const p1 = engine1.runMission('mix_normal', 'Test', 'ctx', createAbortSignal(), noopProgress);
const p1 = engine1.runMission('mix_normal', 'Test Normal', 'ctx', createAbortSignal(), noopProgress);
// 미션 2: Permanent 실패
const engine2 = new AgentEngine(
@@ -446,7 +462,7 @@ describe('Concurrency & Stress Tests', () => {
new MockSuccessAgent(),
new MockSuccessAgent()
);
const p2 = engine2.runMission('mix_permanent', 'Test', 'ctx', createAbortSignal(), noopProgress)
const p2 = engine2.runMission('mix_permanent', 'Test Permanent', 'ctx', createAbortSignal(), noopProgress)
.catch(e => `ERROR:${e.message}`);
// 미션 3: Transient 복구
@@ -455,7 +471,7 @@ describe('Concurrency & Stress Tests', () => {
new MockSuccessAgent('Research after single transient recovery for mixed test.'),
new MockSuccessAgent('Report after transient recovery completed successfully.')
);
const p3 = engine3.runMission('mix_transient', 'Test', 'ctx', createAbortSignal(), noopProgress);
const p3 = engine3.runMission('mix_transient', 'Test Transient', 'ctx', createAbortSignal(), noopProgress);
const [r1, r2, r3] = await Promise.all([p1, p2, p3]);
@@ -463,6 +479,7 @@ describe('Concurrency & Stress Tests', () => {
expect(r1).toContain('Normal report');
// Permanent 미션은 에러 메시지 반환
expect(r2).toContain('ERROR:');
expect(r2).toContain('근본적인 문제');
// Transient 미션은 복구 후 성공
expect(r3).toContain('Report after transient');