1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const fs_1 = require("fs");
|
4 | const path_1 = require("path");
|
5 | function setProcessExitListeners() {
|
6 | process.on('unhandledRejection', (reason) => {
|
7 | const message = reason && 'stack' in reason
|
8 | ? reason.stack
|
9 | : 'Unhandled asynchronous exception';
|
10 |
|
11 | console.error(`Unhandled asynchronous exception: ${message}`);
|
12 | process.exit(1);
|
13 | });
|
14 | process.on('uncaughtException', (err) => {
|
15 |
|
16 | console.error(`Uncaught exception: ${err.stack}`);
|
17 | process.exit(1);
|
18 | });
|
19 | }
|
20 | exports.setProcessExitListeners = setProcessExitListeners;
|
21 | function applyRequires(requires) {
|
22 | const requiresList = Array.isArray(requires) ? requires : [requires];
|
23 | const output = [];
|
24 |
|
25 | const cwd = process.cwd();
|
26 | module.paths.push(cwd, path_1.join(cwd, 'node_modules'));
|
27 | for (const mod of requiresList) {
|
28 | const abs = fs_1.existsSync(mod) || fs_1.existsSync(`${mod}.js`);
|
29 | const requirePath = abs ? path_1.resolve(mod) : mod;
|
30 | require(requirePath);
|
31 | output.push(requirePath);
|
32 | }
|
33 | return output;
|
34 | }
|
35 | exports.applyRequires = applyRequires;
|
36 | function applyCompilers(compilers) {
|
37 | const compilersList = Array.isArray(compilers) ? compilers : [compilers];
|
38 | const output = {
|
39 | compilers: compilersList,
|
40 | extensions: ['js'],
|
41 | };
|
42 |
|
43 | const cwd = process.cwd();
|
44 | module.paths.push(cwd, path_1.join(cwd, 'node_modules'));
|
45 | for (const compiler of compilersList) {
|
46 | const idx = compiler.indexOf(':');
|
47 | const ext = compiler.slice(0, idx);
|
48 | let mod = compiler.slice(idx + 1);
|
49 | if (mod.startsWith('.')) {
|
50 | mod = path_1.join(process.cwd(), mod);
|
51 | }
|
52 | require(mod);
|
53 | output.extensions.push(ext);
|
54 | }
|
55 | return output;
|
56 | }
|
57 | exports.applyCompilers = applyCompilers;
|
58 | function applyDelay(mocha, delay) {
|
59 | if (delay) {
|
60 | mocha.delay();
|
61 | }
|
62 | }
|
63 | exports.applyDelay = applyDelay;
|
64 | function applyGrepPattern(mocha, stringPattern) {
|
65 | if (stringPattern) {
|
66 | mocha.grep(stringPattern);
|
67 | }
|
68 | }
|
69 | exports.applyGrepPattern = applyGrepPattern;
|
70 | function applyNoTimeouts(mocha, allowTimeouts) {
|
71 | if (allowTimeouts === false) {
|
72 | mocha.enableTimeouts(false);
|
73 | }
|
74 | }
|
75 | exports.applyNoTimeouts = applyNoTimeouts;
|
76 | function applyTimeouts(mocha, timeout) {
|
77 | if (timeout !== undefined) {
|
78 | mocha.suite.timeout(timeout);
|
79 | }
|
80 | }
|
81 | exports.applyTimeouts = applyTimeouts;
|
82 |
|
\ | No newline at end of file |