harness: allow running tests without timeout
This commit is contained in:
parent
ebb3e7e338
commit
1a3040d872
@ -271,6 +271,9 @@ testingCli
|
|||||||
.flag("quiet", ["--quiet"], {
|
.flag("quiet", ["--quiet"], {
|
||||||
help: "Produce less output.",
|
help: "Produce less output.",
|
||||||
})
|
})
|
||||||
|
.flag("noTimeout", ["--no-timeout"], {
|
||||||
|
help: "Do not time out tests."
|
||||||
|
})
|
||||||
.action(async (args) => {
|
.action(async (args) => {
|
||||||
await runTests({
|
await runTests({
|
||||||
includePattern: args.runIntegrationtests.pattern,
|
includePattern: args.runIntegrationtests.pattern,
|
||||||
@ -278,6 +281,7 @@ testingCli
|
|||||||
dryRun: args.runIntegrationtests.dryRun,
|
dryRun: args.runIntegrationtests.dryRun,
|
||||||
verbosity: args.runIntegrationtests.quiet ? 0 : 1,
|
verbosity: args.runIntegrationtests.quiet ? 0 : 1,
|
||||||
includeExperimental: args.runIntegrationtests.experimental ?? false,
|
includeExperimental: args.runIntegrationtests.experimental ?? false,
|
||||||
|
noTimeout: args.runIntegrationtests.noTimeout,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -198,6 +198,7 @@ export interface TestRunSpec {
|
|||||||
suiteSpec?: string;
|
suiteSpec?: string;
|
||||||
dryRun?: boolean;
|
dryRun?: boolean;
|
||||||
includeExperimental: boolean;
|
includeExperimental: boolean;
|
||||||
|
noTimeout: boolean;
|
||||||
verbosity: number;
|
verbosity: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,9 +332,13 @@ export async function runTests(spec: TestRunSpec) {
|
|||||||
const defaultTimeout = 60000;
|
const defaultTimeout = 60000;
|
||||||
const testTimeoutMs = testCase.timeoutMs ?? defaultTimeout;
|
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<TestRunResult> = new Promise(
|
const resultPromise: Promise<TestRunResult> = new Promise(
|
||||||
(resolve, reject) => {
|
(resolve, reject) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user