testeranto 0.146.2 → 0.146.5
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/dist/common/src/Node.js +9 -6
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +75 -58
- package/dist/common/src/PM/main.js +131 -79
- package/dist/common/src/PM/node.js +1 -14
- package/dist/common/src/PM/nodeSidecar.js +0 -1
- package/dist/common/src/Pure.js +17 -1
- package/dist/common/src/Pure.test.js +172 -0
- package/dist/common/src/build.js +0 -1
- package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +22 -11
- package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +24 -0
- package/dist/common/src/esbuildConfigs/pure.js +2 -1
- package/dist/common/src/esbuildConfigs/rebuildPlugin.js +1 -4
- package/dist/common/src/lib/BaseSuite.js +89 -0
- package/dist/common/src/lib/BaseSuite.test/node.test.js +9 -0
- package/dist/common/src/lib/BaseSuite.test/pure.test.js +9 -0
- package/dist/common/src/lib/BaseSuite.test/test.js +232 -0
- package/dist/common/src/lib/BaseSuite.test/web.test.js +9 -0
- package/dist/common/src/lib/abstractBase.js +1 -90
- package/dist/common/src/lib/abstractBase.test/MockGiven.js +17 -0
- package/dist/common/src/lib/abstractBase.test/MockThen.js +13 -0
- package/dist/common/src/lib/abstractBase.test/MockWhen.js +13 -0
- package/dist/common/src/lib/abstractBase.test/implementation.js +42 -0
- package/dist/common/src/lib/abstractBase.test/index.js +17 -0
- package/dist/common/src/lib/abstractBase.test/interface.js +12 -0
- package/dist/common/src/lib/abstractBase.test/specification.js +19 -0
- package/dist/common/src/lib/abstractBase.test/types.js +2 -0
- package/dist/common/src/lib/baseBuilder.test/TestBaseBuilder.js +36 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +97 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.interface.js +17 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.node.js +11 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +11 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +13 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.types.js +2 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.web.js +11 -0
- package/dist/common/src/lib/basebuilder.js +2 -20
- package/dist/common/src/lib/classBuilder.test/TestClassBuilder.js +41 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.implementation.js +182 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.interface.js +17 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.js +11 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.specification.js +41 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.types.js +2 -0
- package/dist/common/src/lib/core.js +4 -13
- package/dist/common/src/lib/core.test/MockCore.js +25 -0
- package/dist/common/src/lib/core.test/core.test.implementation.js +102 -0
- package/dist/common/src/lib/core.test/core.test.interface.js +18 -0
- package/dist/common/src/lib/core.test/core.test.js +17 -0
- package/dist/common/src/lib/core.test/core.test.specification.js +33 -0
- package/dist/common/src/lib/core.test/core.test.types.js +2 -0
- package/dist/common/src/lib/pmProxy.js +9 -166
- package/dist/common/src/lib/pmProxy.test/implementation.js +76 -0
- package/dist/common/src/lib/pmProxy.test/index.js +15 -0
- package/dist/common/src/lib/pmProxy.test/interface.js +37 -0
- package/dist/common/src/lib/pmProxy.test/mockPM.js +34 -0
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +115 -0
- package/dist/common/src/lib/pmProxy.test/specification.js +39 -0
- package/dist/common/src/lib/pmProxy.test/types.js +2 -0
- package/dist/common/src/run.js +6 -6
- package/dist/common/testeranto.config.js +33 -18
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Node.js +9 -6
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +75 -58
- package/dist/module/src/PM/main.js +131 -79
- package/dist/module/src/PM/node.js +1 -14
- package/dist/module/src/PM/nodeSidecar.js +0 -1
- package/dist/module/src/Pure.js +17 -1
- package/dist/module/src/Pure.test.js +167 -0
- package/dist/module/src/build.js +0 -1
- package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +19 -11
- package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +21 -0
- package/dist/module/src/esbuildConfigs/pure.js +2 -1
- package/dist/module/src/esbuildConfigs/rebuildPlugin.js +1 -4
- package/dist/module/src/lib/BaseSuite.js +85 -0
- package/dist/module/src/lib/BaseSuite.test/node.test.js +4 -0
- package/dist/module/src/lib/BaseSuite.test/pure.test.js +4 -0
- package/dist/module/src/lib/BaseSuite.test/test.js +227 -0
- package/dist/module/src/lib/BaseSuite.test/web.test.js +4 -0
- package/dist/module/src/lib/abstractBase.js +1 -89
- package/dist/module/src/lib/abstractBase.test/MockGiven.js +13 -0
- package/dist/module/src/lib/abstractBase.test/MockThen.js +9 -0
- package/dist/module/src/lib/abstractBase.test/MockWhen.js +9 -0
- package/dist/module/src/lib/abstractBase.test/implementation.js +39 -0
- package/dist/module/src/lib/abstractBase.test/index.js +12 -0
- package/dist/module/src/lib/abstractBase.test/interface.js +9 -0
- package/dist/module/src/lib/abstractBase.test/specification.js +15 -0
- package/dist/module/src/lib/abstractBase.test/types.js +1 -0
- package/dist/module/src/lib/baseBuilder.test/TestBaseBuilder.js +32 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +94 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.interface.js +14 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.node.js +6 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +6 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +9 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.types.js +1 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.web.js +6 -0
- package/dist/module/src/lib/basebuilder.js +2 -20
- package/dist/module/src/lib/classBuilder.test/TestClassBuilder.js +37 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.implementation.js +179 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.interface.js +14 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.js +6 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.specification.js +37 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.types.js +1 -0
- package/dist/module/src/lib/core.js +3 -12
- package/dist/module/src/lib/core.test/MockCore.js +18 -0
- package/dist/module/src/lib/core.test/core.test.implementation.js +99 -0
- package/dist/module/src/lib/core.test/core.test.interface.js +15 -0
- package/dist/module/src/lib/core.test/core.test.js +12 -0
- package/dist/module/src/lib/core.test/core.test.specification.js +29 -0
- package/dist/module/src/lib/core.test/core.test.types.js +1 -0
- package/dist/module/src/lib/pmProxy.js +9 -166
- package/dist/module/src/lib/pmProxy.test/implementation.js +73 -0
- package/dist/module/src/lib/pmProxy.test/index.js +10 -0
- package/dist/module/src/lib/pmProxy.test/interface.js +34 -0
- package/dist/module/src/lib/pmProxy.test/mockPM.js +30 -0
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +111 -0
- package/dist/module/src/lib/pmProxy.test/specification.js +35 -0
- package/dist/module/src/lib/pmProxy.test/types.js +1 -0
- package/dist/module/src/run.js +6 -6
- package/dist/module/testeranto.config.js +33 -18
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/Project.js +16 -15
- package/dist/prebuild/TestReport.js +14 -12
- package/dist/prebuild/build.mjs +34 -34
- package/dist/prebuild/run.mjs +259 -173
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -1
- package/dist/types/src/PM/main.d.ts +5 -2
- package/dist/types/src/Pure.d.ts +2 -2
- package/dist/types/src/Pure.test.d.ts +36 -0
- package/dist/types/src/Types.d.ts +7 -6
- package/dist/types/src/Web.d.ts +1 -1
- package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +1 -1
- package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +2 -0
- package/dist/types/src/lib/BaseSuite.d.ts +39 -0
- package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +3 -0
- package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +3 -0
- package/dist/types/src/lib/BaseSuite.test/test.d.ts +42 -0
- package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.d.ts +1 -36
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +7 -0
- package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +6 -0
- package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +6 -0
- package/dist/types/src/lib/abstractBase.test/implementation.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/index.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/interface.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/specification.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/types.d.ts +39 -0
- package/dist/types/src/lib/baseBuilder.test/TestBaseBuilder.d.ts +15 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.interface.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.node.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.specification.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +20 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.web.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/TestClassBuilder.d.ts +21 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.interface.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.specification.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.types.d.ts +56 -0
- package/dist/types/src/lib/core.d.ts +1 -1
- package/dist/types/src/lib/core.test/MockCore.d.ts +10 -0
- package/dist/types/src/lib/core.test/core.test.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.interface.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.specification.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.types.d.ts +46 -0
- package/dist/types/src/lib/index.d.ts +2 -1
- package/dist/types/src/lib/pmProxy.d.ts +11 -6
- package/dist/types/src/lib/pmProxy.test/implementation.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/index.d.ts +7 -0
- package/dist/types/src/lib/pmProxy.test/interface.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +10 -0
- package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +39 -0
- package/dist/types/src/lib/pmProxy.test/specification.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/types.d.ts +42 -0
- package/dist/types/src/lib/types.d.ts +2 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs.html +35 -33
- package/index.html +23 -30
- package/package.json +8 -18
- package/src/lib/basebuilder.ts +0 -24
- package/testeranto/Project.css +1 -26
- package/testeranto/Project.js +3337 -385
- package/testeranto/TestReport.css +1 -26
- package/testeranto/TestReport.js +43 -16
- package/testeranto/bundles/node/allTests/metafile.json +1 -1
- package/testeranto/bundles/pure/allTests/metafile.json +1 -1
- package/testeranto/bundles/web/allTests/metafile.json +1 -1
- package/testeranto/index.html +1 -1
- package/testeranto/reports/allTests/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.json +137 -1539
- package/testeranto/reports/allTests/src/Pure.test/pure/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.json +58 -620
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.json +58 -620
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.json +58 -620
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.json +104 -966
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.json +104 -966
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.json +104 -966
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.json +63 -791
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.json +39 -416
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.json +156 -1724
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +3 -3
- package/testeranto.config.ts +1 -1
- package/tsc.log +36 -38
|
@@ -12,6 +12,7 @@ import crypto from "node:crypto";
|
|
|
12
12
|
import { getRunnables } from "../utils";
|
|
13
13
|
import { Queue } from "../utils/queue.js";
|
|
14
14
|
import { PM_WithEslintAndTsc } from "./PM_WithEslintAndTsc.js";
|
|
15
|
+
import ansiColors from "ansi-colors";
|
|
15
16
|
const changes = {};
|
|
16
17
|
const fileHashes = {};
|
|
17
18
|
const files = {};
|
|
@@ -32,12 +33,12 @@ async function fileHash(filePath, algorithm = "md5") {
|
|
|
32
33
|
});
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
|
-
const statusMessagePretty = (failures, test) => {
|
|
36
|
+
const statusMessagePretty = (failures, test, runtime) => {
|
|
36
37
|
if (failures === 0) {
|
|
37
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
38
|
+
console.log(ansiC.green(ansiC.inverse(`${runtime} > ${test} completed successfully`)));
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
|
-
console.log(ansiC.red(ansiC.inverse(
|
|
41
|
+
console.log(ansiC.red(ansiC.inverse(`${runtime} > ${test} failed ${failures} times`)));
|
|
41
42
|
}
|
|
42
43
|
};
|
|
43
44
|
async function writeFileAndCreateDir(filePath, data) {
|
|
@@ -71,8 +72,6 @@ async function pollForFile(path, timeout = 2000) {
|
|
|
71
72
|
const intervalObj = setInterval(function () {
|
|
72
73
|
const file = path;
|
|
73
74
|
const fileExists = fs.existsSync(file);
|
|
74
|
-
// console.log("Checking for: ", file);
|
|
75
|
-
// console.log("Exists: ", fileExists);
|
|
76
75
|
if (fileExists) {
|
|
77
76
|
clearInterval(intervalObj);
|
|
78
77
|
}
|
|
@@ -92,7 +91,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
92
91
|
return getRunnables(tests, testName, payload);
|
|
93
92
|
};
|
|
94
93
|
this.launchPure = async (src, dest) => {
|
|
95
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
94
|
+
console.log(ansiC.green(ansiC.inverse(`pure < ${src}`)));
|
|
96
95
|
this.bddTestIsRunning(src);
|
|
97
96
|
const reportDest = `testeranto/reports/${this.name}/${src
|
|
98
97
|
.split(".")
|
|
@@ -122,11 +121,11 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
122
121
|
});
|
|
123
122
|
}
|
|
124
123
|
else if (testConfigResource.ports > 0) {
|
|
125
|
-
const openPorts = Object.entries(this.ports).filter(([portnumber,
|
|
124
|
+
const openPorts = Object.entries(this.ports).filter(([portnumber, status]) => status === "");
|
|
126
125
|
if (openPorts.length >= testConfigResource.ports) {
|
|
127
126
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
128
127
|
portsToUse.push(openPorts[i][0]);
|
|
129
|
-
this.ports[openPorts[i][0]] =
|
|
128
|
+
this.ports[openPorts[i][0]] = src; // port is now claimed
|
|
130
129
|
}
|
|
131
130
|
argz = JSON.stringify({
|
|
132
131
|
scheduled: true,
|
|
@@ -180,11 +179,11 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
180
179
|
.then(async (results) => {
|
|
181
180
|
// this.receiveFeatures(results.features, destFolder, src, "pure");
|
|
182
181
|
// this.receiveFeaturesV2(reportDest, src, "pure");
|
|
183
|
-
statusMessagePretty(results.fails, src);
|
|
182
|
+
statusMessagePretty(results.fails, src, "pure");
|
|
184
183
|
this.bddTestIsNowDone(src, results.fails);
|
|
185
184
|
})
|
|
186
185
|
.catch((e) => {
|
|
187
|
-
console.log(ansiC.red(
|
|
186
|
+
console.log(ansiC.red(`launchPure - ${src} errored with: ${e}`));
|
|
188
187
|
this.bddTestIsNowDone(src, -1);
|
|
189
188
|
});
|
|
190
189
|
// .finally(() => {
|
|
@@ -192,28 +191,28 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
192
191
|
// });
|
|
193
192
|
})
|
|
194
193
|
.catch((e) => {
|
|
195
|
-
console.log(
|
|
196
|
-
this.writeFileSync(`${reportDest}/
|
|
194
|
+
console.log(ansiColors.red(`pure ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`));
|
|
195
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.stack, src);
|
|
197
196
|
this.bddTestIsNowDone(src, -1);
|
|
198
|
-
statusMessagePretty(-1, src);
|
|
197
|
+
statusMessagePretty(-1, src, "pure");
|
|
199
198
|
// console.error(e);
|
|
200
199
|
});
|
|
201
200
|
});
|
|
202
201
|
}
|
|
203
202
|
catch (e) {
|
|
204
|
-
console.log(ansiC.red(ansiC.inverse(`${src} errored with: ${e}. Check ${reportDest}/
|
|
205
|
-
this.writeFileSync(`${reportDest}/
|
|
203
|
+
console.log(ansiC.red(ansiC.inverse(`${src} 1 errored with: ${e}. Check ${reportDest}/logs.txt for more info`)));
|
|
204
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.stack, src);
|
|
206
205
|
this.bddTestIsNowDone(src, -1);
|
|
207
|
-
statusMessagePretty(-1, src);
|
|
206
|
+
statusMessagePretty(-1, src, "pure");
|
|
208
207
|
}
|
|
209
208
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
210
209
|
if (portsToUse[i]) {
|
|
211
|
-
this.ports[portsToUse[i]] =
|
|
210
|
+
this.ports[portsToUse[i]] = ""; //port is open again
|
|
212
211
|
}
|
|
213
212
|
}
|
|
214
213
|
};
|
|
215
214
|
this.launchNode = async (src, dest) => {
|
|
216
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
215
|
+
console.log(ansiC.green(ansiC.inverse(`node < ${src}`)));
|
|
217
216
|
this.bddTestIsRunning(src);
|
|
218
217
|
const reportDest = `testeranto/reports/${this.name}/${src
|
|
219
218
|
.split(".")
|
|
@@ -234,7 +233,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
234
233
|
const testConfigResource = testConfig[2];
|
|
235
234
|
const portsToUse = [];
|
|
236
235
|
if (testConfigResource.ports === 0) {
|
|
237
|
-
console.error("portsToUse?!", []);
|
|
238
236
|
const t = {
|
|
239
237
|
name: src,
|
|
240
238
|
// ports: portsToUse.map((v) => Number(v)),
|
|
@@ -245,13 +243,12 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
245
243
|
testResources = JSON.stringify(t);
|
|
246
244
|
}
|
|
247
245
|
else if (testConfigResource.ports > 0) {
|
|
248
|
-
const openPorts = Object.entries(this.ports).filter(([portnumber, portopen]) => portopen);
|
|
246
|
+
const openPorts = Object.entries(this.ports).filter(([portnumber, portopen]) => portopen === "");
|
|
249
247
|
if (openPorts.length >= testConfigResource.ports) {
|
|
250
248
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
251
249
|
portsToUse.push(openPorts[i][0]);
|
|
252
|
-
this.ports[openPorts[i][0]] =
|
|
250
|
+
this.ports[openPorts[i][0]] = src; // port is now claimed
|
|
253
251
|
}
|
|
254
|
-
console.error("portsToUse", portsToUse);
|
|
255
252
|
testResources = JSON.stringify({
|
|
256
253
|
scheduled: true,
|
|
257
254
|
name: src,
|
|
@@ -261,7 +258,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
261
258
|
});
|
|
262
259
|
}
|
|
263
260
|
else {
|
|
264
|
-
console.log(
|
|
261
|
+
console.log(ansiC.red(`node: cannot run ${src} because there are no open ports ATM. This job will be enqueued and run again run a port is available`));
|
|
265
262
|
this.queue.push(src);
|
|
266
263
|
return;
|
|
267
264
|
}
|
|
@@ -273,9 +270,9 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
273
270
|
const builtfile = dest;
|
|
274
271
|
let haltReturns = false;
|
|
275
272
|
const ipcfile = "/tmp/tpipe_" + Math.random();
|
|
276
|
-
const child = spawn(
|
|
273
|
+
const child = spawn(
|
|
277
274
|
// "node --inspect-brk ",
|
|
278
|
-
[builtfile, testResources, ipcfile], {
|
|
275
|
+
"node", [builtfile, testResources, ipcfile], {
|
|
279
276
|
stdio: ["pipe", "pipe", "pipe", "ipc"],
|
|
280
277
|
});
|
|
281
278
|
let buffer = new Buffer("");
|
|
@@ -316,8 +313,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
316
313
|
}
|
|
317
314
|
});
|
|
318
315
|
});
|
|
319
|
-
const oStream = fs.createWriteStream(`${reportDest}/
|
|
320
|
-
const errFile = `${reportDest}/
|
|
316
|
+
const oStream = fs.createWriteStream(`${reportDest}/logs.txt`);
|
|
317
|
+
const errFile = `${reportDest}/logs.txt`;
|
|
321
318
|
if (fs.existsSync(errFile)) {
|
|
322
319
|
fs.rmSync(errFile);
|
|
323
320
|
}
|
|
@@ -329,21 +326,22 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
329
326
|
(_b = child.stdout) === null || _b === void 0 ? void 0 : _b.on("data", (data) => {
|
|
330
327
|
oStream.write(`stdout > ${data}`);
|
|
331
328
|
});
|
|
329
|
+
child.on("error", (err) => { });
|
|
332
330
|
child.on("close", (code) => {
|
|
333
331
|
oStream.close();
|
|
334
332
|
server.close();
|
|
335
|
-
|
|
336
|
-
|
|
333
|
+
if (code === 255) {
|
|
334
|
+
console.log(ansiColors.red(`node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`));
|
|
337
335
|
this.bddTestIsNowDone(src, -1);
|
|
338
|
-
statusMessagePretty(-1, src);
|
|
336
|
+
statusMessagePretty(-1, src, "node");
|
|
339
337
|
}
|
|
340
338
|
else if (code === 0) {
|
|
341
339
|
this.bddTestIsNowDone(src, 0);
|
|
342
|
-
statusMessagePretty(0, src);
|
|
340
|
+
statusMessagePretty(0, src, "node");
|
|
343
341
|
}
|
|
344
342
|
else {
|
|
345
343
|
this.bddTestIsNowDone(src, code);
|
|
346
|
-
statusMessagePretty(code, src);
|
|
344
|
+
statusMessagePretty(code, src, "node");
|
|
347
345
|
}
|
|
348
346
|
haltReturns = true;
|
|
349
347
|
});
|
|
@@ -351,24 +349,21 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
351
349
|
haltReturns = true;
|
|
352
350
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
353
351
|
if (portsToUse[i]) {
|
|
354
|
-
this.ports[portsToUse[i]] =
|
|
352
|
+
this.ports[portsToUse[i]] = ""; //port is open again
|
|
355
353
|
}
|
|
356
354
|
}
|
|
357
355
|
});
|
|
358
356
|
child.on("error", (e) => {
|
|
359
357
|
console.log("error");
|
|
360
358
|
haltReturns = true;
|
|
361
|
-
console.log(ansiC.red(ansiC.inverse(`${src} errored with: ${e.name}. Check ${errFile}for more info`)));
|
|
362
|
-
this.writeFileSync(`${reportDest}/
|
|
359
|
+
console.log(ansiC.red(ansiC.inverse(`${src} errored with: ${e.name}. Check ${errFile} for more info`)));
|
|
360
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
|
|
363
361
|
this.bddTestIsNowDone(src, -1);
|
|
364
|
-
statusMessagePretty(-1, src);
|
|
362
|
+
statusMessagePretty(-1, src, "node");
|
|
365
363
|
});
|
|
366
364
|
});
|
|
367
365
|
};
|
|
368
|
-
this.launchWebSideCar = async (
|
|
369
|
-
// src: string,
|
|
370
|
-
// dest: string,
|
|
371
|
-
testConfig) => {
|
|
366
|
+
this.launchWebSideCar = async (testConfig) => {
|
|
372
367
|
const src = testConfig[0];
|
|
373
368
|
const dest = src.split(".").slice(0, -1).join(".");
|
|
374
369
|
// const d = dest + ".mjs";
|
|
@@ -376,7 +371,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
376
371
|
console.log(ansiC.green(ansiC.inverse(`launchWebSideCar ${src}`)));
|
|
377
372
|
const fileStreams2 = [];
|
|
378
373
|
const doneFileStream2 = [];
|
|
379
|
-
const oStream = fs.createWriteStream(`${destFolder}/
|
|
374
|
+
const oStream = fs.createWriteStream(`${destFolder}/logs.txt`);
|
|
380
375
|
return new Promise((res, rej) => {
|
|
381
376
|
this.browser
|
|
382
377
|
.newPage()
|
|
@@ -448,7 +443,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
448
443
|
.then(async ({ fails, failed, features }) => {
|
|
449
444
|
// this.receiveFeatures(features, destFolder, src, "web");
|
|
450
445
|
// this.receiveFeaturesV2(reportDest, src, "web");
|
|
451
|
-
statusMessagePretty(fails, src);
|
|
446
|
+
statusMessagePretty(fails, src, "web");
|
|
452
447
|
this.bddTestIsNowDone(src, fails);
|
|
453
448
|
})
|
|
454
449
|
.catch((e) => {
|
|
@@ -495,13 +490,12 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
495
490
|
// };
|
|
496
491
|
}
|
|
497
492
|
else if (testReq.ports > 0) {
|
|
498
|
-
const openPorts = Object.entries(this.ports).filter(([portnumber, portopen]) => portopen);
|
|
493
|
+
const openPorts = Object.entries(this.ports).filter(([portnumber, portopen]) => portopen === "");
|
|
499
494
|
if (openPorts.length >= testReq.ports) {
|
|
500
495
|
for (let i = 0; i < testReq.ports; i++) {
|
|
501
496
|
portsToUse.push(openPorts[i][0]);
|
|
502
|
-
this.ports[openPorts[i][0]] =
|
|
497
|
+
this.ports[openPorts[i][0]] = src; // port is now closed
|
|
503
498
|
}
|
|
504
|
-
console.log("nodeSideCar portsToUse", portsToUse);
|
|
505
499
|
argz.ports = portsToUse;
|
|
506
500
|
const builtfile = destFolder + ".mjs";
|
|
507
501
|
let haltReturns = false;
|
|
@@ -539,13 +533,13 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
539
533
|
});
|
|
540
534
|
});
|
|
541
535
|
});
|
|
542
|
-
const oStream = fs.createWriteStream(`${reportDest}/
|
|
536
|
+
const oStream = fs.createWriteStream(`${reportDest}/logs.txt`);
|
|
543
537
|
const child = spawn("node", [builtfile, JSON.stringify(argz)], {
|
|
544
538
|
stdio: ["pipe", "pipe", "pipe", "ipc"],
|
|
545
539
|
// silent: true
|
|
546
540
|
});
|
|
547
541
|
const p = "/tmp/tpipe" + Math.random();
|
|
548
|
-
const errFile = `${reportDest}/
|
|
542
|
+
const errFile = `${reportDest}/logs.txt`;
|
|
549
543
|
server.listen(p, () => {
|
|
550
544
|
var _a, _b;
|
|
551
545
|
(_a = child.stderr) === null || _a === void 0 ? void 0 : _a.on("data", (data) => {
|
|
@@ -563,7 +557,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
563
557
|
haltReturns = true;
|
|
564
558
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
565
559
|
if (portsToUse[i]) {
|
|
566
|
-
this.ports[portsToUse[i]] =
|
|
560
|
+
this.ports[portsToUse[i]] = ""; //port is open again
|
|
567
561
|
}
|
|
568
562
|
}
|
|
569
563
|
});
|
|
@@ -573,7 +567,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
573
567
|
}
|
|
574
568
|
haltReturns = true;
|
|
575
569
|
console.log(ansiC.red(ansiC.inverse(`launchNodeSideCar - ${src} errored with: ${e.name}. Check ${errFile}for more info`)));
|
|
576
|
-
this.writeFileSync(`${reportDest}/
|
|
570
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
|
|
577
571
|
// this.bddTestIsNowDone(src, -1);
|
|
578
572
|
// statusMessagePretty(-1, src);
|
|
579
573
|
});
|
|
@@ -584,7 +578,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
584
578
|
return [r, argz];
|
|
585
579
|
}
|
|
586
580
|
else {
|
|
587
|
-
console.log(
|
|
581
|
+
console.log(ansiC.red(`cannot ${src} because there are no open ports. the job will be unqueued`));
|
|
588
582
|
this.queue.push(sidecar[0]);
|
|
589
583
|
return [Math.random(), argz];
|
|
590
584
|
}
|
|
@@ -620,12 +614,11 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
620
614
|
};
|
|
621
615
|
}
|
|
622
616
|
else if (testConfigResource.ports > 0) {
|
|
623
|
-
const openPorts = Object.entries(this.ports).filter(([portnumber, portopen]) => portopen);
|
|
624
|
-
// console.log("openPorts", openPorts);
|
|
617
|
+
const openPorts = Object.entries(this.ports).filter(([portnumber, portopen]) => portopen === "");
|
|
625
618
|
if (openPorts.length >= testConfigResource.ports) {
|
|
626
619
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
627
620
|
portsToUse.push(openPorts[i][0]);
|
|
628
|
-
this.ports[openPorts[i][0]] =
|
|
621
|
+
this.ports[openPorts[i][0]] = src; // port is now claimed
|
|
629
622
|
}
|
|
630
623
|
argz = {
|
|
631
624
|
// scheduled: true,
|
|
@@ -658,7 +651,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
658
651
|
// }
|
|
659
652
|
};
|
|
660
653
|
this.launchWeb = async (src, dest) => {
|
|
661
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
654
|
+
console.log(ansiC.green(ansiC.inverse(`web < ${src}`)));
|
|
662
655
|
this.bddTestIsRunning(src);
|
|
663
656
|
const reportDest = `testeranto/reports/${this.name}/${src
|
|
664
657
|
.split(".")
|
|
@@ -685,7 +678,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
685
678
|
console.log("fail", e)
|
|
686
679
|
}
|
|
687
680
|
})`;
|
|
688
|
-
const
|
|
681
|
+
const ofile = `${reportDest}/logs.txt`;
|
|
682
|
+
const oStream = fs.createWriteStream(ofile);
|
|
689
683
|
this.browser
|
|
690
684
|
.newPage()
|
|
691
685
|
.then((page) => {
|
|
@@ -724,22 +718,21 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
724
718
|
});
|
|
725
719
|
};
|
|
726
720
|
page.on("pageerror", (err) => {
|
|
727
|
-
console.
|
|
721
|
+
console.log(ansiColors.red(`web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`));
|
|
728
722
|
oStream.write(err.name);
|
|
729
723
|
oStream.write("\n");
|
|
730
724
|
if (err.cause) {
|
|
731
|
-
console.debug(`Error from ${src} cause: [${err.cause}] `);
|
|
732
725
|
oStream.write(err.cause);
|
|
733
726
|
oStream.write("\n");
|
|
734
727
|
}
|
|
735
728
|
if (err.stack) {
|
|
736
|
-
console.debug(`Error from stack ${src}: [${err.stack}] `);
|
|
737
729
|
oStream.write(err.stack);
|
|
738
730
|
oStream.write("\n");
|
|
739
731
|
}
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
732
|
+
if (err.message) {
|
|
733
|
+
oStream.write(err.message);
|
|
734
|
+
oStream.write("\n");
|
|
735
|
+
}
|
|
743
736
|
this.bddTestIsNowDone(src, -1);
|
|
744
737
|
close();
|
|
745
738
|
});
|
|
@@ -758,16 +751,23 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
758
751
|
.then(async ({ fails, failed, features }) => {
|
|
759
752
|
// this.receiveFeatures(features, destFolder, src, "web");
|
|
760
753
|
// this.receiveFeaturesV2(reportDest, src, "web");
|
|
761
|
-
statusMessagePretty(fails, src);
|
|
754
|
+
statusMessagePretty(fails, src, "web");
|
|
762
755
|
this.bddTestIsNowDone(src, fails);
|
|
756
|
+
close();
|
|
763
757
|
})
|
|
764
758
|
.catch((e) => {
|
|
765
|
-
console.log(ansiC.red(ansiC.inverse(
|
|
759
|
+
// console.log(ansiC.red(ansiC.inverse(e)));
|
|
760
|
+
// console.log(
|
|
761
|
+
// ansiC.red(
|
|
762
|
+
// ansiC.inverse(
|
|
763
|
+
// `web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
|
|
764
|
+
// )
|
|
765
|
+
// )
|
|
766
|
+
// );
|
|
767
|
+
this.bddTestIsNowDone(src, -1);
|
|
766
768
|
})
|
|
767
769
|
.finally(() => {
|
|
768
|
-
this.bddTestIsNowDone(src, -1);
|
|
769
770
|
// process.exit(-1);
|
|
770
|
-
close();
|
|
771
771
|
});
|
|
772
772
|
return page;
|
|
773
773
|
});
|
|
@@ -775,10 +775,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
775
775
|
this.receiveFeaturesV2 = (reportDest, srcTest, platform) => {
|
|
776
776
|
const featureDestination = path.resolve(process.cwd(), "reports", "features", "strings", srcTest.split(".").slice(0, -1).join(".") + ".features.txt");
|
|
777
777
|
const testReport = JSON.parse(fs.readFileSync(`${reportDest}/tests.json`).toString());
|
|
778
|
-
// console.log("mark2", testReport);
|
|
779
778
|
testReport.features
|
|
780
779
|
.reduce(async (mm, featureStringKey) => {
|
|
781
|
-
// console.log("mark4", featureStringKey);
|
|
782
780
|
const accum = await mm;
|
|
783
781
|
const isUrl = isValidUrl(featureStringKey);
|
|
784
782
|
if (isUrl) {
|
|
@@ -838,13 +836,55 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
838
836
|
// this.summary[srcTest].failingFeatures = f;
|
|
839
837
|
this.writeBigBoard();
|
|
840
838
|
};
|
|
839
|
+
this.checkForShutdown = () => {
|
|
840
|
+
// console.log(ansiC.inverse(JSON.stringify(this.summary, null, 2)));
|
|
841
|
+
this.checkQueue();
|
|
842
|
+
console.log(ansiC.inverse(`The following jobs are awaiting resources: ${JSON.stringify(this.queue)}`));
|
|
843
|
+
console.log(ansiC.inverse(`The status of ports: ${JSON.stringify(this.ports)}`));
|
|
844
|
+
this.writeBigBoard();
|
|
845
|
+
if (this.mode === "dev")
|
|
846
|
+
return;
|
|
847
|
+
let inflight = false;
|
|
848
|
+
Object.keys(this.summary).forEach((k) => {
|
|
849
|
+
if (this.summary[k].prompt === "?") {
|
|
850
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 prompt ${k}`)));
|
|
851
|
+
inflight = true;
|
|
852
|
+
}
|
|
853
|
+
});
|
|
854
|
+
Object.keys(this.summary).forEach((k) => {
|
|
855
|
+
if (this.summary[k].runTimeErrors === "?") {
|
|
856
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 runTimeError ${k}`)));
|
|
857
|
+
inflight = true;
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
Object.keys(this.summary).forEach((k) => {
|
|
861
|
+
if (this.summary[k].staticErrors === "?") {
|
|
862
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 staticErrors ${k}`)));
|
|
863
|
+
inflight = true;
|
|
864
|
+
}
|
|
865
|
+
});
|
|
866
|
+
Object.keys(this.summary).forEach((k) => {
|
|
867
|
+
if (this.summary[k].typeErrors === "?") {
|
|
868
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 typeErrors ${k}`)));
|
|
869
|
+
inflight = true;
|
|
870
|
+
}
|
|
871
|
+
});
|
|
872
|
+
this.writeBigBoard();
|
|
873
|
+
if (!inflight) {
|
|
874
|
+
this.browser.disconnect().then(() => {
|
|
875
|
+
console.log(ansiC.inverse(`${this.name} has been tested. Goodbye.`));
|
|
876
|
+
process.exit();
|
|
877
|
+
});
|
|
878
|
+
}
|
|
879
|
+
};
|
|
880
|
+
this.launchers = {};
|
|
841
881
|
this.ports = {};
|
|
842
882
|
this.queue = [];
|
|
843
883
|
this.nodeSidecars = {};
|
|
844
884
|
this.webSidecars = {};
|
|
845
885
|
this.pureSidecars = {};
|
|
846
886
|
this.configs.ports.forEach((element) => {
|
|
847
|
-
this.ports[element] =
|
|
887
|
+
this.ports[element] = ""; // set ports as open
|
|
848
888
|
});
|
|
849
889
|
}
|
|
850
890
|
async stopSideCar(uid) {
|
|
@@ -1004,16 +1044,18 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1004
1044
|
].forEach(async ([eps, launcher, runtime, watcher]) => {
|
|
1005
1045
|
const metafile = `./testeranto/bundles/${runtime}/${this.name}/metafile.json`;
|
|
1006
1046
|
await pollForFile(metafile);
|
|
1007
|
-
Object.entries(eps).forEach(async ([
|
|
1008
|
-
// await pollForFile(outputFile)
|
|
1009
|
-
launcher(
|
|
1047
|
+
Object.entries(eps).forEach(async ([inputFile, outputFile]) => {
|
|
1048
|
+
// await pollForFile(outputFile);\
|
|
1049
|
+
this.launchers[inputFile] = () => launcher(inputFile, outputFile);
|
|
1050
|
+
this.launchers[inputFile]();
|
|
1010
1051
|
try {
|
|
1011
1052
|
watch(outputFile, async (e, filename) => {
|
|
1012
1053
|
const hash = await fileHash(outputFile);
|
|
1013
|
-
if (fileHashes[
|
|
1014
|
-
fileHashes[
|
|
1054
|
+
if (fileHashes[inputFile] !== hash) {
|
|
1055
|
+
fileHashes[inputFile] = hash;
|
|
1015
1056
|
console.log(ansiC.yellow(ansiC.inverse(`< ${e} ${filename}`)));
|
|
1016
|
-
launcher(
|
|
1057
|
+
// launcher(inputFile, outputFile);
|
|
1058
|
+
this.launchers[inputFile]();
|
|
1017
1059
|
}
|
|
1018
1060
|
});
|
|
1019
1061
|
}
|
|
@@ -1053,8 +1095,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1053
1095
|
// `testeranto/externalTests/${externalTestName}/stderr.txt`,
|
|
1054
1096
|
// stderr
|
|
1055
1097
|
// );
|
|
1056
|
-
// // console.log(`externalTest stdout: ${stdout}`);
|
|
1057
|
-
// // console.error(`externalTest stderr: ${stderr}`);
|
|
1058
1098
|
// });
|
|
1059
1099
|
}
|
|
1060
1100
|
async stop() {
|
|
@@ -1101,12 +1141,24 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1101
1141
|
this.tscCheck({
|
|
1102
1142
|
platform,
|
|
1103
1143
|
addableFiles,
|
|
1104
|
-
entrypoint:
|
|
1144
|
+
entrypoint: entrypoint,
|
|
1105
1145
|
});
|
|
1106
|
-
this.eslintCheck(
|
|
1107
|
-
this.makePrompt(
|
|
1146
|
+
this.eslintCheck(entrypoint, platform, addableFiles);
|
|
1147
|
+
this.makePrompt(entrypoint, addableFiles, platform);
|
|
1108
1148
|
}
|
|
1109
1149
|
}
|
|
1110
1150
|
});
|
|
1111
1151
|
}
|
|
1152
|
+
checkQueue() {
|
|
1153
|
+
const x = this.queue.pop();
|
|
1154
|
+
if (!x) {
|
|
1155
|
+
ansiC.inverse(`The following queue is empty`);
|
|
1156
|
+
return;
|
|
1157
|
+
}
|
|
1158
|
+
const test = this.configs.tests.find((t) => t[0] === x);
|
|
1159
|
+
if (!test)
|
|
1160
|
+
throw `test is undefined ${x}`;
|
|
1161
|
+
// const [src, runtime, ...xx]: [string, IRunTime, ...any] = test;
|
|
1162
|
+
this.launchers[test[0]]();
|
|
1163
|
+
}
|
|
1112
1164
|
}
|
|
@@ -15,25 +15,13 @@ export class PM_Node extends PM {
|
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
start() {
|
|
18
|
-
throw new Error("
|
|
19
|
-
// console.log("START");
|
|
20
|
-
// return new Promise((res) => {
|
|
21
|
-
// process.on("message", (message: { path?: string }) => {
|
|
22
|
-
// console.log("MESSAGE");
|
|
23
|
-
// if (message.path) {
|
|
24
|
-
// this.client = net.createConnection(message.path, () => {
|
|
25
|
-
// res();
|
|
26
|
-
// });
|
|
27
|
-
// }
|
|
28
|
-
// });
|
|
29
|
-
// });
|
|
18
|
+
throw new Error("DEPRECATED");
|
|
30
19
|
}
|
|
31
20
|
stop() {
|
|
32
21
|
throw new Error("stop not implemented.");
|
|
33
22
|
}
|
|
34
23
|
send(command, ...argz) {
|
|
35
24
|
const key = Math.random().toString();
|
|
36
|
-
// console.log("SEND", key, command, ...argz);
|
|
37
25
|
if (!this.client) {
|
|
38
26
|
console.error(`Tried to send "${command} (${argz})" but the test has not been started and the IPC client is not established. Exiting as failure!`);
|
|
39
27
|
process.exit(-1);
|
|
@@ -121,7 +109,6 @@ export class PM_Node extends PM {
|
|
|
121
109
|
return await this.send("write", ...arguments);
|
|
122
110
|
}
|
|
123
111
|
async writeFileSync(filepath, contents) {
|
|
124
|
-
// console.log("mark55");
|
|
125
112
|
return await this.send("writeFileSync", this.testResourceConfiguration.fs + "/" + filepath, contents, this.testResourceConfiguration.name);
|
|
126
113
|
}
|
|
127
114
|
async createWriteStream(filepath) {
|
package/dist/module/src/Pure.js
CHANGED
|
@@ -10,7 +10,12 @@ export class PureTesteranto extends Testeranto {
|
|
|
10
10
|
async receiveTestResourceConfig(partialTestResource) {
|
|
11
11
|
const t = JSON.parse(partialTestResource);
|
|
12
12
|
const pm = new PM_Pure(t);
|
|
13
|
-
|
|
13
|
+
try {
|
|
14
|
+
return await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
return -2;
|
|
18
|
+
}
|
|
14
19
|
// const { failed, artifacts, logPromise, features, fails } =
|
|
15
20
|
// await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
16
21
|
// // pm.customclose();
|
|
@@ -19,4 +24,15 @@ export class PureTesteranto extends Testeranto {
|
|
|
19
24
|
}
|
|
20
25
|
export default async (input, testSpecification, testImplementation, testInterface, testResourceRequirement = defaultTestResourceRequirement) => {
|
|
21
26
|
return new PureTesteranto(input, testSpecification, testImplementation, testResourceRequirement, testInterface);
|
|
27
|
+
// try {
|
|
28
|
+
// return new PureTesteranto<I, O, M>(
|
|
29
|
+
// input,
|
|
30
|
+
// testSpecification,
|
|
31
|
+
// testImplementation,
|
|
32
|
+
// testResourceRequirement,
|
|
33
|
+
// testInterface
|
|
34
|
+
// );
|
|
35
|
+
// } catch (e) {
|
|
36
|
+
// return -1;
|
|
37
|
+
// }
|
|
22
38
|
};
|