diff options
author | Florian Dold <florian@dold.me> | 2021-01-13 13:33:25 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-01-13 13:33:25 +0100 |
commit | e44b86b084ff4b2dfc53199162816be6ad32c39d (patch) | |
tree | 8f2d612b65153d190d1241375b01259c58ef1444 | |
parent | 9139a08c4d8e16b68682272aea629610739f7c67 (diff) |
log harness output to file
-rw-r--r-- | packages/taler-wallet-cli/src/integrationtests/testrunner.ts | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts index 5717bb767..6caea138c 100644 --- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts +++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts @@ -154,8 +154,8 @@ export async function runTests(spec: TestRunSpec) { process.on("SIGINT", () => handleSignal); process.on("SIGTERM", () => handleSignal); - process.on("unhandledRejection", handleSignal); - process.on("uncaughtException", handleSignal); + //process.on("unhandledRejection", handleSignal); + //process.on("uncaughtException", handleSignal); for (const [n, testCase] of allTests.entries()) { const testName = getTestName(testCase); @@ -176,9 +176,18 @@ export async function runTests(spec: TestRunSpec) { stdio: ["pipe", "pipe", "pipe", "ipc"], }); + const testDir = path.join(testRootDir, testName); + fs.mkdirSync(testDir, { recursive: true }); + + const harnessLogFilename = path.join(testRootDir, testName, "harness.log"); + const harnessLogStream = fs.createWriteStream(harnessLogFilename); + currentChild.stderr?.pipe(process.stderr); currentChild.stdout?.pipe(process.stdout); + currentChild.stdout?.pipe(harnessLogStream); + currentChild.stderr?.pipe(harnessLogStream); + const result: TestRunResult = await new Promise((resolve, reject) => { let msg: TestRunResult | undefined; currentChild!.on("message", (m) => { @@ -204,6 +213,8 @@ export async function runTests(spec: TestRunSpec) { }); }); + harnessLogStream.close(); + console.log(`parent: got result ${JSON.stringify(result)}`); testResults.push(result); @@ -247,9 +258,16 @@ if (runTestInstrStr) { console.log(`running test ${testName} in worker process`); process.on("disconnect", () => { + console.log("got disconnect from parent"); process.exit(3); }); + try { + require("source-map-support").install(); + } catch (e) { + // Do nothing. + } + const runTest = async () => { let testMain: TestMainFunction | undefined; for (const t of allTests) { @@ -270,7 +288,6 @@ if (runTestInstrStr) { } const testDir = path.join(testRootDir, testName); - fs.mkdirSync(testDir); console.log(`running test ${testName}`); const gc = new GlobalTestState({ testDir, |