multi-tape 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Changelog.md +13 -0
- package/README.md +5 -1
- package/build/index.js +45 -4
- package/build/lib/run-test.d.ts +1 -1
- package/build/lib/run-test.js +24 -5
- package/package.json +1 -1
package/Changelog.md
CHANGED
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.7.0] 2022-06-20
|
|
11
|
+
|
|
12
|
+
- Add a --controller argument
|
|
13
|
+
|
|
14
|
+
## [1.6.1] 2021-01-29
|
|
15
|
+
|
|
16
|
+
- Add MT_DEBUG_INTERVAL setting
|
|
17
|
+
- Send SIGKILL if SIGTERM does not cause test to exit
|
|
18
|
+
|
|
19
|
+
## [1.6.0] 2021-01-06
|
|
20
|
+
|
|
21
|
+
- Timeout for test execution
|
|
22
|
+
|
|
10
23
|
## [1.5.0] 2020-12-14
|
|
11
24
|
|
|
12
25
|
- Build with github actions
|
package/README.md
CHANGED
|
@@ -46,6 +46,10 @@ with output sent to stdout and print a summary at the end
|
|
|
46
46
|
a junit xml-file. The output filename will be the name
|
|
47
47
|
of the test-file with '.xml' appended.
|
|
48
48
|
|
|
49
|
+
- -t 10000 Timeout in ms for how long each test-file is allowed to run. Default is no timeout.
|
|
50
|
+
|
|
51
|
+
- --controller="command with parameters" Run a command before starting the tests. Wait for the command to print something on stdout before starting the tests. Kill the command when all tests are done.
|
|
52
|
+
|
|
49
53
|
## Exit code
|
|
50
54
|
|
|
51
55
|
multi-tape exits with code 1 if any test failed as shown by the tap-results or
|
|
@@ -55,7 +59,7 @@ if any test-script exited with a non-zero code.
|
|
|
55
59
|
|
|
56
60
|
MIT License
|
|
57
61
|
|
|
58
|
-
Copyright (c) 2018-
|
|
62
|
+
Copyright (c) 2018-2021, Mattias Holmlund, <mattias@holmlund.se>
|
|
59
63
|
|
|
60
64
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
61
65
|
|
package/build/index.js
CHANGED
|
@@ -10,12 +10,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
});
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const child_process_1 = require("child_process");
|
|
13
14
|
const glob_1 = require("./lib/glob");
|
|
14
15
|
const run_test_1 = require("./lib/run-test");
|
|
15
16
|
const argv = require('minimist')(process.argv.slice(2), {
|
|
16
17
|
boolean: ['o', 'j'],
|
|
17
18
|
default: {
|
|
18
19
|
p: 1,
|
|
20
|
+
t: 0,
|
|
19
21
|
},
|
|
20
22
|
});
|
|
21
23
|
const results = new Map();
|
|
@@ -41,7 +43,7 @@ function thread() {
|
|
|
41
43
|
let file;
|
|
42
44
|
while ((file = files.shift())) {
|
|
43
45
|
inProgress.add(file);
|
|
44
|
-
const result = yield run_test_1.runTest(file, nodeArgs, argv.p === 1, argv.o, argv.j);
|
|
46
|
+
const result = yield run_test_1.runTest(file, nodeArgs, argv.p === 1, argv.o, argv.j, argv.t);
|
|
45
47
|
inProgress.delete(file);
|
|
46
48
|
results.set(file, result);
|
|
47
49
|
}
|
|
@@ -49,8 +51,41 @@ function thread() {
|
|
|
49
51
|
}
|
|
50
52
|
function run() {
|
|
51
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
let controller;
|
|
55
|
+
let controllerRunning = false;
|
|
56
|
+
if (argv.controller) {
|
|
57
|
+
yield new Promise((resolve, reject) => {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
controller = child_process_1.spawn(argv.controller, [], {
|
|
60
|
+
shell: true,
|
|
61
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
62
|
+
});
|
|
63
|
+
(_a = controller.stdout) === null || _a === void 0 ? void 0 : _a.on('data', data => {
|
|
64
|
+
console.log(`controller: ${data}`);
|
|
65
|
+
controllerRunning = true;
|
|
66
|
+
resolve();
|
|
67
|
+
});
|
|
68
|
+
(_b = controller.stderr) === null || _b === void 0 ? void 0 : _b.on('data', data => {
|
|
69
|
+
console.error(`controller: ${data}`);
|
|
70
|
+
});
|
|
71
|
+
controller.on('error', code => {
|
|
72
|
+
reject();
|
|
73
|
+
console.log(`controller error ${code}`);
|
|
74
|
+
});
|
|
75
|
+
controller.on('close', () => {
|
|
76
|
+
controllerRunning = false;
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
52
80
|
yield Promise.all(new Array(argv.p).fill(0).map(() => thread()));
|
|
53
|
-
|
|
81
|
+
if (controller && controllerRunning) {
|
|
82
|
+
console.log('controller: stopping');
|
|
83
|
+
controller.once('close', () => printSummary());
|
|
84
|
+
controller.kill();
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
printSummary();
|
|
88
|
+
}
|
|
54
89
|
});
|
|
55
90
|
}
|
|
56
91
|
function printSummary() {
|
|
@@ -64,7 +99,7 @@ function printSummary() {
|
|
|
64
99
|
}
|
|
65
100
|
else if (!r.ok) {
|
|
66
101
|
success = false;
|
|
67
|
-
console.log(`FAIL ${file} (${timeStr}) ${r.pass}/${r.count}`);
|
|
102
|
+
console.log(`FAIL ${file} (${timeStr}) ${r.pass || 0}/${r.count || 0}`);
|
|
68
103
|
}
|
|
69
104
|
else {
|
|
70
105
|
success = false;
|
|
@@ -82,5 +117,11 @@ function printSummary() {
|
|
|
82
117
|
}
|
|
83
118
|
process.on('SIGTERM', printInProgress);
|
|
84
119
|
process.on('SIGINT', printInProgress);
|
|
120
|
+
if (process.env.MT_DEBUG_INTERVAL) {
|
|
121
|
+
setInterval(() => {
|
|
122
|
+
console.log(`## Queued: ${files.length}`);
|
|
123
|
+
console.log(`## Running: ${[...inProgress.keys()]}`);
|
|
124
|
+
}, parseInt(process.env.MT_DEBUG_INTERVAL)).unref();
|
|
125
|
+
}
|
|
85
126
|
void run();
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFQSxpREFBcUM7QUFDckMscUNBQXFDO0FBQ3JDLDZDQUFnRDtBQUVoRCxNQUFNLElBQUksR0FRTixPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDM0MsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztJQUNuQixPQUFPLEVBQUU7UUFDTCxDQUFDLEVBQUUsQ0FBQztRQUNKLENBQUMsRUFBRSxDQUFDO0tBQ1A7Q0FDSixDQUFDLENBQUE7QUFFRixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtBQUV6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFBO0FBRXBDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO0lBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRTtRQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7S0FDckM7U0FBTTtRQUNILFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7S0FDbEM7Q0FDSjtBQUVELE1BQU0sS0FBSyxHQUFHLGVBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtBQUVwQyxJQUFJLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0FBRS9CLFNBQVMsZUFBZTtJQUNwQixVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sQ0FBQyxHQUFH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
|
package/build/lib/run-test.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export interface Result {
|
|
|
3
3
|
executionTime: number;
|
|
4
4
|
result: any;
|
|
5
5
|
}
|
|
6
|
-
export declare function runTest(filename: string, nodeArgs: string[], logConsole: boolean, outputToFile: boolean, junitOutput: boolean): Promise<Result>;
|
|
6
|
+
export declare function runTest(filename: string, nodeArgs: string[], logConsole: boolean, outputToFile: boolean, junitOutput: boolean, timeout: number): Promise<Result>;
|
package/build/lib/run-test.js
CHANGED
|
@@ -16,7 +16,7 @@ const streams = require("stream-buffers");
|
|
|
16
16
|
const child_process_1 = require("child_process");
|
|
17
17
|
const fs_1 = require("fs");
|
|
18
18
|
const path_1 = require("path");
|
|
19
|
-
function runTest(filename, nodeArgs, logConsole, outputToFile, junitOutput) {
|
|
19
|
+
function runTest(filename, nodeArgs, logConsole, outputToFile, junitOutput, timeout) {
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
const extraEnv = {};
|
|
22
22
|
if (junitOutput) {
|
|
@@ -27,8 +27,23 @@ function runTest(filename, nodeArgs, logConsole, outputToFile, junitOutput) {
|
|
|
27
27
|
let proc = child_process_1.spawn('node', nodeArgs.concat(filename), {
|
|
28
28
|
env: Object.assign(Object.assign({}, process.env), extraEnv),
|
|
29
29
|
});
|
|
30
|
-
let
|
|
30
|
+
let aborted = false;
|
|
31
|
+
const exited = new Promise(resolve => {
|
|
32
|
+
let timer = timeout > 0
|
|
33
|
+
? setTimeout(() => {
|
|
34
|
+
console.log(`## multi-tape: Timeout for ${path_1.basename(filename)}. Sending SIGTERM`);
|
|
35
|
+
proc.kill('SIGTERM');
|
|
36
|
+
aborted = true;
|
|
37
|
+
timer = setTimeout(() => {
|
|
38
|
+
console.log(`## multi-tape: Second timeout for ${path_1.basename(filename)}. Sending SIGKILL`);
|
|
39
|
+
proc.kill('SIGKILL');
|
|
40
|
+
}, 10000);
|
|
41
|
+
}, timeout)
|
|
42
|
+
: undefined;
|
|
31
43
|
proc.on('exit', (exitCode, signal) => {
|
|
44
|
+
if (timer) {
|
|
45
|
+
clearTimeout(timer);
|
|
46
|
+
}
|
|
32
47
|
resolve({ exitCode, signal });
|
|
33
48
|
});
|
|
34
49
|
});
|
|
@@ -48,9 +63,13 @@ function runTest(filename, nodeArgs, logConsole, outputToFile, junitOutput) {
|
|
|
48
63
|
}
|
|
49
64
|
proc.stderr.pipe(output);
|
|
50
65
|
});
|
|
51
|
-
|
|
66
|
+
let { exitCode, signal } = yield exited;
|
|
52
67
|
const endTime = Date.now();
|
|
53
|
-
|
|
68
|
+
let result = yield parsed;
|
|
69
|
+
if (aborted) {
|
|
70
|
+
result += `\n\n# Test aborted after ${timeout}ms`;
|
|
71
|
+
exitCode = exitCode || 1;
|
|
72
|
+
}
|
|
54
73
|
if (!logConsole) {
|
|
55
74
|
const lines = output.getContentsAsString('utf8');
|
|
56
75
|
if (lines) {
|
|
@@ -70,4 +89,4 @@ function runTest(filename, nodeArgs, logConsole, outputToFile, junitOutput) {
|
|
|
70
89
|
});
|
|
71
90
|
}
|
|
72
91
|
exports.runTest = runTest;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVuLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQ3BDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMxQiwwQ0FBeUM7QUFDekMsaURBQXFDO0FBQ3JDLDJCQUFzQztBQUN0QywrQkFBK0I7QUFXL0IsU0FBc0IsT0FBTyxDQUN6QixRQUFnQixFQUNoQixRQUFrQixFQUNsQixVQUFtQixFQUNuQixZQUFxQixFQUNyQixXQUFvQixFQUNwQixPQUFlOztRQUVmLE1BQU0sUUFBUSxHQUFHLEVBQVMsQ0FBQTtRQUMxQixJQUFJLFdBQVcsRUFBRTtZQUNiLFFBQVEsQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQTtZQUMxQyxRQUFRLENBQUMsYUFBYSxHQUFHLGVBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtTQUM5QztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUU1QixJQUFJLElBQUksR0FBRyxxQkFBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hELEdBQUcsa0NBQ0ksT0FBTyxDQUFDLEdBQUcsR0FDWCxRQUFRLENBQ2Q7U0FDSixDQUFDLENBQUE7UUFFRixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQ3RCLE9BQU8sQ0FBQyxFQUFFO1lBQ04sSUFBSSxLQUFLLEdBQ0wsT0FBTyxHQUFHLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osT0FBTyxDQUFDLEdBQUcsQ0FDUCw4QkFBOEIsZUFBUSxDQUNsQyxRQUFRLENBQ1gsbUJB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
|