testeranto 0.140.2 → 0.146.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/.aider.chat.history.md +11006 -0
- package/.aider.input.history +441 -0
- package/.aider.tags.cache.v3/06/1a/1ec9fd1f595d4b36094caef45894.val +0 -0
- package/.aider.tags.cache.v3/0f/f6/f42b5108253d75de3cb6286df7f6.val +0 -0
- package/.aider.tags.cache.v3/{ad/3c/10f2ab1397f6d544e613d2a6acaf.val → 3d/81/8b6f0e9b98ec2952cdb8968ac386.val} +0 -0
- package/.aider.tags.cache.v3/cache.db +0 -0
- package/.aider.tags.cache.v3/{a7/97/6d37fce350ad2d588f36729db0cd.val → d6/7d/1820c2d4b9330eab7017da4515e7.val} +0 -0
- package/README.md +15 -16
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/aiderTest.sh +1 -0
- package/docs/index.md +45 -33
- package/docs/testing.ai.txt +98 -0
- package/docs/testing.prompt.txt +8 -0
- package/package.json +3 -3
- package/src/Node.ts +17 -13
- package/src/PM/PM_WithEslintAndTsc.ts +83 -67
- package/src/PM/main.ts +182 -92
- package/src/PM/node.ts +1 -15
- package/src/PM/nodeSidecar.ts +0 -1
- package/src/Pure.test.ts +299 -0
- package/src/Pure.ts +20 -2
- package/src/Types.ts +5 -5
- package/src/Web.ts +1 -1
- package/src/build.ts +0 -1
- package/src/esbuildConfigs/consoleDetectorPlugin.ts +28 -14
- package/src/esbuildConfigs/nativeImportDetectorPlugin.ts +26 -0
- package/src/esbuildConfigs/pure.ts +3 -1
- package/src/esbuildConfigs/rebuildPlugin.ts +1 -4
- package/src/lib/BaseSuite.test/node.test.ts +12 -0
- package/src/lib/BaseSuite.test/pure.test.ts +12 -0
- package/src/lib/{BaseSuite.test.ts → BaseSuite.test/test.ts} +36 -27
- package/src/lib/BaseSuite.test/web.test.ts +12 -0
- package/src/lib/BaseSuite.ts +17 -15
- package/src/lib/abstractBase.test/MockGiven.ts +31 -0
- package/src/lib/abstractBase.test/MockThen.ts +20 -0
- package/src/lib/abstractBase.test/MockWhen.ts +17 -0
- package/src/lib/abstractBase.test/implementation.ts +51 -0
- package/src/lib/abstractBase.test/index.ts +19 -0
- package/src/lib/abstractBase.test/interface.ts +12 -0
- package/src/lib/abstractBase.test/specification.ts +49 -0
- package/src/lib/abstractBase.test/types.ts +19 -0
- package/src/lib/abstractBase.ts +0 -2
- package/src/lib/baseBuilder.test/TestBaseBuilder.ts +83 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +134 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.interface.ts +18 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.node.ts +14 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +14 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +35 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +36 -0
- package/src/lib/baseBuilder.test/baseBuilder.test.web.ts +14 -0
- package/src/lib/basebuilder.ts +2 -1
- package/src/lib/classBuilder.test/TestClassBuilder.ts +88 -0
- package/src/lib/classBuilder.test/classBuilder.test.implementation.ts +204 -0
- package/src/lib/classBuilder.test/classBuilder.test.interface.ts +18 -0
- package/src/lib/classBuilder.test/classBuilder.test.specification.ts +113 -0
- package/src/lib/classBuilder.test/classBuilder.test.ts +14 -0
- package/src/lib/classBuilder.test/classBuilder.test.types.ts +84 -0
- package/src/lib/core.test/MockCore.ts +49 -0
- package/src/lib/core.test/core.test.implementation.ts +129 -0
- package/src/lib/core.test/core.test.interface.ts +18 -0
- package/src/lib/core.test/core.test.specification.ts +99 -0
- package/src/lib/core.test/core.test.ts +15 -0
- package/src/lib/core.test/core.test.types.ts +68 -0
- package/src/lib/core.ts +1 -11
- package/src/lib/pmProxy.test/implementation.ts +104 -0
- package/src/lib/pmProxy.test/index.ts +19 -0
- package/src/lib/pmProxy.test/interface.ts +46 -0
- package/src/lib/pmProxy.test/mockPM.ts +38 -0
- package/src/lib/pmProxy.test/mockPMBase.ts +136 -0
- package/src/lib/pmProxy.test/specification.ts +123 -0
- package/src/lib/pmProxy.test/types.ts +45 -0
- package/src/lib/pmProxy.ts +40 -193
- package/src/run.ts +7 -7
- package/testeranto/bundles/node/allTests/chunk-NQBTLMSG.mjs +254 -0
- package/testeranto/bundles/node/allTests/chunk-RF3LIUSG.mjs +765 -0
- package/testeranto/bundles/node/allTests/chunk-YZWFKYY3.mjs +171 -0
- package/testeranto/bundles/node/allTests/metafile.json +628 -3567
- package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test/node.test.mjs +325 -0
- package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +226 -0
- package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +408 -0
- package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +279 -0
- package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +4587 -0
- package/testeranto/bundles/{node/allTests/chunk-4PJCC2XT.mjs → pure/allTests/chunk-W22WOQNK.mjs} +208 -326
- package/testeranto/bundles/pure/allTests/metafile.json +732 -3
- package/testeranto/bundles/pure/allTests/src/Pure.test.mjs +369 -0
- package/testeranto/bundles/{node/allTests/src/lib/BaseSuite.test.mjs → pure/allTests/src/lib/BaseSuite.test/pure.test.mjs} +26 -8
- package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +224 -0
- package/testeranto/bundles/web/allTests/chunk-FIZ3WLUB.mjs +943 -0
- package/testeranto/bundles/web/allTests/metafile.json +1133 -2
- package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.html +19 -0
- package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.mjs +322 -0
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.html +19 -0
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +10964 -0
- package/testeranto/index.html +1 -1
- package/testeranto/reports/allTests/config.json +50 -11
- package/testeranto/reports/allTests/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.json +1539 -0
- package/testeranto/reports/allTests/src/Pure.test/pure/logs.txt +11 -0
- package/testeranto/reports/allTests/src/Pure.test/pure/message +1 -0
- package/testeranto/reports/allTests/src/Pure.test/pure/prompt.txt +8 -0
- package/testeranto/reports/allTests/src/{PM/__tests__/pureSidecar.testeranto/node → Pure.test/pure}/type_errors.txt +18 -14
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.json +620 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/logs.txt +12 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/prompt.txt +8 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/type_errors.txt +94 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.json +620 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/logs.txt +11 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/message +1 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +8 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +104 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/{node → web.test/web}/lint_errors.json +69 -57
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/logs.txt +10 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/message +1 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/prompt.txt +8 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/type_errors.txt +95 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.json +966 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +57 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/bdd_errors.txt +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.json +966 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/log.txt +0 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/tests.json +57 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +57 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/bdd_errors.txt +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.json +966 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/log.txt +0 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +0 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/message +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +57 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +48 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.json +791 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +12 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +55 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.json +416 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/logs.txt +17 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/type_errors.txt +65 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/dev.html +21 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/index.html +21 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.json +1724 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/log.txt +0 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +30 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/message +1 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/prompt.txt +11 -0
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +64 -0
- package/testeranto/reports/allTests/summary.json +59 -24
- package/testeranto.config.ts +37 -12
- package/tsc.log +273 -27
- package/testeranto/bundles/node/allTests/chunk-PG6KUKNP.mjs +0 -44
- package/testeranto/bundles/node/allTests/src/PM/__tests__/nodeSidecar.testeranto.mjs +0 -187
- package/testeranto/bundles/node/allTests/src/PM/__tests__/pureSidecar.testeranto.mjs +0 -156
- package/testeranto/bundles/node/allTests/src/PM/__tests__/webSidecar.testeranto.mjs +0 -156
- package/testeranto/bundles/node/allTests/src/mothership/test.mjs +0 -24411
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/index.html +0 -21
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/lint_errors.json +0 -80
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/message +0 -1
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/prompt.txt +0 -8
- package/testeranto/reports/allTests/src/PM/__tests__/nodeSidecar.testeranto/node/type_errors.txt +0 -28
- package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/index.html +0 -21
- package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/lint_errors.json +0 -80
- package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/message +0 -1
- package/testeranto/reports/allTests/src/PM/__tests__/pureSidecar.testeranto/node/prompt.txt +0 -8
- package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/index.html +0 -21
- package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/lint_errors.json +0 -80
- package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/message +0 -1
- package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/prompt.txt +0 -8
- package/testeranto/reports/allTests/src/PM/__tests__/webSidecar.testeranto/node/type_errors.txt +0 -32
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/console_log.txt +0 -35
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/index.html +0 -21
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/message +0 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/prompt.txt +0 -7
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node/type_errors.txt +0 -68
- package/testeranto/reports/allTests/src/mothership/test/node/index.html +0 -21
- package/testeranto/reports/allTests/src/mothership/test/node/lint_errors.json +0 -1
- package/testeranto/reports/allTests/src/mothership/test/node/message +0 -1
- package/testeranto/reports/allTests/src/mothership/test/node/prompt.txt +0 -8
- package/testeranto/reports/allTests/src/mothership/test/node/type_errors.txt +0 -24
- /package/testeranto/reports/allTests/src/{PM/__tests__/nodeSidecar.testeranto/node → Pure.test/pure}/dev.html +0 -0
- /package/testeranto/reports/allTests/src/{PM/__tests__/pureSidecar.testeranto/node/dev.html → Pure.test/pure/index.html} +0 -0
- /package/testeranto/reports/allTests/src/{PM/__tests__/webSidecar.testeranto → lib/BaseSuite.test/node.test}/node/dev.html +0 -0
- /package/testeranto/reports/allTests/src/lib/BaseSuite.test/{node/dev.html → node.test/node/index.html} +0 -0
- /package/testeranto/reports/allTests/src/{mothership/test/node → lib/BaseSuite.test/pure.test/pure}/dev.html +0 -0
- /package/testeranto/reports/allTests/src/lib/{BaseSuite.test/node/log.txt → baseBuilder.test/baseBuilder.test.node/node/logs.txt} +0 -0
package/src/PM/main.ts
CHANGED
|
@@ -22,6 +22,7 @@ import { IBuiltConfig, IRunTime, ITestTypes } from "../Types.js";
|
|
|
22
22
|
import { Sidecar } from "../lib/Sidecar.js";
|
|
23
23
|
import { Queue } from "../utils/queue.js";
|
|
24
24
|
import { PM_WithEslintAndTsc } from "./PM_WithEslintAndTsc.js";
|
|
25
|
+
import ansiColors from "ansi-colors";
|
|
25
26
|
|
|
26
27
|
type IOutputs = Record<
|
|
27
28
|
string,
|
|
@@ -56,13 +57,19 @@ async function fileHash(filePath, algorithm = "md5") {
|
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
const statusMessagePretty = (
|
|
60
|
+
const statusMessagePretty = (
|
|
61
|
+
failures: number,
|
|
62
|
+
test: string,
|
|
63
|
+
runtime: IRunTime
|
|
64
|
+
) => {
|
|
60
65
|
if (failures === 0) {
|
|
61
66
|
console.log(
|
|
62
|
-
ansiC.green(ansiC.inverse(
|
|
67
|
+
ansiC.green(ansiC.inverse(`${runtime} > ${test} completed successfully`))
|
|
63
68
|
);
|
|
64
69
|
} else {
|
|
65
|
-
console.log(
|
|
70
|
+
console.log(
|
|
71
|
+
ansiC.red(ansiC.inverse(`${runtime} > ${test} failed ${failures} times`))
|
|
72
|
+
);
|
|
66
73
|
}
|
|
67
74
|
};
|
|
68
75
|
|
|
@@ -101,10 +108,6 @@ async function pollForFile(path, timeout = 2000) {
|
|
|
101
108
|
const intervalObj = setInterval(function () {
|
|
102
109
|
const file = path;
|
|
103
110
|
const fileExists = fs.existsSync(file);
|
|
104
|
-
|
|
105
|
-
// console.log("Checking for: ", file);
|
|
106
|
-
// console.log("Exists: ", fileExists);
|
|
107
|
-
|
|
108
111
|
if (fileExists) {
|
|
109
112
|
clearInterval(intervalObj);
|
|
110
113
|
}
|
|
@@ -112,18 +115,20 @@ async function pollForFile(path, timeout = 2000) {
|
|
|
112
115
|
}
|
|
113
116
|
|
|
114
117
|
export class PM_Main extends PM_WithEslintAndTsc {
|
|
115
|
-
ports: Record<number,
|
|
116
|
-
queue:
|
|
118
|
+
ports: Record<number, string>;
|
|
119
|
+
queue: string[];
|
|
117
120
|
webMetafileWatcher: fs.FSWatcher;
|
|
118
121
|
nodeMetafileWatcher: fs.FSWatcher;
|
|
119
122
|
importMetafileWatcher: fs.FSWatcher;
|
|
120
123
|
pureSidecars: Record<number, Sidecar>;
|
|
121
124
|
nodeSidecars: Record<number, ChildProcess>;
|
|
122
125
|
webSidecars: Record<number, Page>;
|
|
126
|
+
launchers: Record<string, () => void>;
|
|
123
127
|
|
|
124
128
|
constructor(configs: IBuiltConfig, name: string, mode: "once" | "dev") {
|
|
125
129
|
super(configs, name, mode);
|
|
126
130
|
|
|
131
|
+
this.launchers = {};
|
|
127
132
|
this.ports = {};
|
|
128
133
|
this.queue = [];
|
|
129
134
|
|
|
@@ -132,7 +137,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
132
137
|
this.pureSidecars = {};
|
|
133
138
|
|
|
134
139
|
this.configs.ports.forEach((element) => {
|
|
135
|
-
this.ports[element] =
|
|
140
|
+
this.ports[element] = ""; // set ports as open
|
|
136
141
|
});
|
|
137
142
|
}
|
|
138
143
|
|
|
@@ -322,19 +327,22 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
322
327
|
await pollForFile(metafile);
|
|
323
328
|
|
|
324
329
|
Object.entries(eps).forEach(
|
|
325
|
-
async ([
|
|
326
|
-
// await pollForFile(outputFile)
|
|
330
|
+
async ([inputFile, outputFile]: [string, string]) => {
|
|
331
|
+
// await pollForFile(outputFile);\
|
|
332
|
+
|
|
333
|
+
this.launchers[inputFile] = () => launcher(inputFile, outputFile);
|
|
334
|
+
this.launchers[inputFile]();
|
|
327
335
|
|
|
328
|
-
launcher(k, outputFile);
|
|
329
336
|
try {
|
|
330
337
|
watch(outputFile, async (e, filename) => {
|
|
331
338
|
const hash = await fileHash(outputFile);
|
|
332
|
-
if (fileHashes[
|
|
333
|
-
fileHashes[
|
|
339
|
+
if (fileHashes[inputFile] !== hash) {
|
|
340
|
+
fileHashes[inputFile] = hash;
|
|
334
341
|
console.log(
|
|
335
342
|
ansiC.yellow(ansiC.inverse(`< ${e} ${filename}`))
|
|
336
343
|
);
|
|
337
|
-
launcher(
|
|
344
|
+
// launcher(inputFile, outputFile);
|
|
345
|
+
this.launchers[inputFile]();
|
|
338
346
|
}
|
|
339
347
|
});
|
|
340
348
|
} catch (e) {
|
|
@@ -389,8 +397,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
389
397
|
// `testeranto/externalTests/${externalTestName}/stderr.txt`,
|
|
390
398
|
// stderr
|
|
391
399
|
// );
|
|
392
|
-
// // console.log(`externalTest stdout: ${stdout}`);
|
|
393
|
-
// // console.error(`externalTest stderr: ${stderr}`);
|
|
394
400
|
// });
|
|
395
401
|
}
|
|
396
402
|
|
|
@@ -463,17 +469,17 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
463
469
|
this.tscCheck({
|
|
464
470
|
platform,
|
|
465
471
|
addableFiles,
|
|
466
|
-
entrypoint:
|
|
472
|
+
entrypoint: entrypoint,
|
|
467
473
|
});
|
|
468
|
-
this.eslintCheck(
|
|
469
|
-
this.makePrompt(
|
|
474
|
+
this.eslintCheck(entrypoint, platform, addableFiles);
|
|
475
|
+
this.makePrompt(entrypoint, addableFiles, platform);
|
|
470
476
|
}
|
|
471
477
|
}
|
|
472
478
|
});
|
|
473
479
|
}
|
|
474
480
|
|
|
475
481
|
launchPure = async (src: string, dest: string) => {
|
|
476
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
482
|
+
console.log(ansiC.green(ansiC.inverse(`pure < ${src}`)));
|
|
477
483
|
this.bddTestIsRunning(src);
|
|
478
484
|
|
|
479
485
|
const reportDest = `testeranto/reports/${this.name}/${src
|
|
@@ -510,14 +516,14 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
510
516
|
});
|
|
511
517
|
} else if (testConfigResource.ports > 0) {
|
|
512
518
|
const openPorts = Object.entries(this.ports).filter(
|
|
513
|
-
([portnumber,
|
|
519
|
+
([portnumber, status]) => status === ""
|
|
514
520
|
);
|
|
515
521
|
|
|
516
522
|
if (openPorts.length >= testConfigResource.ports) {
|
|
517
523
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
518
524
|
portsToUse.push(openPorts[i][0]);
|
|
519
525
|
|
|
520
|
-
this.ports[openPorts[i][0]] =
|
|
526
|
+
this.ports[openPorts[i][0]] = src; // port is now claimed
|
|
521
527
|
}
|
|
522
528
|
|
|
523
529
|
argz = JSON.stringify({
|
|
@@ -577,14 +583,12 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
577
583
|
// this.receiveFeatures(results.features, destFolder, src, "pure");
|
|
578
584
|
// this.receiveFeaturesV2(reportDest, src, "pure");
|
|
579
585
|
|
|
580
|
-
statusMessagePretty(results.fails, src);
|
|
586
|
+
statusMessagePretty(results.fails, src, "pure");
|
|
581
587
|
this.bddTestIsNowDone(src, results.fails);
|
|
582
588
|
})
|
|
583
589
|
.catch((e) => {
|
|
584
590
|
console.log(
|
|
585
|
-
ansiC.red(
|
|
586
|
-
ansiC.inverse(`launchPure - ${src} errored with: ${e}`)
|
|
587
|
-
)
|
|
591
|
+
ansiC.red(`launchPure - ${src} errored with: ${e}`)
|
|
588
592
|
);
|
|
589
593
|
this.bddTestIsNowDone(src, -1);
|
|
590
594
|
});
|
|
@@ -594,15 +598,14 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
594
598
|
})
|
|
595
599
|
.catch((e) => {
|
|
596
600
|
console.log(
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
`${src} errored with: ${e}. Check ${reportDest}/error.txt for more info`
|
|
600
|
-
)
|
|
601
|
+
ansiColors.red(
|
|
602
|
+
`pure ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
|
|
601
603
|
)
|
|
602
604
|
);
|
|
603
|
-
|
|
605
|
+
|
|
606
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.stack, src);
|
|
604
607
|
this.bddTestIsNowDone(src, -1);
|
|
605
|
-
statusMessagePretty(-1, src);
|
|
608
|
+
statusMessagePretty(-1, src, "pure");
|
|
606
609
|
// console.error(e);
|
|
607
610
|
});
|
|
608
611
|
});
|
|
@@ -610,24 +613,24 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
610
613
|
console.log(
|
|
611
614
|
ansiC.red(
|
|
612
615
|
ansiC.inverse(
|
|
613
|
-
`${src} errored with: ${e}. Check ${reportDest}/
|
|
616
|
+
`${src} 1 errored with: ${e}. Check ${reportDest}/logs.txt for more info`
|
|
614
617
|
)
|
|
615
618
|
)
|
|
616
619
|
);
|
|
617
|
-
this.writeFileSync(`${reportDest}/
|
|
620
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.stack, src);
|
|
618
621
|
this.bddTestIsNowDone(src, -1);
|
|
619
|
-
statusMessagePretty(-1, src);
|
|
622
|
+
statusMessagePretty(-1, src, "pure");
|
|
620
623
|
}
|
|
621
624
|
|
|
622
625
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
623
626
|
if (portsToUse[i]) {
|
|
624
|
-
this.ports[portsToUse[i]] =
|
|
627
|
+
this.ports[portsToUse[i]] = ""; //port is open again
|
|
625
628
|
}
|
|
626
629
|
}
|
|
627
630
|
};
|
|
628
631
|
|
|
629
632
|
launchNode = async (src: string, dest: string) => {
|
|
630
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
633
|
+
console.log(ansiC.green(ansiC.inverse(`node < ${src}`)));
|
|
631
634
|
this.bddTestIsRunning(src);
|
|
632
635
|
|
|
633
636
|
const reportDest = `testeranto/reports/${this.name}/${src
|
|
@@ -657,7 +660,6 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
657
660
|
|
|
658
661
|
const portsToUse: string[] = [];
|
|
659
662
|
if (testConfigResource.ports === 0) {
|
|
660
|
-
console.error("portsToUse?!", []);
|
|
661
663
|
const t: ITTestResourceConfiguration = {
|
|
662
664
|
name: src,
|
|
663
665
|
// ports: portsToUse.map((v) => Number(v)),
|
|
@@ -668,19 +670,17 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
668
670
|
|
|
669
671
|
testResources = JSON.stringify(t);
|
|
670
672
|
} else if (testConfigResource.ports > 0) {
|
|
671
|
-
const openPorts: [string,
|
|
672
|
-
([portnumber, portopen]) => portopen
|
|
673
|
+
const openPorts: [string, string][] = Object.entries(this.ports).filter(
|
|
674
|
+
([portnumber, portopen]) => portopen === ""
|
|
673
675
|
);
|
|
674
676
|
|
|
675
677
|
if (openPorts.length >= testConfigResource.ports) {
|
|
676
678
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
677
679
|
portsToUse.push(openPorts[i][0]);
|
|
678
680
|
|
|
679
|
-
this.ports[openPorts[i][0]] =
|
|
681
|
+
this.ports[openPorts[i][0]] = src; // port is now claimed
|
|
680
682
|
}
|
|
681
683
|
|
|
682
|
-
console.error("portsToUse", portsToUse);
|
|
683
|
-
|
|
684
684
|
testResources = JSON.stringify({
|
|
685
685
|
scheduled: true,
|
|
686
686
|
name: src,
|
|
@@ -689,7 +689,11 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
689
689
|
browserWSEndpoint: this.browser.wsEndpoint(),
|
|
690
690
|
});
|
|
691
691
|
} else {
|
|
692
|
-
console.log(
|
|
692
|
+
console.log(
|
|
693
|
+
ansiC.red(
|
|
694
|
+
`node: cannot run ${src} because there are no open ports ATM. This job will be enqueued and run again run a port is available`
|
|
695
|
+
)
|
|
696
|
+
);
|
|
693
697
|
this.queue.push(src);
|
|
694
698
|
return;
|
|
695
699
|
}
|
|
@@ -704,8 +708,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
704
708
|
|
|
705
709
|
const ipcfile = "/tmp/tpipe_" + Math.random();
|
|
706
710
|
const child = spawn(
|
|
707
|
-
"node",
|
|
708
711
|
// "node --inspect-brk ",
|
|
712
|
+
"node",
|
|
709
713
|
[builtfile, testResources, ipcfile],
|
|
710
714
|
{
|
|
711
715
|
stdio: ["pipe", "pipe", "pipe", "ipc"],
|
|
@@ -759,9 +763,9 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
759
763
|
});
|
|
760
764
|
});
|
|
761
765
|
|
|
762
|
-
const oStream = fs.createWriteStream(`${reportDest}/
|
|
766
|
+
const oStream = fs.createWriteStream(`${reportDest}/logs.txt`);
|
|
763
767
|
|
|
764
|
-
const errFile = `${reportDest}/
|
|
768
|
+
const errFile = `${reportDest}/logs.txt`;
|
|
765
769
|
|
|
766
770
|
if (fs.existsSync(errFile)) {
|
|
767
771
|
fs.rmSync(errFile);
|
|
@@ -774,21 +778,25 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
774
778
|
child.stdout?.on("data", (data) => {
|
|
775
779
|
oStream.write(`stdout > ${data}`);
|
|
776
780
|
});
|
|
781
|
+
child.on("error", (err) => {});
|
|
777
782
|
child.on("close", (code) => {
|
|
778
783
|
oStream.close();
|
|
779
784
|
server.close();
|
|
780
785
|
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
786
|
+
if (code === 255) {
|
|
787
|
+
console.log(
|
|
788
|
+
ansiColors.red(
|
|
789
|
+
`node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
|
|
790
|
+
)
|
|
791
|
+
);
|
|
784
792
|
this.bddTestIsNowDone(src, -1);
|
|
785
|
-
statusMessagePretty(-1, src);
|
|
793
|
+
statusMessagePretty(-1, src, "node");
|
|
786
794
|
} else if (code === 0) {
|
|
787
795
|
this.bddTestIsNowDone(src, 0);
|
|
788
|
-
statusMessagePretty(0, src);
|
|
796
|
+
statusMessagePretty(0, src, "node");
|
|
789
797
|
} else {
|
|
790
798
|
this.bddTestIsNowDone(src, code);
|
|
791
|
-
statusMessagePretty(code, src);
|
|
799
|
+
statusMessagePretty(code, src, "node");
|
|
792
800
|
}
|
|
793
801
|
|
|
794
802
|
haltReturns = true;
|
|
@@ -798,7 +806,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
798
806
|
|
|
799
807
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
800
808
|
if (portsToUse[i]) {
|
|
801
|
-
this.ports[portsToUse[i]] =
|
|
809
|
+
this.ports[portsToUse[i]] = ""; //port is open again
|
|
802
810
|
}
|
|
803
811
|
}
|
|
804
812
|
});
|
|
@@ -810,20 +818,18 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
810
818
|
console.log(
|
|
811
819
|
ansiC.red(
|
|
812
820
|
ansiC.inverse(
|
|
813
|
-
`${src} errored with: ${e.name}. Check ${errFile}for more info`
|
|
821
|
+
`${src} errored with: ${e.name}. Check ${errFile} for more info`
|
|
814
822
|
)
|
|
815
823
|
)
|
|
816
824
|
);
|
|
817
|
-
this.writeFileSync(`${reportDest}/
|
|
825
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
|
|
818
826
|
this.bddTestIsNowDone(src, -1);
|
|
819
|
-
statusMessagePretty(-1, src);
|
|
827
|
+
statusMessagePretty(-1, src, "node");
|
|
820
828
|
});
|
|
821
829
|
});
|
|
822
830
|
};
|
|
823
831
|
|
|
824
832
|
launchWebSideCar = async (
|
|
825
|
-
// src: string,
|
|
826
|
-
// dest: string,
|
|
827
833
|
testConfig: ITestTypes
|
|
828
834
|
): Promise<[number, ITTestResourceConfiguration]> => {
|
|
829
835
|
const src = testConfig[0];
|
|
@@ -837,7 +843,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
837
843
|
const fileStreams2: fs.WriteStream[] = [];
|
|
838
844
|
const doneFileStream2: Promise<any>[] = [];
|
|
839
845
|
|
|
840
|
-
const oStream = fs.createWriteStream(`${destFolder}/
|
|
846
|
+
const oStream = fs.createWriteStream(`${destFolder}/logs.txt`);
|
|
841
847
|
|
|
842
848
|
return new Promise((res, rej) => {
|
|
843
849
|
this.browser
|
|
@@ -925,7 +931,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
925
931
|
// this.receiveFeatures(features, destFolder, src, "web");
|
|
926
932
|
// this.receiveFeaturesV2(reportDest, src, "web");
|
|
927
933
|
|
|
928
|
-
statusMessagePretty(fails, src);
|
|
934
|
+
statusMessagePretty(fails, src, "web");
|
|
929
935
|
this.bddTestIsNowDone(src, fails);
|
|
930
936
|
})
|
|
931
937
|
.catch((e) => {
|
|
@@ -988,17 +994,16 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
988
994
|
// };
|
|
989
995
|
} else if (testReq.ports > 0) {
|
|
990
996
|
const openPorts = Object.entries(this.ports).filter(
|
|
991
|
-
([portnumber, portopen]) => portopen
|
|
997
|
+
([portnumber, portopen]) => portopen === ""
|
|
992
998
|
);
|
|
993
999
|
|
|
994
1000
|
if (openPorts.length >= testReq.ports) {
|
|
995
1001
|
for (let i = 0; i < testReq.ports; i++) {
|
|
996
1002
|
portsToUse.push(openPorts[i][0]);
|
|
997
1003
|
|
|
998
|
-
this.ports[openPorts[i][0]] =
|
|
1004
|
+
this.ports[openPorts[i][0]] = src; // port is now closed
|
|
999
1005
|
}
|
|
1000
1006
|
|
|
1001
|
-
console.log("nodeSideCar portsToUse", portsToUse);
|
|
1002
1007
|
argz.ports = portsToUse;
|
|
1003
1008
|
|
|
1004
1009
|
const builtfile = destFolder + ".mjs";
|
|
@@ -1046,7 +1051,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1046
1051
|
});
|
|
1047
1052
|
});
|
|
1048
1053
|
|
|
1049
|
-
const oStream = fs.createWriteStream(`${reportDest}/
|
|
1054
|
+
const oStream = fs.createWriteStream(`${reportDest}/logs.txt`);
|
|
1050
1055
|
|
|
1051
1056
|
const child = spawn("node", [builtfile, JSON.stringify(argz)], {
|
|
1052
1057
|
stdio: ["pipe", "pipe", "pipe", "ipc"],
|
|
@@ -1055,7 +1060,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1055
1060
|
|
|
1056
1061
|
const p = "/tmp/tpipe" + Math.random();
|
|
1057
1062
|
|
|
1058
|
-
const errFile = `${reportDest}/
|
|
1063
|
+
const errFile = `${reportDest}/logs.txt`;
|
|
1059
1064
|
|
|
1060
1065
|
server.listen(p, () => {
|
|
1061
1066
|
child.stderr?.on("data", (data) => {
|
|
@@ -1075,7 +1080,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1075
1080
|
|
|
1076
1081
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
1077
1082
|
if (portsToUse[i]) {
|
|
1078
|
-
this.ports[portsToUse[i]] =
|
|
1083
|
+
this.ports[portsToUse[i]] = ""; //port is open again
|
|
1079
1084
|
}
|
|
1080
1085
|
}
|
|
1081
1086
|
});
|
|
@@ -1093,7 +1098,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1093
1098
|
)
|
|
1094
1099
|
)
|
|
1095
1100
|
);
|
|
1096
|
-
this.writeFileSync(`${reportDest}/
|
|
1101
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e.toString(), src);
|
|
1097
1102
|
// this.bddTestIsNowDone(src, -1);
|
|
1098
1103
|
// statusMessagePretty(-1, src);
|
|
1099
1104
|
});
|
|
@@ -1105,7 +1110,12 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1105
1110
|
this.nodeSidecars[r] = child;
|
|
1106
1111
|
return [r, argz];
|
|
1107
1112
|
} else {
|
|
1108
|
-
console.log(
|
|
1113
|
+
console.log(
|
|
1114
|
+
ansiC.red(
|
|
1115
|
+
`cannot ${src} because there are no open ports. the job will be unqueued`
|
|
1116
|
+
)
|
|
1117
|
+
);
|
|
1118
|
+
|
|
1109
1119
|
this.queue.push(sidecar[0]);
|
|
1110
1120
|
return [Math.random(), argz];
|
|
1111
1121
|
}
|
|
@@ -1151,14 +1161,13 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1151
1161
|
};
|
|
1152
1162
|
} else if (testConfigResource.ports > 0) {
|
|
1153
1163
|
const openPorts = Object.entries(this.ports).filter(
|
|
1154
|
-
([portnumber, portopen]) => portopen
|
|
1164
|
+
([portnumber, portopen]) => portopen === ""
|
|
1155
1165
|
);
|
|
1156
|
-
// console.log("openPorts", openPorts);
|
|
1157
1166
|
if (openPorts.length >= testConfigResource.ports) {
|
|
1158
1167
|
for (let i = 0; i < testConfigResource.ports; i++) {
|
|
1159
1168
|
portsToUse.push(openPorts[i][0]);
|
|
1160
1169
|
|
|
1161
|
-
this.ports[openPorts[i][0]] =
|
|
1170
|
+
this.ports[openPorts[i][0]] = src; // port is now claimed
|
|
1162
1171
|
}
|
|
1163
1172
|
|
|
1164
1173
|
argz = {
|
|
@@ -1194,7 +1203,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1194
1203
|
};
|
|
1195
1204
|
|
|
1196
1205
|
launchWeb = async (src: string, dest: string) => {
|
|
1197
|
-
console.log(ansiC.green(ansiC.inverse(
|
|
1206
|
+
console.log(ansiC.green(ansiC.inverse(`web < ${src}`)));
|
|
1198
1207
|
this.bddTestIsRunning(src);
|
|
1199
1208
|
|
|
1200
1209
|
const reportDest = `testeranto/reports/${this.name}/${src
|
|
@@ -1227,7 +1236,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1227
1236
|
}
|
|
1228
1237
|
})`;
|
|
1229
1238
|
|
|
1230
|
-
const
|
|
1239
|
+
const ofile = `${reportDest}/logs.txt`;
|
|
1240
|
+
const oStream = fs.createWriteStream(ofile);
|
|
1231
1241
|
|
|
1232
1242
|
this.browser
|
|
1233
1243
|
.newPage()
|
|
@@ -1269,29 +1279,34 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1269
1279
|
};
|
|
1270
1280
|
|
|
1271
1281
|
page.on("pageerror", (err: Error) => {
|
|
1272
|
-
console.
|
|
1282
|
+
console.log(
|
|
1283
|
+
ansiColors.red(
|
|
1284
|
+
`web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
|
|
1285
|
+
)
|
|
1286
|
+
);
|
|
1287
|
+
|
|
1273
1288
|
oStream.write(err.name);
|
|
1274
1289
|
oStream.write("\n");
|
|
1275
1290
|
|
|
1276
1291
|
if (err.cause) {
|
|
1277
|
-
console.debug(`Error from ${src} cause: [${err.cause}] `);
|
|
1278
1292
|
oStream.write(err.cause);
|
|
1279
1293
|
oStream.write("\n");
|
|
1280
1294
|
}
|
|
1281
1295
|
|
|
1282
1296
|
if (err.stack) {
|
|
1283
|
-
console.debug(`Error from stack ${src}: [${err.stack}] `);
|
|
1284
1297
|
oStream.write(err.stack);
|
|
1285
1298
|
oStream.write("\n");
|
|
1286
1299
|
}
|
|
1287
1300
|
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1301
|
+
if (err.message) {
|
|
1302
|
+
oStream.write(err.message);
|
|
1303
|
+
oStream.write("\n");
|
|
1304
|
+
}
|
|
1291
1305
|
|
|
1292
1306
|
this.bddTestIsNowDone(src, -1);
|
|
1293
1307
|
close();
|
|
1294
1308
|
});
|
|
1309
|
+
|
|
1295
1310
|
page.on("console", (log: ConsoleMessage) => {
|
|
1296
1311
|
oStream.write(log.text());
|
|
1297
1312
|
oStream.write("\n");
|
|
@@ -1311,18 +1326,24 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1311
1326
|
// this.receiveFeatures(features, destFolder, src, "web");
|
|
1312
1327
|
// this.receiveFeaturesV2(reportDest, src, "web");
|
|
1313
1328
|
|
|
1314
|
-
statusMessagePretty(fails, src);
|
|
1329
|
+
statusMessagePretty(fails, src, "web");
|
|
1315
1330
|
this.bddTestIsNowDone(src, fails);
|
|
1331
|
+
close();
|
|
1316
1332
|
})
|
|
1317
1333
|
.catch((e) => {
|
|
1318
|
-
console.log(
|
|
1319
|
-
|
|
1320
|
-
|
|
1334
|
+
// console.log(ansiC.red(ansiC.inverse(e)));
|
|
1335
|
+
|
|
1336
|
+
// console.log(
|
|
1337
|
+
// ansiC.red(
|
|
1338
|
+
// ansiC.inverse(
|
|
1339
|
+
// `web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
|
|
1340
|
+
// )
|
|
1341
|
+
// )
|
|
1342
|
+
// );
|
|
1343
|
+
this.bddTestIsNowDone(src, -1);
|
|
1321
1344
|
})
|
|
1322
1345
|
.finally(() => {
|
|
1323
|
-
this.bddTestIsNowDone(src, -1);
|
|
1324
1346
|
// process.exit(-1);
|
|
1325
|
-
close();
|
|
1326
1347
|
});
|
|
1327
1348
|
|
|
1328
1349
|
return page;
|
|
@@ -1346,12 +1367,8 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1346
1367
|
fs.readFileSync(`${reportDest}/tests.json`).toString()
|
|
1347
1368
|
);
|
|
1348
1369
|
|
|
1349
|
-
// console.log("mark2", testReport);
|
|
1350
|
-
|
|
1351
1370
|
testReport.features
|
|
1352
1371
|
.reduce(async (mm, featureStringKey) => {
|
|
1353
|
-
// console.log("mark4", featureStringKey);
|
|
1354
|
-
|
|
1355
1372
|
const accum = await mm;
|
|
1356
1373
|
|
|
1357
1374
|
const isUrl = isValidUrl(featureStringKey);
|
|
@@ -1432,4 +1449,77 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1432
1449
|
// this.summary[srcTest].failingFeatures = f;
|
|
1433
1450
|
this.writeBigBoard();
|
|
1434
1451
|
};
|
|
1452
|
+
|
|
1453
|
+
checkQueue() {
|
|
1454
|
+
const x = this.queue.pop();
|
|
1455
|
+
if (!x) {
|
|
1456
|
+
ansiC.inverse(`The following queue is empty`);
|
|
1457
|
+
return;
|
|
1458
|
+
}
|
|
1459
|
+
const test = this.configs.tests.find((t) => t[0] === x);
|
|
1460
|
+
if (!test) throw `test is undefined ${x}`;
|
|
1461
|
+
|
|
1462
|
+
// const [src, runtime, ...xx]: [string, IRunTime, ...any] = test;
|
|
1463
|
+
this.launchers[test[0]]();
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1466
|
+
checkForShutdown = () => {
|
|
1467
|
+
// console.log(ansiC.inverse(JSON.stringify(this.summary, null, 2)));
|
|
1468
|
+
|
|
1469
|
+
this.checkQueue();
|
|
1470
|
+
|
|
1471
|
+
console.log(
|
|
1472
|
+
ansiC.inverse(
|
|
1473
|
+
`The following jobs are awaiting resources: ${JSON.stringify(
|
|
1474
|
+
this.queue
|
|
1475
|
+
)}`
|
|
1476
|
+
)
|
|
1477
|
+
);
|
|
1478
|
+
console.log(
|
|
1479
|
+
ansiC.inverse(`The status of ports: ${JSON.stringify(this.ports)}`)
|
|
1480
|
+
);
|
|
1481
|
+
|
|
1482
|
+
this.writeBigBoard();
|
|
1483
|
+
|
|
1484
|
+
if (this.mode === "dev") return;
|
|
1485
|
+
|
|
1486
|
+
let inflight = false;
|
|
1487
|
+
|
|
1488
|
+
Object.keys(this.summary).forEach((k) => {
|
|
1489
|
+
if (this.summary[k].prompt === "?") {
|
|
1490
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 prompt ${k}`)));
|
|
1491
|
+
inflight = true;
|
|
1492
|
+
}
|
|
1493
|
+
});
|
|
1494
|
+
|
|
1495
|
+
Object.keys(this.summary).forEach((k) => {
|
|
1496
|
+
if (this.summary[k].runTimeErrors === "?") {
|
|
1497
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 runTimeError ${k}`)));
|
|
1498
|
+
inflight = true;
|
|
1499
|
+
}
|
|
1500
|
+
});
|
|
1501
|
+
|
|
1502
|
+
Object.keys(this.summary).forEach((k) => {
|
|
1503
|
+
if (this.summary[k].staticErrors === "?") {
|
|
1504
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 staticErrors ${k}`)));
|
|
1505
|
+
inflight = true;
|
|
1506
|
+
}
|
|
1507
|
+
});
|
|
1508
|
+
|
|
1509
|
+
Object.keys(this.summary).forEach((k) => {
|
|
1510
|
+
if (this.summary[k].typeErrors === "?") {
|
|
1511
|
+
console.log(ansiC.blue(ansiC.inverse(`🕕 typeErrors ${k}`)));
|
|
1512
|
+
inflight = true;
|
|
1513
|
+
}
|
|
1514
|
+
});
|
|
1515
|
+
|
|
1516
|
+
this.writeBigBoard();
|
|
1517
|
+
|
|
1518
|
+
if (!inflight) {
|
|
1519
|
+
this.browser.disconnect().then(() => {
|
|
1520
|
+
console.log(ansiC.inverse(`${this.name} has been tested. Goodbye.`));
|
|
1521
|
+
process.exit();
|
|
1522
|
+
});
|
|
1523
|
+
}
|
|
1524
|
+
};
|
|
1435
1525
|
}
|
package/src/PM/node.ts
CHANGED
|
@@ -28,18 +28,7 @@ export class PM_Node extends PM {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
start(): Promise<void> {
|
|
31
|
-
throw new Error("
|
|
32
|
-
// console.log("START");
|
|
33
|
-
// return new Promise((res) => {
|
|
34
|
-
// process.on("message", (message: { path?: string }) => {
|
|
35
|
-
// console.log("MESSAGE");
|
|
36
|
-
// if (message.path) {
|
|
37
|
-
// this.client = net.createConnection(message.path, () => {
|
|
38
|
-
// res();
|
|
39
|
-
// });
|
|
40
|
-
// }
|
|
41
|
-
// });
|
|
42
|
-
// });
|
|
31
|
+
throw new Error("DEPRECATED");
|
|
43
32
|
}
|
|
44
33
|
|
|
45
34
|
stop(): Promise<void> {
|
|
@@ -48,8 +37,6 @@ export class PM_Node extends PM {
|
|
|
48
37
|
|
|
49
38
|
send<I>(command: string, ...argz): Promise<I> {
|
|
50
39
|
const key = Math.random().toString();
|
|
51
|
-
// console.log("SEND", key, command, ...argz);
|
|
52
|
-
|
|
53
40
|
if (!this.client) {
|
|
54
41
|
console.error(
|
|
55
42
|
`Tried to send "${command} (${argz})" but the test has not been started and the IPC client is not established. Exiting as failure!`
|
|
@@ -196,7 +183,6 @@ export class PM_Node extends PM {
|
|
|
196
183
|
}
|
|
197
184
|
|
|
198
185
|
async writeFileSync(filepath: string, contents: string) {
|
|
199
|
-
// console.log("mark55");
|
|
200
186
|
return await this.send<boolean>(
|
|
201
187
|
"writeFileSync",
|
|
202
188
|
this.testResourceConfiguration.fs + "/" + filepath,
|
package/src/PM/nodeSidecar.ts
CHANGED
|
@@ -25,7 +25,6 @@ export class PM_Node_Sidecar extends PM_sidecar {
|
|
|
25
25
|
return new Promise((res) => {
|
|
26
26
|
process.on("message", async (message: { path: string } | "stop") => {
|
|
27
27
|
if (message === "stop") {
|
|
28
|
-
console.log("STOP!", stopper.toString());
|
|
29
28
|
await stopper();
|
|
30
29
|
process.exit();
|
|
31
30
|
} else if (message.path) {
|