MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / createCaseLogger

Function createCaseLogger

packages/server-e2e/test/log.ts:5–34  ·  view source on GitHub ↗
(caseName: string)

Source from the content-addressed store, hash-verified

3import { recordReportEvent, setActiveReportCase } from '../src/report.js';
4
5export function createCaseLogger(caseName: string): (label: string, value?: unknown) => void {
6 setActiveReportCase(caseName);
7 let failed = false;
8 onTestFailed((error) => {
9 failed = true;
10 recordReportEvent({
11 kind: 'test-result',
12 caseName,
13 state: 'failed',
14 error: errorForLog(error),
15 });
16 });
17 onTestFinished(() => {
18 if (failed) return;
19 recordReportEvent({
20 kind: 'test-result',
21 caseName,
22 state: 'passed',
23 });
24 });
25 return (label, value) => {
26 recordReportEvent({ kind: 'log', caseName, label, value });
27 const prefix = `[server-e2e] ${caseName} :: ${label}`;
28 if (value === undefined) {
29 writeLogLine(prefix);
30 return;
31 }
32 writeLogLine(`${prefix}\n${stringifyForLog(value)}`);
33 };
34}
35
36export function errorForLog(error: unknown): unknown {
37 if (error instanceof Error) {

Callers 6

report.test.tsFile · 0.90
client.test.tsFile · 0.85

Calls 5

setActiveReportCaseFunction · 0.85
recordReportEventFunction · 0.85
errorForLogFunction · 0.85
writeLogLineFunction · 0.85
stringifyForLogFunction · 0.85

Tested by

no test coverage detected