testeranto 0.167.0 → 0.172.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/dist/common/src/NavBar.js +45 -0
- package/dist/common/src/PM/main.js +81 -59
- package/dist/common/src/Pure.js +16 -14
- package/dist/common/src/ReportServer.js +48 -5
- package/dist/common/src/Web.js +35 -20
- package/dist/common/src/components/SunriseAnimation.test/implementation.js +1 -0
- package/dist/common/src/components/SunriseAnimation.test/index.js +1 -0
- package/dist/common/src/components/SunriseAnimation.test/interface.js +1 -0
- package/dist/common/src/components/SunriseAnimation.test/specification.js +1 -0
- package/dist/common/src/components/TestStatusBadge.js +55 -0
- package/dist/common/src/components/pure/ProjectPageView.js +204 -0
- package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +20 -0
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +71 -0
- package/dist/common/src/components/pure/ProjectPageView.test/index.js +10 -0
- package/dist/common/src/components/pure/ProjectPageView.test/specification.js +19 -0
- package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
- package/dist/common/src/lib/BaseSuite.js +3 -3
- package/dist/common/src/lib/BaseSuite.test/test.js +1 -1
- package/dist/common/src/lib/abstractBase.js +41 -14
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +1 -1
- package/dist/common/src/lib/pmProxy.js +185 -64
- package/dist/common/testeranto.config.js +6 -0
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/App.js +3 -3
- package/dist/module/src/PM/main.js +81 -59
- package/dist/module/src/ProjectsPage.js +1 -110
- package/dist/module/src/Pure.js +16 -14
- package/dist/module/src/ReportServer.js +48 -5
- package/dist/module/src/TestPage.js +45 -16
- package/dist/module/src/Web.js +35 -20
- package/dist/module/src/components/SunriseAnimation.test/implementation.js +1 -0
- package/dist/module/src/components/SunriseAnimation.test/index.js +1 -0
- package/dist/module/src/components/SunriseAnimation.test/interface.js +1 -0
- package/dist/module/src/components/SunriseAnimation.test/specification.js +1 -0
- package/dist/module/src/components/pure/ProjectPageView.js +197 -0
- package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +17 -0
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +68 -0
- package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -0
- package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -0
- package/dist/module/src/components/pure/ProjectPageView.test/types.js +1 -0
- package/dist/module/src/components/pure/ProjectsPageView.js +58 -0
- package/dist/module/src/components/pure/TestPageView.js +136 -0
- package/dist/module/src/components/stateful/ProjectPage.js +63 -0
- package/dist/module/src/components/stateful/ProjectsPage.js +55 -0
- package/dist/module/src/components/stateful/TestPage.js +82 -0
- package/dist/module/src/lib/BaseSuite.js +3 -3
- package/dist/module/src/lib/BaseSuite.test/test.js +1 -1
- package/dist/module/src/lib/abstractBase.js +41 -14
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +1 -1
- package/dist/module/src/lib/pmProxy.js +185 -64
- package/dist/module/testeranto.config.js +6 -0
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +13 -9
- package/dist/prebuild/App.js +600 -551
- package/dist/prebuild/ReportServer.mjs +44 -4
- package/dist/prebuild/run.mjs +67 -39
- package/dist/types/src/NavBar.d.ts +19 -0
- package/dist/types/src/PM/index.d.ts +3 -1
- package/dist/types/src/PM/main.d.ts +0 -4
- package/dist/types/src/PM/node.d.ts +2 -2
- package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +0 -0
- package/dist/types/src/components/SunriseAnimation.test/specification.d.ts +0 -0
- package/dist/types/src/components/TestStatusBadge.d.ts +15 -0
- package/dist/types/src/components/pure/ProjectPageView.d.ts +14 -0
- package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +3 -0
- package/dist/types/src/components/pure/ProjectPageView.test/implementation.d.ts +3 -0
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +2 -0
- package/dist/types/src/components/pure/ProjectPageView.test/specification.d.ts +3 -0
- package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +39 -0
- package/dist/types/src/lib/BaseSuite.d.ts +2 -0
- package/dist/types/src/lib/abstractBase.d.ts +12 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/src/App.tsx +5 -9
- package/src/PM/index.ts +1 -1
- package/src/PM/main.ts +87 -82
- package/src/PM/node.ts +2 -2
- package/src/ProjectsPage.tsx +1 -164
- package/src/Pure.ts +16 -16
- package/src/ReportServer.ts +49 -6
- package/src/TestPage.tsx +78 -5
- package/src/Web.ts +35 -35
- package/src/components/SunriseAnimation.test/implementation.ts +0 -0
- package/src/components/SunriseAnimation.test/index.ts +0 -0
- package/src/components/SunriseAnimation.test/interface.ts +0 -0
- package/src/components/SunriseAnimation.test/specification.ts +0 -0
- package/src/components/pure/ProjectPageView.test/adapter.ts +21 -0
- package/src/components/pure/ProjectPageView.test/implementation.tsx +84 -0
- package/src/components/pure/ProjectPageView.test/index.ts +8 -0
- package/src/components/pure/ProjectPageView.test/specification.ts +31 -0
- package/src/components/pure/ProjectPageView.test/types.ts +55 -0
- package/src/components/pure/ProjectPageView.tsx +332 -0
- package/src/components/pure/ProjectsPageView.tsx +99 -0
- package/src/components/pure/TestPageView.tsx +278 -0
- package/src/components/stateful/ProjectPage.tsx +83 -0
- package/src/components/stateful/ProjectsPage.tsx +73 -0
- package/src/components/stateful/TestPage.tsx +107 -0
- package/src/lib/BaseSuite.test/test.ts +1 -1
- package/src/lib/BaseSuite.ts +9 -4
- package/src/lib/abstractBase.ts +45 -14
- package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +1 -1
- package/src/lib/pmProxy.ts +184 -87
- package/testeranto/App.css +13 -9
- package/testeranto/App.js +600 -551
- package/testeranto/bundles/node/allTests/{chunk-4ONUZRZ4.mjs → chunk-3EUGBAOM.mjs} +1 -1
- package/testeranto/bundles/node/allTests/{chunk-IDCUSTSM.mjs → chunk-E75CSRER.mjs} +246 -115
- package/testeranto/bundles/node/allTests/{chunk-NQEP7SN4.mjs → chunk-M6DO7VMB.mjs} +1 -1
- package/testeranto/bundles/node/allTests/metafile.json +37 -37
- package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test/node.test.mjs +4 -4
- package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +3 -3
- package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +3 -3
- package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +2 -17
- package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +354 -252
- package/testeranto/bundles/pure/allTests/{chunk-5SBJWHSZ.mjs → chunk-KHDVEHF7.mjs} +2 -17
- package/testeranto/bundles/pure/allTests/{chunk-4ULDTZFU.mjs → chunk-VMUSFSZM.mjs} +246 -115
- package/testeranto/bundles/pure/allTests/metafile.json +72 -42
- package/testeranto/bundles/pure/allTests/src/Pure.test.mjs +2 -2
- package/testeranto/bundles/pure/allTests/src/lib/BaseSuite.test/pure.test.mjs +3 -3
- package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +2 -29
- package/testeranto/bundles/web/allTests/chunk-HPYA4YZC.mjs +2283 -0
- package/testeranto/bundles/web/allTests/{chunk-46E6YGGN.mjs → chunk-U7AW26HL.mjs} +292 -142
- package/testeranto/bundles/web/allTests/metafile.json +22 -943
- package/testeranto/bundles/web/allTests/src/components/pure/ProjectPageView.test/index.html +19 -0
- package/testeranto/bundles/web/allTests/src/components/pure/ProjectPageView.test/index.mjs +37524 -0
- package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.mjs +20 -2
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +26 -2
- package/testeranto/reports/allTests/config.json +8 -0
- package/testeranto/reports/allTests/src/Pure.test/pure/type_errors.txt +9 -3
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/bdd_errors.txt +1 -0
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +13 -0
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/logs.txt +50 -0
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/message.txt +2 -0
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/prompt.txt +17 -0
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/tests.json +32 -0
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +68 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/logs.txt +22 -39
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/tests.json +6 -3
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/type_errors.txt +8 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/tests.json +6 -3
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +9 -3
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/logs.txt +66 -55
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/prompt.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/tests.json +6 -3
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/type_errors.txt +10 -5
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +16 -48
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +18 -9
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +8 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +10 -5
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +62 -33
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +2 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +18 -9
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +10 -5
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +37 -50
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/tests.json +36 -18
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +8 -1
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/type_errors.txt +9 -3
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +28 -43
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/tests.json +28 -14
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +8 -1
- package/testeranto/reports/allTests/summary.json +15 -8
- package/testeranto/reportsnode_build_errors +20 -0
- package/testeranto/reportspure_build_errors +343 -0
- package/testeranto/reportsweb_build_errors +25 -0
- package/testeranto.config.ts +7 -0
- package/tsc.log +100 -26
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/testeranto/bundles/node/allTests/chunk-FFBRDUBH.mjs +0 -677
- package/testeranto/bundles/node/allTests/chunk-H2IBV7SY.mjs +0 -113
- package/testeranto/bundles/node/allTests/chunk-ZHOULXPN.mjs +0 -252
- package/testeranto/bundles/pure/allTests/chunk-CSMXYJ65.mjs +0 -200
- package/testeranto/bundles/pure/allTests/chunk-QK4IXLF6.mjs +0 -674
- package/testeranto/bundles/web/allTests/chunk-TU3MJSSI.mjs +0 -855
- package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test/manifest.json +0 -1
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/manifest.json +0 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/manifest.json +0 -1
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/manifest.json +0 -1
- /package/{testeranto/reports/allTests/src/Pure.test/pure/logs.txt → dist/types/src/components/SunriseAnimation.test/implementation.d.ts} +0 -0
- /package/{testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/logs.txt → dist/types/src/components/SunriseAnimation.test/index.d.ts} +0 -0
package/dist/module/src/App.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import ReactDom from "react-dom/client";
|
|
4
4
|
import { HashRouter as Router, Routes, Route } from 'react-router-dom';
|
|
5
|
-
import {
|
|
6
|
-
import { ProjectPage } from './ProjectPage';
|
|
7
|
-
import { TestPage } from './TestPage';
|
|
5
|
+
import { TestPage } from './components/stateful/TestPage';
|
|
8
6
|
import { Container } from 'react-bootstrap';
|
|
9
7
|
import { SettingsButton } from './SettingsButton';
|
|
8
|
+
import { ProjectPage } from './components/stateful/ProjectPage';
|
|
9
|
+
import { ProjectsPage } from './components/stateful/ProjectsPage';
|
|
10
10
|
export const App = () => {
|
|
11
11
|
return (React.createElement(Router, null,
|
|
12
12
|
React.createElement("div", { className: "d-flex flex-column min-vh-100", key: window.location.pathname },
|
|
@@ -145,7 +145,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
145
145
|
process.exit(-1);
|
|
146
146
|
}
|
|
147
147
|
const builtfile = dest;
|
|
148
|
-
const webSideCares = [];
|
|
148
|
+
// const webSideCares: Page[] = [];
|
|
149
149
|
// fs.writeFileSync(
|
|
150
150
|
// `${reportDest}/stdlog.txt`,
|
|
151
151
|
// "THIS FILE IS AUTO GENERATED. IT IS PURPOSEFULLY LEFT BLANK."
|
|
@@ -182,32 +182,37 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
182
182
|
statusMessagePretty(results.fails, src, "pure");
|
|
183
183
|
this.bddTestIsNowDone(src, results.fails);
|
|
184
184
|
})
|
|
185
|
-
.catch((
|
|
186
|
-
console.log(ansiC.red(`launchPure - ${src} errored with: ${
|
|
185
|
+
.catch((e1) => {
|
|
186
|
+
console.log(ansiC.red(`launchPure - ${src} errored with: ${e1}`));
|
|
187
187
|
this.bddTestIsNowDone(src, -1);
|
|
188
|
+
statusMessagePretty(-1, src, "pure");
|
|
188
189
|
});
|
|
189
190
|
// .finally(() => {
|
|
190
191
|
// // webSideCares.forEach((webSideCar) => webSideCar.close());
|
|
191
192
|
// });
|
|
192
193
|
})
|
|
193
|
-
.catch((
|
|
194
|
+
.catch((e2) => {
|
|
194
195
|
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`,
|
|
196
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e2.stack, src);
|
|
196
197
|
this.bddTestIsNowDone(src, -1);
|
|
197
198
|
statusMessagePretty(-1, src, "pure");
|
|
198
199
|
// console.error(e);
|
|
199
200
|
})
|
|
200
201
|
.finally((x) => {
|
|
201
|
-
const fileSet = files[src] || new Set();
|
|
202
|
-
fs.writeFileSync(
|
|
202
|
+
// const fileSet = files[src] || new Set();
|
|
203
|
+
// fs.writeFileSync(
|
|
204
|
+
// reportDest + "/manifest.json",
|
|
205
|
+
// JSON.stringify(Array.from(fileSet))
|
|
206
|
+
// );
|
|
203
207
|
});
|
|
204
208
|
});
|
|
205
209
|
}
|
|
206
|
-
catch (
|
|
207
|
-
console.log(ansiC.red(ansiC.inverse(`${src} 1 errored with: ${
|
|
208
|
-
this.writeFileSync(`${reportDest}/logs.txt`,
|
|
210
|
+
catch (e3) {
|
|
211
|
+
console.log(ansiC.red(ansiC.inverse(`${src} 1 errored with: ${e3}. Check ${reportDest}/logs.txt for more info`)));
|
|
212
|
+
this.writeFileSync(`${reportDest}/logs.txt`, e3.stack, src);
|
|
209
213
|
this.bddTestIsNowDone(src, -1);
|
|
210
214
|
statusMessagePretty(-1, src, "pure");
|
|
215
|
+
console.log("III) PURE IS EXITING BADLY WITH error", e3);
|
|
211
216
|
}
|
|
212
217
|
for (let i = 0; i <= portsToUse.length; i++) {
|
|
213
218
|
if (portsToUse[i]) {
|
|
@@ -332,17 +337,22 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
332
337
|
});
|
|
333
338
|
child.on("error", (err) => { });
|
|
334
339
|
child.on("close", (code) => {
|
|
335
|
-
oStream.close();
|
|
340
|
+
// oStream.close();
|
|
336
341
|
server.close();
|
|
337
342
|
if (!files[src]) {
|
|
338
343
|
files[src] = new Set();
|
|
339
344
|
}
|
|
340
345
|
// files[src].add(filepath);
|
|
341
|
-
fs.writeFileSync(
|
|
346
|
+
// fs.writeFileSync(
|
|
347
|
+
// reportDest + "/manifest.json",
|
|
348
|
+
// JSON.stringify(Array.from(files[src]))
|
|
349
|
+
// );
|
|
342
350
|
if (code === 255) {
|
|
343
351
|
console.log(ansiColors.red(`node ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`));
|
|
344
352
|
this.bddTestIsNowDone(src, -1);
|
|
345
353
|
statusMessagePretty(-1, src, "node");
|
|
354
|
+
oStream.close();
|
|
355
|
+
return;
|
|
346
356
|
}
|
|
347
357
|
else if (code === 0) {
|
|
348
358
|
this.bddTestIsNowDone(src, 0);
|
|
@@ -393,7 +403,10 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
393
403
|
files[src] = new Set();
|
|
394
404
|
}
|
|
395
405
|
// files[src].add(filepath);
|
|
396
|
-
fs.writeFileSync(
|
|
406
|
+
// fs.writeFileSync(
|
|
407
|
+
// destFolder + "/manifest.json",
|
|
408
|
+
// JSON.stringify(Array.from(files[src]))
|
|
409
|
+
// );
|
|
397
410
|
delete files[src];
|
|
398
411
|
Promise.all(screenshots[src] || []).then(() => {
|
|
399
412
|
delete screenshots[src];
|
|
@@ -681,7 +694,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
681
694
|
try {
|
|
682
695
|
return await (await x.default).receiveTestResourceConfig(${webArgz})
|
|
683
696
|
} catch (e) {
|
|
684
|
-
console.log("
|
|
697
|
+
console.log("web run failure", e.toString())
|
|
685
698
|
}
|
|
686
699
|
})`;
|
|
687
700
|
const ofile = `${reportDest}/logs.txt`;
|
|
@@ -712,16 +725,21 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
712
725
|
files[src] = new Set();
|
|
713
726
|
}
|
|
714
727
|
// files[t].add(filepath);
|
|
715
|
-
fs.writeFileSync(
|
|
728
|
+
// fs.writeFileSync(
|
|
729
|
+
// destFolder + "/manifest.json",
|
|
730
|
+
// JSON.stringify(Array.from(files[src]))
|
|
731
|
+
// );
|
|
716
732
|
delete files[src];
|
|
717
733
|
Promise.all(screenshots[src] || []).then(() => {
|
|
718
734
|
delete screenshots[src];
|
|
719
735
|
page.close();
|
|
720
736
|
oStream.close();
|
|
721
737
|
});
|
|
738
|
+
console.log("ostream is closed");
|
|
739
|
+
return;
|
|
722
740
|
};
|
|
723
741
|
page.on("pageerror", (err) => {
|
|
724
|
-
console.log(ansiColors.red(`web ! ${src} failed to execute
|
|
742
|
+
console.log(ansiColors.red(`web ! ${src} failed to execute No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`));
|
|
725
743
|
oStream.write(err.name);
|
|
726
744
|
oStream.write("\n");
|
|
727
745
|
if (err.cause) {
|
|
@@ -740,33 +758,31 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
740
758
|
close();
|
|
741
759
|
});
|
|
742
760
|
page.on("console", (log) => {
|
|
743
|
-
|
|
744
|
-
oStream.
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
761
|
+
console.log("console message: ", log.text());
|
|
762
|
+
if (oStream.closed) {
|
|
763
|
+
console.log("missed console message: ", log.text());
|
|
764
|
+
return;
|
|
765
|
+
}
|
|
766
|
+
else {
|
|
767
|
+
oStream.write(log.text());
|
|
768
|
+
oStream.write("\n");
|
|
769
|
+
oStream.write(JSON.stringify(log.location()));
|
|
770
|
+
oStream.write("\n");
|
|
771
|
+
oStream.write(JSON.stringify(log.stackTrace()));
|
|
772
|
+
oStream.write("\n");
|
|
773
|
+
}
|
|
749
774
|
});
|
|
750
775
|
await page.goto(`file://${`${destFolder}.html`}`, {});
|
|
751
|
-
this.webSidecars[Math.random()] = page.mainFrame()._id;
|
|
752
776
|
await page
|
|
753
777
|
.evaluate(evaluation)
|
|
754
778
|
.then(async ({ fails, failed, features }) => {
|
|
755
|
-
// this.receiveFeatures(features, destFolder, src, "web");
|
|
756
|
-
// this.receiveFeaturesV2(reportDest, src, "web");
|
|
757
779
|
statusMessagePretty(fails, src, "web");
|
|
758
780
|
this.bddTestIsNowDone(src, fails);
|
|
759
781
|
close();
|
|
760
782
|
})
|
|
761
783
|
.catch((e) => {
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
// ansiC.red(
|
|
765
|
-
// ansiC.inverse(
|
|
766
|
-
// `web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`
|
|
767
|
-
// )
|
|
768
|
-
// )
|
|
769
|
-
// );
|
|
784
|
+
console.log(ansiC.red(ansiC.inverse(e)));
|
|
785
|
+
console.log(ansiC.red(ansiC.inverse(`web ! ${src} failed to execute. No "tests.json" file was generated. Check ${reportDest}/logs.txt for more info`)));
|
|
770
786
|
this.bddTestIsNowDone(src, -1);
|
|
771
787
|
})
|
|
772
788
|
.finally(() => {
|
|
@@ -979,9 +995,9 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
979
995
|
slowMo: 1,
|
|
980
996
|
waitForInitialPage: false,
|
|
981
997
|
executablePath,
|
|
982
|
-
headless:
|
|
998
|
+
headless: false,
|
|
983
999
|
dumpio: false,
|
|
984
|
-
devtools:
|
|
1000
|
+
devtools: true,
|
|
985
1001
|
args: [
|
|
986
1002
|
"--disable-features=site-per-process",
|
|
987
1003
|
"--allow-file-access-from-files",
|
|
@@ -1076,30 +1092,36 @@ export class PM_Main extends PM_WithEslintAndTsc {
|
|
|
1076
1092
|
// this.launchExternalTest(et, this.configs.externalTests[et]);
|
|
1077
1093
|
// });
|
|
1078
1094
|
}
|
|
1079
|
-
async launchExternalTest(
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1095
|
+
// async launchExternalTest(
|
|
1096
|
+
// externalTestName: string,
|
|
1097
|
+
// externalTest: {
|
|
1098
|
+
// watch: string[];
|
|
1099
|
+
// exec: string;
|
|
1100
|
+
// }
|
|
1101
|
+
// ) {
|
|
1102
|
+
// // fs.mkdirSync(`testeranto/externalTests/${externalTestName}`);
|
|
1103
|
+
// // exec(externalTest.exec, (error, stdout, stderr) => {
|
|
1104
|
+
// // if (error) {
|
|
1105
|
+
// // fs.writeFileSync(
|
|
1106
|
+
// // `testeranto/externalTests/${externalTestName}/exitcode.txt`,
|
|
1107
|
+
// // `${error.name}\n${error.message}\n${error.code}\n`
|
|
1108
|
+
// // );
|
|
1109
|
+
// // } else {
|
|
1110
|
+
// // fs.writeFileSync(
|
|
1111
|
+
// // `testeranto/externalTests/${externalTestName}/exitcode.txt`,
|
|
1112
|
+
// // `0`
|
|
1113
|
+
// // );
|
|
1114
|
+
// // }
|
|
1115
|
+
// // fs.writeFileSync(
|
|
1116
|
+
// // `testeranto/externalTests/${externalTestName}/stdout.txt`,
|
|
1117
|
+
// // stdout
|
|
1118
|
+
// // );
|
|
1119
|
+
// // fs.writeFileSync(
|
|
1120
|
+
// // `testeranto/externalTests/${externalTestName}/stderr.txt`,
|
|
1121
|
+
// // stderr
|
|
1122
|
+
// // );
|
|
1123
|
+
// // });
|
|
1124
|
+
// }
|
|
1103
1125
|
async stop() {
|
|
1104
1126
|
console.log(ansiC.inverse("Testeranto-Run is shutting down gracefully..."));
|
|
1105
1127
|
this.mode = "once";
|
|
@@ -1,110 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Table, Alert } from 'react-bootstrap';
|
|
3
|
-
import { useNavigate } from 'react-router-dom';
|
|
4
|
-
import { NavBar } from "./NavBar";
|
|
5
|
-
export const ProjectsPage = () => {
|
|
6
|
-
const [projects, setProjects] = useState([]);
|
|
7
|
-
const [summaries, setSummaries] = useState({});
|
|
8
|
-
const [loading, setLoading] = useState(true);
|
|
9
|
-
const [error, setError] = useState(null);
|
|
10
|
-
const navigate = useNavigate();
|
|
11
|
-
const [configs, setConfigs] = useState({});
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
const fetchProjects = async () => {
|
|
14
|
-
try {
|
|
15
|
-
const projectsRes = await fetch(`projects.json`);
|
|
16
|
-
const projectNames = await projectsRes.json();
|
|
17
|
-
// const projectNames = Object.keys(config.projects);
|
|
18
|
-
const projectsData = await Promise.all(projectNames.map(async (name) => {
|
|
19
|
-
var _a, _b, _c, _d, _e, _f;
|
|
20
|
-
const [summaryRes, nodeRes, webRes, pureRes, configRes] = await Promise.all([
|
|
21
|
-
fetch(`reports/${name}/summary.json`),
|
|
22
|
-
fetch(`bundles/node/${name}/metafile.json`),
|
|
23
|
-
fetch(`bundles/web/${name}/metafile.json`),
|
|
24
|
-
fetch(`bundles/pure/${name}/metafile.json`),
|
|
25
|
-
fetch(`reports/${name}/config.json`),
|
|
26
|
-
]);
|
|
27
|
-
const [summary, nodeData, webData, pureData, configData] = await Promise.all([
|
|
28
|
-
summaryRes.json(),
|
|
29
|
-
nodeRes.ok ? nodeRes.json() : { errors: ["Failed to load node build logs"] },
|
|
30
|
-
webRes.ok ? webRes.json() : { errors: ["Failed to load web build logs"] },
|
|
31
|
-
pureRes.ok ? pureRes.json() : { errors: ["Failed to load pure build logs"] },
|
|
32
|
-
configRes.json(),
|
|
33
|
-
]);
|
|
34
|
-
setSummaries(prev => (Object.assign(Object.assign({}, prev), { [name]: summary })));
|
|
35
|
-
setConfigs(prev => (Object.assign(Object.assign({}, prev), { [name]: configData })));
|
|
36
|
-
return {
|
|
37
|
-
name,
|
|
38
|
-
testCount: Object.keys(summary).length,
|
|
39
|
-
nodeStatus: ((_a = nodeData.errors) === null || _a === void 0 ? void 0 : _a.length) ? 'failed' : ((_b = nodeData.warnings) === null || _b === void 0 ? void 0 : _b.length) ? 'warning' : 'success',
|
|
40
|
-
webStatus: ((_c = webData.errors) === null || _c === void 0 ? void 0 : _c.length) ? 'failed' : ((_d = webData.warnings) === null || _d === void 0 ? void 0 : _d.length) ? 'warning' : 'success',
|
|
41
|
-
pureStatus: ((_e = pureData.errors) === null || _e === void 0 ? void 0 : _e.length) ? 'failed' : ((_f = pureData.warnings) === null || _f === void 0 ? void 0 : _f.length) ? 'warning' : 'success',
|
|
42
|
-
config: Object.keys(configData).length,
|
|
43
|
-
};
|
|
44
|
-
}));
|
|
45
|
-
setProjects(projectsData);
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
setError(err instanceof Error ? err.message : 'Unknown error');
|
|
49
|
-
}
|
|
50
|
-
finally {
|
|
51
|
-
setLoading(false);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
fetchProjects();
|
|
55
|
-
}, []);
|
|
56
|
-
const getStatusIcon = (status) => {
|
|
57
|
-
switch (status) {
|
|
58
|
-
case 'success': return '✅';
|
|
59
|
-
case 'failed': return '❌';
|
|
60
|
-
case 'warning': return '⚠️';
|
|
61
|
-
default: return '❓';
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
if (loading)
|
|
65
|
-
return React.createElement("div", null, "Loading projects...");
|
|
66
|
-
if (error)
|
|
67
|
-
return React.createElement(Alert, { variant: "danger" },
|
|
68
|
-
"Error: ",
|
|
69
|
-
error);
|
|
70
|
-
console.log(configs);
|
|
71
|
-
return (React.createElement("div", { className: "p-3" },
|
|
72
|
-
React.createElement(NavBar, { title: "Testeranto", backLink: null }),
|
|
73
|
-
React.createElement(Table, { striped: true, bordered: true, hover: true, responsive: true },
|
|
74
|
-
React.createElement("thead", null,
|
|
75
|
-
React.createElement("tr", null,
|
|
76
|
-
React.createElement("th", null, "Project"),
|
|
77
|
-
React.createElement("th", null, "Tests"),
|
|
78
|
-
React.createElement("th", null, "Node"),
|
|
79
|
-
React.createElement("th", null, "Web"),
|
|
80
|
-
React.createElement("th", null, "Pure"))),
|
|
81
|
-
React.createElement("tbody", null, projects.map((project) => (React.createElement("tr", { key: project.name },
|
|
82
|
-
React.createElement("td", null,
|
|
83
|
-
React.createElement("a", { href: "#", onClick: (e) => {
|
|
84
|
-
e.preventDefault();
|
|
85
|
-
navigate(`/projects/${project.name}`);
|
|
86
|
-
} }, project.name)),
|
|
87
|
-
React.createElement("td", null,
|
|
88
|
-
React.createElement("div", { style: { maxHeight: '200px', overflowY: 'auto' } }, summaries[project.name] ? (Object.keys(summaries[project.name]).map(testName => {
|
|
89
|
-
const testData = summaries[project.name][testName];
|
|
90
|
-
const runTime = configs[project.name].tests.find((t) => t[0] === testName)[1];
|
|
91
|
-
const hasRuntimeErrors = testData.runTimeErrors > 0;
|
|
92
|
-
const hasStaticErrors = testData.typeErrors > 0 || testData.staticErrors > 0;
|
|
93
|
-
return (React.createElement("div", { key: testName },
|
|
94
|
-
React.createElement("a", { href: `#/projects/${project.name}/tests/${encodeURIComponent(testName)}/${runTime}` },
|
|
95
|
-
hasRuntimeErrors ? '❌ ' : hasStaticErrors ? '⚠️ ' : '',
|
|
96
|
-
testName.split('/').pop())));
|
|
97
|
-
})) : (React.createElement("div", null, "Loading tests...")))),
|
|
98
|
-
React.createElement("td", null,
|
|
99
|
-
React.createElement("a", { href: `#/projects/${project.name}#node` },
|
|
100
|
-
getStatusIcon(project.nodeStatus),
|
|
101
|
-
" Node build logs")),
|
|
102
|
-
React.createElement("td", null,
|
|
103
|
-
React.createElement("a", { href: `#/projects/${project.name}#web` },
|
|
104
|
-
getStatusIcon(project.webStatus),
|
|
105
|
-
" Web build logs")),
|
|
106
|
-
React.createElement("td", null,
|
|
107
|
-
React.createElement("a", { href: `#/projects/${project.name}#pure` },
|
|
108
|
-
getStatusIcon(project.pureStatus),
|
|
109
|
-
" Pure build logs")))))))));
|
|
110
|
-
};
|
|
1
|
+
export { ProjectsPage } from './components/stateful/ProjectsPage';
|
package/dist/module/src/Pure.js
CHANGED
|
@@ -8,22 +8,24 @@ export class PureTesteranto extends Testeranto {
|
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
10
|
async receiveTestResourceConfig(partialTestResource) {
|
|
11
|
-
var _a, _b;
|
|
12
11
|
console.log("[DEBUG] receiveTestResourceConfig called with:", partialTestResource);
|
|
13
12
|
const t = JSON.parse(partialTestResource);
|
|
14
13
|
const pm = new PM_Pure(t);
|
|
15
|
-
console.log("[DEBUG] Current test jobs:",
|
|
16
|
-
if (!this.testJobs || this.testJobs.length === 0) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
// console.log("[DEBUG] Current test jobs:", this.testJobs?.length);
|
|
15
|
+
// if (!this.testJobs || this.testJobs.length === 0) {
|
|
16
|
+
// console.error(
|
|
17
|
+
// "[ERROR] No test jobs available - checking specs:",
|
|
18
|
+
// this.specs?.length
|
|
19
|
+
// );
|
|
20
|
+
// console.error("[ERROR] Test implementation:", this.testImplementation);
|
|
21
|
+
// return {
|
|
22
|
+
// failed: true,
|
|
23
|
+
// fails: 1,
|
|
24
|
+
// artifacts: [],
|
|
25
|
+
// // logPromise: Promise.resolve(),
|
|
26
|
+
// features: [],
|
|
27
|
+
// };
|
|
28
|
+
// }
|
|
27
29
|
try {
|
|
28
30
|
console.log("[DEBUG] Executing test job with PM:", pm);
|
|
29
31
|
const result = await this.testJobs[0].receiveTestResourceConfig(pm);
|
|
@@ -34,7 +36,7 @@ export class PureTesteranto extends Testeranto {
|
|
|
34
36
|
console.error("[ERROR] Test job failed:", e);
|
|
35
37
|
return {
|
|
36
38
|
failed: true,
|
|
37
|
-
fails: 1,
|
|
39
|
+
fails: -1,
|
|
38
40
|
artifacts: [],
|
|
39
41
|
// logPromise: Promise.resolve(),
|
|
40
42
|
features: [],
|
|
@@ -44,11 +44,54 @@ const server = http.createServer((req, res) => {
|
|
|
44
44
|
// First check if file exists
|
|
45
45
|
fs.stat(filePath, (err, stats) => {
|
|
46
46
|
if (err || !stats.isFile()) {
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
// Check if directory exists
|
|
48
|
+
fs.stat(filePath, (dirErr, dirStats) => {
|
|
49
|
+
if (!dirErr && dirStats.isDirectory()) {
|
|
50
|
+
// Serve directory listing
|
|
51
|
+
fs.readdir(filePath, (readErr, files) => {
|
|
52
|
+
if (readErr) {
|
|
53
|
+
res.writeHead(500);
|
|
54
|
+
return res.end('Error reading directory');
|
|
55
|
+
}
|
|
56
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
57
|
+
res.write(`
|
|
58
|
+
<html>
|
|
59
|
+
<head>
|
|
60
|
+
<title>Directory Listing: ${req.url}</title>
|
|
61
|
+
<style>
|
|
62
|
+
body { font-family: sans-serif; margin: 2rem; }
|
|
63
|
+
h1 { color: #333; }
|
|
64
|
+
ul { list-style: none; padding: 0; }
|
|
65
|
+
li { padding: 0.5rem; }
|
|
66
|
+
li a { color: #0366d6; text-decoration: none; }
|
|
67
|
+
li a:hover { text-decoration: underline; }
|
|
68
|
+
</style>
|
|
69
|
+
</head>
|
|
70
|
+
<body>
|
|
71
|
+
<h1>Directory: ${req.url}</h1>
|
|
72
|
+
<ul>
|
|
73
|
+
${files.map(file => `
|
|
74
|
+
<li>
|
|
75
|
+
<a href="${path.join(req.url || '', file)}">
|
|
76
|
+
${file}${file.endsWith('/') ? '/' : ''}
|
|
77
|
+
</a>
|
|
78
|
+
</li>
|
|
79
|
+
`).join('')}
|
|
80
|
+
</ul>
|
|
81
|
+
</body>
|
|
82
|
+
</html>
|
|
83
|
+
`);
|
|
84
|
+
res.end();
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Neither file nor directory exists - send 404
|
|
89
|
+
if (!res.headersSent) {
|
|
90
|
+
res.writeHead(404, { 'Content-Type': 'text/plain' });
|
|
91
|
+
res.end('File not found');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
});
|
|
52
95
|
return;
|
|
53
96
|
}
|
|
54
97
|
// File exists - serve it through node-static
|
|
@@ -184,22 +184,51 @@ export const TestPage = () => {
|
|
|
184
184
|
React.createElement(Button, { variant: "outline-light", onClick: () => setRoute('logs'), className: "me-2" }, "View Runtime Logs"),
|
|
185
185
|
React.createElement(Button, { variant: "outline-light", onClick: () => navigate(`/projects/${projectName}#${runtime}`) }, "View Build Logs")))) : testData ? (React.createElement("div", { className: "test-results" },
|
|
186
186
|
React.createElement("div", { className: "mb-3" }),
|
|
187
|
-
testData.givens.map((given, i) =>
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
187
|
+
testData.givens.map((given, i) => {
|
|
188
|
+
var _a;
|
|
189
|
+
return (React.createElement("div", { key: i, className: "mb-4 card" },
|
|
190
|
+
React.createElement("div", { className: "card-header bg-primary text-white" },
|
|
191
|
+
React.createElement("div", { className: "d-flex justify-content-between align-items-center" },
|
|
192
|
+
React.createElement("h4", null,
|
|
193
|
+
"Given: ",
|
|
194
|
+
given.name),
|
|
195
|
+
((_a = given.artifacts) === null || _a === void 0 ? void 0 : _a.length) > 0 && (React.createElement("div", { className: "dropdown" },
|
|
196
|
+
React.createElement("button", { className: "btn btn-sm btn-light dropdown-toggle", type: "button", "data-bs-toggle": "dropdown" },
|
|
197
|
+
"Artifacts (",
|
|
198
|
+
given.artifacts.length,
|
|
199
|
+
")"),
|
|
200
|
+
React.createElement("ul", { className: "dropdown-menu dropdown-menu-end" }, given.artifacts.map((artifact, ai) => (React.createElement("li", { key: ai },
|
|
201
|
+
React.createElement("a", { className: "dropdown-item", href: `/testeranto/reports/${projectName}/${testName.split('.').slice(0, -1).join('.')}/${runtime}/${artifact}`, target: "_blank", rel: "noopener noreferrer" }, artifact.split('/').pop()))))))))),
|
|
202
|
+
React.createElement("div", { className: "card-body" },
|
|
203
|
+
given.whens.map((when, j) => {
|
|
204
|
+
var _a;
|
|
205
|
+
return (React.createElement("div", { key: `w-${j}`, className: `p-3 mb-2 ${when.error ? 'bg-danger text-white' : 'bg-success text-white'}` },
|
|
206
|
+
React.createElement("div", { className: "d-flex justify-content-between align-items-start" },
|
|
207
|
+
React.createElement("div", null,
|
|
208
|
+
React.createElement("strong", null, "When:"),
|
|
209
|
+
" ",
|
|
210
|
+
when.name,
|
|
211
|
+
when.error && React.createElement("pre", { className: "mt-2" }, when.error)),
|
|
212
|
+
((_a = when.artifacts) === null || _a === void 0 ? void 0 : _a.length) > 0 && (React.createElement("div", { className: "ms-3" },
|
|
213
|
+
React.createElement("strong", null, "Artifacts:"),
|
|
214
|
+
React.createElement("ul", { className: "list-unstyled" }, when.artifacts.map((artifact, ai) => (React.createElement("li", { key: ai },
|
|
215
|
+
React.createElement("a", { href: `/testeranto/reports/${projectName}/${testName.split('.').slice(0, -1).join('.')}/${runtime}/${artifact}`, target: "_blank", className: "text-white", rel: "noopener noreferrer" }, artifact.split('/').pop()))))))))));
|
|
216
|
+
}),
|
|
217
|
+
given.thens.map((then, k) => {
|
|
218
|
+
var _a;
|
|
219
|
+
return (React.createElement("div", { key: `t-${k}`, className: `p-3 mb-2 ${then.error ? 'bg-danger text-white' : 'bg-success text-white'}` },
|
|
220
|
+
React.createElement("div", { className: "d-flex justify-content-between align-items-start" },
|
|
221
|
+
React.createElement("div", null,
|
|
222
|
+
React.createElement("strong", null, "Then:"),
|
|
223
|
+
" ",
|
|
224
|
+
then.name,
|
|
225
|
+
then.error && React.createElement("pre", { className: "mt-2" }, then.error)),
|
|
226
|
+
((_a = then.artifacts) === null || _a === void 0 ? void 0 : _a.length) > 0 && (React.createElement("div", { className: "ms-3" },
|
|
227
|
+
React.createElement("strong", null, "Artifacts:"),
|
|
228
|
+
React.createElement("ul", { className: "list-unstyled" }, then.artifacts.map((artifact, ai) => (React.createElement("li", { key: ai },
|
|
229
|
+
React.createElement("a", { href: `/testeranto/reports/${projectName}/${testName.split('.').slice(0, -1).join('.')}/${runtime}/${artifact}`, target: "_blank", className: "text-white", rel: "noopener noreferrer" }, artifact.split('/').pop()))))))))));
|
|
230
|
+
}))));
|
|
231
|
+
}))) : (React.createElement(Alert, { variant: "warning" }, "No test results found"))),
|
|
203
232
|
React.createElement(Tab.Pane, { eventKey: "logs" }, logs === undefined ? (React.createElement(Alert, { variant: "danger" },
|
|
204
233
|
React.createElement("h4", null, "Logs file missing"),
|
|
205
234
|
React.createElement("p", null, "The runtime logs file (logs.txt) was not found."),
|
package/dist/module/src/Web.js
CHANGED
|
@@ -3,29 +3,44 @@
|
|
|
3
3
|
import { PM_Web } from "./PM/web";
|
|
4
4
|
import Testeranto from "./lib/core.js";
|
|
5
5
|
import { defaultTestResourceRequirement, } from "./lib/index.js";
|
|
6
|
-
let errorCallback = (e) => {
|
|
7
|
-
let unhandledrejectionCallback = (event) => {
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
// let errorCallback = (e: any) => {};
|
|
7
|
+
// let unhandledrejectionCallback = (event: PromiseRejectionEvent) => {
|
|
8
|
+
// console.log(
|
|
9
|
+
// "window.addEventListener unhandledrejection 1",
|
|
10
|
+
// JSON.stringify(event)
|
|
11
|
+
// );
|
|
12
|
+
// };
|
|
10
13
|
export class WebTesteranto extends Testeranto {
|
|
11
14
|
constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter) {
|
|
12
15
|
super(input, testSpecification, testImplementation, testResourceRequirement, testAdapter, (cb) => {
|
|
13
|
-
window.removeEventListener("error", errorCallback);
|
|
14
|
-
errorCallback = (e) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
window.addEventListener("error", errorCallback);
|
|
20
|
-
window.removeEventListener(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
// window.removeEventListener("error", errorCallback);
|
|
17
|
+
// errorCallback = (e) => {
|
|
18
|
+
// console.log("window.addEventListener error 2", JSON.stringify(e));
|
|
19
|
+
// cb(e);
|
|
20
|
+
// // throw e;
|
|
21
|
+
// };
|
|
22
|
+
// window.addEventListener("error", errorCallback);
|
|
23
|
+
// window.removeEventListener(
|
|
24
|
+
// "unhandledrejection",
|
|
25
|
+
// unhandledrejectionCallback
|
|
26
|
+
// );
|
|
27
|
+
// /////////////////////
|
|
28
|
+
// window.removeEventListener(
|
|
29
|
+
// "unhandledrejection",
|
|
30
|
+
// unhandledrejectionCallback
|
|
31
|
+
// );
|
|
32
|
+
// unhandledrejectionCallback = (event: PromiseRejectionEvent) => {
|
|
33
|
+
// console.log(
|
|
34
|
+
// "window.addEventListener unhandledrejection 3",
|
|
35
|
+
// JSON.stringify(event)
|
|
36
|
+
// );
|
|
37
|
+
// cb({ error: event.reason.message });
|
|
38
|
+
// // throw event;
|
|
39
|
+
// };
|
|
40
|
+
// window.addEventListener(
|
|
41
|
+
// "unhandledrejection",
|
|
42
|
+
// unhandledrejectionCallback
|
|
43
|
+
// );
|
|
29
44
|
});
|
|
30
45
|
}
|
|
31
46
|
async receiveTestResourceConfig(partialTestResource) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|