Skip to content

Commit 8006f95

Browse files
committed
Capture process.stdout.write to test logs
1 parent 84c6b62 commit 8006f95

1 file changed

Lines changed: 9 additions & 11 deletions

File tree

convert/test/characterization/characterization.test.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ interface TestAppPaths {
2020

2121
interface TestAppOutput {
2222
bookSpecs: PkBookSpec[];
23-
consoleLog: string[];
23+
consoleLog: string;
2424
}
2525

2626
const testAppsDir = path.join('convert', 'test', 'characterization', 'test_apps');
@@ -145,10 +145,14 @@ function assertSetsEqual(actual: any[], expected: any[]) {
145145
function listenForOutput(): TestAppOutput {
146146
const output: TestAppOutput = {
147147
bookSpecs: [],
148-
consoleLog: []
148+
consoleLog: ''
149149
};
150150
PkTestLogger.instance().setOnBookCreated((spec) => output.bookSpecs.push(spec));
151-
console.log = (msg) => output.consoleLog.push(msg);
151+
console.log = (msg) => (output.consoleLog += msg + '\n');
152+
process.stdout.write = (msg) => {
153+
output.consoleLog += msg.toString();
154+
return true;
155+
};
152156
return output;
153157
}
154158

@@ -171,19 +175,13 @@ async function checkConsoleLog(output: TestAppOutput, paths: TestAppPaths) {
171175
if (existsSync(paths.consoleLog)) {
172176
await assertConsoleLogsEqual(paths, output);
173177
} else {
174-
await writeConsoleLog(output, paths);
178+
await writeFile(paths.consoleLog, output.consoleLog);
175179
}
176180
}
177181

178-
async function writeConsoleLog(output: TestAppOutput, paths: TestAppPaths) {
179-
const logs = output.consoleLog.join(`\n`);
180-
await writeFile(paths.consoleLog, logs);
181-
}
182-
183182
async function assertConsoleLogsEqual(paths: TestAppPaths, output: TestAppOutput) {
184-
const logs = output.consoleLog.join(`\n`);
185183
const expected = await readFile(paths.consoleLog);
186-
expect(logs).toBe(expected.toString());
184+
expect(output.consoleLog).toBe(expected.toString());
187185
}
188186

189187
async function checkBookSpecs(output: TestAppOutput, paths: TestAppPaths) {

0 commit comments

Comments
 (0)