From 1a3040d872769fc65b1a194459f8af40c8077f49 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 10 Feb 2023 00:02:27 +0100 Subject: harness: allow running tests without timeout --- packages/taler-harness/src/index.ts | 4 ++++ packages/taler-harness/src/integrationtests/testrunner.ts | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'packages/taler-harness') diff --git a/packages/taler-harness/src/index.ts b/packages/taler-harness/src/index.ts index a6decc4ab..e4ee25dae 100644 --- a/packages/taler-harness/src/index.ts +++ b/packages/taler-harness/src/index.ts @@ -271,6 +271,9 @@ testingCli .flag("quiet", ["--quiet"], { help: "Produce less output.", }) + .flag("noTimeout", ["--no-timeout"], { + help: "Do not time out tests." + }) .action(async (args) => { await runTests({ includePattern: args.runIntegrationtests.pattern, @@ -278,6 +281,7 @@ testingCli dryRun: args.runIntegrationtests.dryRun, verbosity: args.runIntegrationtests.quiet ? 0 : 1, includeExperimental: args.runIntegrationtests.experimental ?? false, + noTimeout: args.runIntegrationtests.noTimeout, }); }); diff --git a/packages/taler-harness/src/integrationtests/testrunner.ts b/packages/taler-harness/src/integrationtests/testrunner.ts index 70008e386..4bad3dac2 100644 --- a/packages/taler-harness/src/integrationtests/testrunner.ts +++ b/packages/taler-harness/src/integrationtests/testrunner.ts @@ -198,6 +198,7 @@ export interface TestRunSpec { suiteSpec?: string; dryRun?: boolean; includeExperimental: boolean; + noTimeout: boolean; verbosity: number; } @@ -331,9 +332,13 @@ export async function runTests(spec: TestRunSpec) { const defaultTimeout = 60000; const testTimeoutMs = testCase.timeoutMs ?? defaultTimeout; - console.log(`running ${testName} with timeout ${testTimeoutMs}ms`); + if (spec.noTimeout) { + console.log(`running ${testName}, no timeout`); + } else { + console.log(`running ${testName} with timeout ${testTimeoutMs}ms`); + } - const { token } = CancellationToken.timeout(testTimeoutMs); + const token = spec.noTimeout ? CancellationToken.CONTINUE : CancellationToken.timeout(testTimeoutMs).token; const resultPromise: Promise = new Promise( (resolve, reject) => { -- cgit v1.2.3