aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-01-13 13:33:25 +0100
committerFlorian Dold <florian@dold.me>2021-01-13 13:33:25 +0100
commite44b86b084ff4b2dfc53199162816be6ad32c39d (patch)
tree8f2d612b65153d190d1241375b01259c58ef1444
parent9139a08c4d8e16b68682272aea629610739f7c67 (diff)
log harness output to file
-rw-r--r--packages/taler-wallet-cli/src/integrationtests/testrunner.ts23
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,