multi-tape 1.9.0 → 1.10.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 +7 -0
- package/README.md +3 -0
- package/build/index.js +14 -6
- package/build/lib/run-test.d.ts +1 -1
- package/build/lib/run-test.js +12 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.10.0] 2025-11-15
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- Show output file name for failing tests when using -o option
|
|
15
|
+
- Add -O option to specify output directory for tap files
|
|
16
|
+
|
|
10
17
|
## [1.9.0] 2025-11-14
|
|
11
18
|
|
|
12
19
|
### Features
|
package/README.md
CHANGED
|
@@ -35,6 +35,9 @@ with output sent to stdout and print a summary at the end
|
|
|
35
35
|
of the test-file with '.tap' appended. The result will still be printed to
|
|
36
36
|
STDOUT.
|
|
37
37
|
|
|
38
|
+
- -O <dir> send output to a specified directory. For example, `-O tapFiles/` will
|
|
39
|
+
write the output for `build/test/test-file.js` to `tapFiles/build/test/test-file.js.tap`.
|
|
40
|
+
|
|
38
41
|
- --node-arg=--opt Send an option to node when invoking the test-file. Can be
|
|
39
42
|
used more than once.
|
|
40
43
|
|
package/build/index.js
CHANGED
|
@@ -19,6 +19,7 @@ const run_test_1 = require("./lib/run-test");
|
|
|
19
19
|
const minimist_1 = __importDefault(require("minimist"));
|
|
20
20
|
const argv = (0, minimist_1.default)(process.argv.slice(2), {
|
|
21
21
|
boolean: ['o', 'j', 'q', 'e'],
|
|
22
|
+
string: ['O'],
|
|
22
23
|
default: { p: 1, t: 0 },
|
|
23
24
|
});
|
|
24
25
|
const results = new Map();
|
|
@@ -39,6 +40,7 @@ Usage: multi-tape [options] <test-files...>
|
|
|
39
40
|
|
|
40
41
|
Options:
|
|
41
42
|
-o Send output to one file per test-file (.tap extension)
|
|
43
|
+
-O <dir> Send output to directory (e.g., -O tapFiles/)
|
|
42
44
|
--node-arg=<arg> Pass an option to node (can be used multiple times)
|
|
43
45
|
-p=<N> Run N tests in parallel (default: 1)
|
|
44
46
|
-j Generate JUnit XML output (.xml extension)
|
|
@@ -74,11 +76,17 @@ function printTestResult(file, res) {
|
|
|
74
76
|
if (exitCode === 0 && r.ok) {
|
|
75
77
|
console.log(`OK ${file} (${timeStr}) ${r.pass}/${r.count}`);
|
|
76
78
|
}
|
|
77
|
-
else if (!r.ok) {
|
|
78
|
-
console.log(`FAIL ${file} (${timeStr}) ${r.pass || 0}/${r.count || 0}`);
|
|
79
|
-
}
|
|
80
79
|
else {
|
|
81
|
-
|
|
80
|
+
if (!r.ok) {
|
|
81
|
+
console.log(`FAIL ${file} (${timeStr}) ${r.pass || 0}/${r.count || 0}`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.log(`FAIL ${file} exited with error ${exitCode}`);
|
|
85
|
+
}
|
|
86
|
+
if (argv.o || argv.O) {
|
|
87
|
+
const tapFile = argv.O ? `${argv.O}${file}.tap` : `${file}.tap`;
|
|
88
|
+
console.log(` See ${tapFile}`);
|
|
89
|
+
}
|
|
82
90
|
}
|
|
83
91
|
}
|
|
84
92
|
function thread() {
|
|
@@ -86,7 +94,7 @@ function thread() {
|
|
|
86
94
|
let file;
|
|
87
95
|
while ((file = files.shift())) {
|
|
88
96
|
inProgress.add(file);
|
|
89
|
-
const result = yield (0, run_test_1.runTest)(file, nodeArgs, argv.p === 1, argv.o, argv.j, argv.t, argv.q, argv.e);
|
|
97
|
+
const result = yield (0, run_test_1.runTest)(file, nodeArgs, argv.p === 1, argv.o || !!argv.O, argv.j, argv.t, argv.q, argv.e, argv.O);
|
|
90
98
|
inProgress.delete(file);
|
|
91
99
|
results.set(file, result);
|
|
92
100
|
if (argv.q) {
|
|
@@ -176,4 +184,4 @@ if (process.env.MT_DEBUG_INTERVAL) {
|
|
|
176
184
|
}, parseInt(process.env.MT_DEBUG_INTERVAL)).unref();
|
|
177
185
|
}
|
|
178
186
|
void run();
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFFQSxpREFBcUM7QUFDckMscUNBQXFDO0FBQ3JDLDZDQUFnRDtBQUNoRCx3REFBZ0M7QUFFaEMsTUFBTSxJQUFJLEdBQUcsSUFBQSxrQkFBUyxFQVFuQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDN0IsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ2IsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0NBQzFCLENBQUMsQ0FBQTtBQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO0FBRXpDLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUE7QUFFcEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNuQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdEMsQ0FBQztTQUFNLENBQUM7UUFDSixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ25DLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxTQUFTO0lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F1QmYsQ0FBQyxDQUFBO0FBQ0YsQ0FBQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUVyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDckIsU0FBUyxFQUFFLENBQUE7SUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0FBRXBDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7QUFFakMsU0FBUyxlQUFlO0lBQ3BCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3JCLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLElBQVksRUFBRSxHQUFXO0lBQzlDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxhQUFhLEVBQUUsR0FBRyxHQUFHLENBQUE7SUFDbEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUV2RCxJQUFJLFFBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLEtBQUssT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDakUsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FDUCxRQUFRLElBQUksS0FBSyxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FDN0QsQ0FBQTtRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksc0JBQXNCLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFBO1lBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQWUsTUFBTTs7UUFDakIsSUFBSSxJQUF3QixDQUFBO1FBRTVCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1QixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxrQkFBTyxFQUN4QixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUNaLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLEVBQ04sSUFBSSxDQUFDLENBQUMsRUFDTixJQUFJLENBQUMsQ0FBQyxFQUNOLElBQUksQ0FBQyxDQUFDLEVBQ04sSUFBSSxDQUFDLENBQUMsQ0FDVCxDQUFBO1lBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN6QixJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQ2pDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQsU0FBZSxHQUFHOztRQUNkLElBQUksVUFBZ0QsQ0FBQTtRQUNwRCxJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFOztnQkFDeEMsVUFBVSxHQUFHLElBQUEscUJBQUssRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRTtvQkFDcEMsS0FBSyxFQUFFLElBQUk7b0JBQ1gsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7aUJBQ3BDLENBQUMsQ0FBQTtnQkFFRixNQUFBLFVBQVUsQ0FBQyxNQUFNLDBDQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFBO29CQUN0QyxDQUFDO29CQUNELGlCQUFpQixHQUFHLElBQUksQ0FBQTtvQkFDeEIsT0FBTyxFQUFFLENBQUE7Z0JBQ2IsQ0FBQyxDQUFDLENBQUE7Z0JBRUYsTUFBQSxVQUFVLENBQUMsTUFBTSwwQ0FBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDeEMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQTtnQkFFRixVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO29CQUM1QixNQUFNLEVBQUUsQ0FBQTtvQkFDUixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMzQyxDQUFDLENBQUMsQ0FBQTtnQkFFRixVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ3hCLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtnQkFDN0IsQ0FBQyxDQUFDLENBQUE7WUFDTixDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7UUFFRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLElBQUksVUFBVSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtZQUN2QyxDQUFDO1lBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtZQUM5QyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDSixZQUFZLEVBQUUsQ0FBQTtRQUNsQixDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQsU0FBUyxZQUFZO0lBQ2pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtJQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNmLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqRCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FDcEQsRUFBRSxDQUFDO1lBQ0EsZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUMxQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUNuQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBRUosS0FBSyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUNuQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBO1FBQ3hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbkQsT0FBTyxHQUFHLEtBQUssQ0FBQTtJQUNuQixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQixDQUFDO0FBQ0wsQ0FBQztBQUVELE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFBO0FBQ3RDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFBO0FBRXJDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDeEQsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtBQUN2RCxDQUFDO0FBRUQsS0FBSyxHQUFHLEVBQUUsQ0FBQSJ9
|
package/build/lib/run-test.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export interface Result {
|
|
|
4
4
|
executionTime: number;
|
|
5
5
|
result: FinalResults;
|
|
6
6
|
}
|
|
7
|
-
export declare function runTest(filename: string, nodeArgs: string[], logConsole: boolean, outputToFile: boolean, junitOutput: boolean, timeout: number, quiet?: boolean, errorsOnly?: boolean): Promise<Result>;
|
|
7
|
+
export declare function runTest(filename: string, nodeArgs: string[], logConsole: boolean, outputToFile: boolean, junitOutput: boolean, timeout: number, quiet?: boolean, errorsOnly?: boolean, outputDir?: string): Promise<Result>;
|
package/build/lib/run-test.js
CHANGED
|
@@ -48,9 +48,10 @@ const tee = require('tee');
|
|
|
48
48
|
const streams = __importStar(require("stream-buffers"));
|
|
49
49
|
const child_process_1 = require("child_process");
|
|
50
50
|
const fs_1 = require("fs");
|
|
51
|
+
const promises_1 = require("node:fs/promises");
|
|
51
52
|
const path_1 = require("path");
|
|
52
53
|
function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutput_1, timeout_1) {
|
|
53
|
-
return __awaiter(this, arguments, void 0, function* (filename, nodeArgs, logConsole, outputToFile, junitOutput, timeout, quiet = false, errorsOnly = false) {
|
|
54
|
+
return __awaiter(this, arguments, void 0, function* (filename, nodeArgs, logConsole, outputToFile, junitOutput, timeout, quiet = false, errorsOnly = false, outputDir) {
|
|
54
55
|
const extraEnv = {};
|
|
55
56
|
if (junitOutput) {
|
|
56
57
|
extraEnv.PT_XUNIT_FILE = filename + '.xml';
|
|
@@ -89,11 +90,19 @@ function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutp
|
|
|
89
90
|
else if (errorsOnly) {
|
|
90
91
|
output.write(`\n#\n# ${filename}\n#\n`);
|
|
91
92
|
}
|
|
93
|
+
if (outputToFile && outputDir) {
|
|
94
|
+
const tapFilename = `${outputDir}${filename}.tap`;
|
|
95
|
+
const tapDir = (0, path_1.dirname)(tapFilename);
|
|
96
|
+
yield (0, promises_1.mkdir)(tapDir, { recursive: true });
|
|
97
|
+
}
|
|
92
98
|
const parsed = new Promise((resolve) => {
|
|
93
99
|
const p = new tap_parser_1.Parser(resolve);
|
|
94
100
|
if (outputToFile) {
|
|
101
|
+
const tapFilename = outputDir
|
|
102
|
+
? `${outputDir}${filename}.tap`
|
|
103
|
+
: `${filename}.tap`;
|
|
95
104
|
proc.stdout
|
|
96
|
-
.pipe(tee(p, (0, fs_1.createWriteStream)(
|
|
105
|
+
.pipe(tee(p, (0, fs_1.createWriteStream)(tapFilename)))
|
|
97
106
|
.pipe(output);
|
|
98
107
|
}
|
|
99
108
|
else {
|
|
@@ -132,4 +141,4 @@ function runTest(filename_1, nodeArgs_1, logConsole_1, outputToFile_1, junitOutp
|
|
|
132
141
|
};
|
|
133
142
|
});
|
|
134
143
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVuLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsMEJBK0hDO0FBakpELDJDQUFpRDtBQUVqRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDMUIsd0RBQXlDO0FBQ3pDLGlEQUFxQztBQUNyQywyQkFBc0M7QUFDdEMsK0NBQXdDO0FBQ3hDLCtCQUF3QztBQVd4QyxTQUFzQixPQUFPO3lEQUN6QixRQUFnQixFQUNoQixRQUFrQixFQUNsQixVQUFtQixFQUNuQixZQUFxQixFQUNyQixXQUFvQixFQUNwQixPQUFlLEVBQ2YsUUFBaUIsS0FBSyxFQUN0QixhQUFzQixLQUFLLEVBQzNCLFNBQWtCO1FBRWxCLE1BQU0sUUFBUSxHQUFHLEVBQTRCLENBQUE7UUFDN0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLFFBQVEsQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLE1BQU0sQ0FBQTtZQUMxQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUEsZUFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFFNUIsTUFBTSxJQUFJLEdBQUcsSUFBQSxxQkFBSyxFQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xELEdBQUcsa0NBQ0ksT0FBTyxDQUFDLEdBQUcsR0FDWCxRQUFRLENBQ2Q7U0FDSixDQUFDLENBQUE7UUFFRixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQ3RCLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDUixJQUFJLEtBQUssR0FDTCxPQUFPLEdBQUcs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
|