testeranto 0.199.0 → 0.200.1
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/bin/test_runner +0 -0
- package/bin/testeranto +0 -0
- package/bundle.js +5 -4
- package/cmd/test_runner/main.go +65 -0
- package/cmd/testeranto/main.go +37 -0
- package/dist/common/src/PM/main.js +126 -11
- package/dist/common/src/PM/pitonoRunner.js +54 -0
- package/dist/common/src/components/pure/TestPageView.js +180 -65
- package/dist/common/src/components/stateful/TestPage.js +50 -11
- package/dist/common/src/lib/abstractBase.test/index.js +1 -0
- package/dist/common/src/run.js +48 -82
- package/dist/common/src/{build.js → testeranto.js} +107 -55
- package/dist/common/src/utils/golingvuMetafile.js +116 -0
- package/dist/common/src/utils/logFiles.js +2 -1
- package/dist/common/src/utils/pitonoMetafile.js +67 -0
- package/dist/common/src/utils.js +40 -1
- package/dist/common/testeranto.config.js +23 -21
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/PM/main.js +126 -11
- package/dist/module/src/PM/pitonoRunner.js +47 -0
- package/dist/module/src/components/pure/TestPageView.js +180 -65
- package/dist/module/src/components/stateful/TestPage.js +50 -11
- package/dist/module/src/lib/abstractBase.test/index.js +1 -0
- package/dist/module/src/run.js +49 -45
- package/dist/module/src/{build.js → testeranto.js} +107 -55
- package/dist/module/src/utils/golingvuMetafile.js +109 -0
- package/dist/module/src/utils/logFiles.js +2 -1
- package/dist/module/src/utils/pitonoMetafile.js +60 -0
- package/dist/module/src/utils.js +40 -1
- package/dist/module/testeranto.config.js +23 -21
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.js +81 -17
- package/dist/prebuild/testeranto.mjs +3249 -0
- package/dist/types/src/PM/main.d.ts +2 -0
- package/dist/types/src/PM/pitonoRunner.d.ts +7 -0
- package/dist/types/src/Types.d.ts +1 -1
- package/dist/types/src/run.d.ts +0 -1
- package/dist/types/src/utils/golingvuMetafile.d.ts +19 -0
- package/dist/types/src/utils/logFiles.d.ts +5 -1
- package/dist/types/src/utils/pitonoMetafile.d.ts +7 -0
- package/dist/types/src/utils.d.ts +5 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs/index.md +13 -13
- package/example/test_example.py +106 -0
- package/go.mod +3 -0
- package/package.json +2 -2
- package/pitono/__init__.py +54 -0
- package/pitono/base_given.py +131 -0
- package/pitono/base_suite.py +95 -0
- package/pitono/base_then.py +50 -0
- package/pitono/base_when.py +52 -0
- package/pitono/core_generator.py +110 -0
- package/pitono/pitono.egg-info/PKG-INFO +17 -0
- package/pitono/pitono.egg-info/SOURCES.txt +7 -0
- package/pitono/pitono.egg-info/dependency_links.txt +1 -0
- package/pitono/pitono.egg-info/entry_points.txt +2 -0
- package/pitono/pitono.egg-info/top_level.txt +1 -0
- package/pitono/pyproject.toml +26 -0
- package/pitono/setup.py +40 -0
- package/pitono/simple_adapter.py +24 -0
- package/pitono/types.py +78 -0
- package/sampleMetafile.json +56 -0
- package/src/PM/main.ts +146 -17
- package/src/PM/pitonoRunner.ts +49 -0
- package/src/Types.ts +1 -1
- package/src/components/pure/TestPageView.tsx +175 -8
- package/src/components/stateful/TestPage.tsx +57 -16
- package/src/core/types.go +36 -0
- package/src/golingvu/README.md +3 -0
- package/src/golingvu/base_given.go +76 -0
- package/src/golingvu/base_suite.go +39 -0
- package/src/golingvu/base_suite_test.go +197 -0
- package/src/golingvu/base_then.go +21 -0
- package/src/golingvu/base_when.go +21 -0
- package/src/golingvu/golingvu.go +179 -0
- package/src/golingvu/test_adapter.go +33 -0
- package/src/golingvu/types.go +86 -0
- package/src/lib/abstractBase.test/index.ts +1 -0
- package/src/pitono/README.md +3 -0
- package/src/run.ts +48 -48
- package/src/templates/frontpage.html +26 -17
- package/src/{build.ts → testeranto.ts} +128 -58
- package/src/utils/golingvuMetafile.ts +165 -0
- package/src/utils/logFiles.ts +2 -1
- package/src/utils/pitonoMetafile.ts +68 -0
- package/src/utils.ts +38 -1
- package/testeranto/App.js +81 -17
- package/testeranto/metafiles/golang/core.json +72 -0
- package/testeranto/metafiles/node/core.json +21 -459
- package/testeranto/metafiles/pure/core.json +18 -119
- package/testeranto/metafiles/web/core.json +37 -16797
- package/testeranto/reports/core/config.json +8 -40
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +6 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +12 -1
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +11 -1
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +13 -3
- package/testeranto/reports/core/summary.json +9 -45
- package/testeranto.config.ts +25 -21
- package/tsc.log +46 -7
- package/dist/common/src/lib/mocks.test.js +0 -11
- package/dist/module/src/lib/mocks.test.js +0 -11
- package/dist/prebuild/ReportServer.mjs +0 -227
- package/dist/prebuild/build.mjs +0 -578
- package/dist/prebuild/mothership/index.mjs +0 -22
- package/dist/prebuild/run.mjs +0 -2290
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/src/lib/mocks.test.d.ts +0 -0
- package/src/lib/mocks.test.ts +0 -11
- package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/Pure.test/pure/message.txt +0 -17
- package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +0 -14
- package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +0 -66
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +0 -67
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +0 -1
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +0 -2
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +0 -17
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +0 -16
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +0 -68
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +0 -56
- package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +0 -22
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +0 -1
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -2
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -13
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -17
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -16
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +0 -88
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -45
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -0
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +0 -1
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +0 -2
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +0 -47
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/message.txt +0 -17
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +0 -17
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +0 -57
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +0 -99
- package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +0 -1
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/lint_errors.txt +0 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +0 -17
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +0 -17
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +0 -18
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stdout.log +0 -0
- package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +0 -32
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +0 -1
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +0 -15
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +0 -17
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +0 -17
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -66
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +0 -10
- package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +0 -47
- /package/dist/types/src/{build.d.ts → testeranto.d.ts} +0 -0
package/testeranto/App.js
CHANGED
|
@@ -27789,7 +27789,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
27789
27789
|
LINT_ERRORS: "lint_errors.txt",
|
|
27790
27790
|
EXIT: "exit.log",
|
|
27791
27791
|
MESSAGE: "message.txt",
|
|
27792
|
-
PROMPT: "prompt.txt"
|
|
27792
|
+
PROMPT: "prompt.txt",
|
|
27793
|
+
BUILD: "build.json"
|
|
27793
27794
|
};
|
|
27794
27795
|
var RUNTIME_SPECIFIC_LOGS = {
|
|
27795
27796
|
node: {
|
|
@@ -33973,9 +33974,39 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
33973
33974
|
const [expandedSections, setExpandedSections] = (0, import_react81.useState)({
|
|
33974
33975
|
standardLogs: true,
|
|
33975
33976
|
runtimeLogs: true,
|
|
33976
|
-
sourceFiles: true
|
|
33977
|
+
sourceFiles: true,
|
|
33978
|
+
buildErrors: true
|
|
33977
33979
|
});
|
|
33978
33980
|
const [isNavbarCollapsed, setIsNavbarCollapsed] = (0, import_react81.useState)(false);
|
|
33981
|
+
const [buildErrors, setBuildErrors] = (0, import_react81.useState)({ errors: [], warnings: [] });
|
|
33982
|
+
(0, import_react81.useEffect)(() => {
|
|
33983
|
+
const metafile = logs.build_logs?.metafile;
|
|
33984
|
+
if (!metafile) {
|
|
33985
|
+
setBuildErrors({ errors: [], warnings: [] });
|
|
33986
|
+
return;
|
|
33987
|
+
}
|
|
33988
|
+
const sourceFilesSet = /* @__PURE__ */ new Set();
|
|
33989
|
+
Object.entries(metafile.outputs || {}).forEach(([outputPath, output]) => {
|
|
33990
|
+
const normalizedTestName = testName.replace(/\\/g, "/");
|
|
33991
|
+
const normalizedEntryPoint = output.entryPoint ? output.entryPoint.replace(/\\/g, "/") : "";
|
|
33992
|
+
if (normalizedEntryPoint.includes(normalizedTestName)) {
|
|
33993
|
+
Object.keys(output.inputs || {}).forEach((inputPath) => {
|
|
33994
|
+
sourceFilesSet.add(inputPath.replace(/\\/g, "/"));
|
|
33995
|
+
});
|
|
33996
|
+
}
|
|
33997
|
+
});
|
|
33998
|
+
const filteredErrors = (logs.build_logs?.errors || []).filter((err) => {
|
|
33999
|
+
if (!err.location || !err.location.file)
|
|
34000
|
+
return false;
|
|
34001
|
+
return sourceFilesSet.has(err.location.file.replace(/\\/g, "/"));
|
|
34002
|
+
});
|
|
34003
|
+
const filteredWarnings = (logs.build_logs?.warnings || []).filter((warn) => {
|
|
34004
|
+
if (!warn.location || !warn.location.file)
|
|
34005
|
+
return false;
|
|
34006
|
+
return sourceFilesSet.has(warn.location.file.replace(/\\/g, "/"));
|
|
34007
|
+
});
|
|
34008
|
+
setBuildErrors({ errors: filteredErrors, warnings: filteredWarnings });
|
|
34009
|
+
}, [logs, testName]);
|
|
33979
34010
|
(0, import_react81.useEffect)(() => {
|
|
33980
34011
|
if (typeof logs["message.txt"] === "string" && logs["message.txt"].trim()) {
|
|
33981
34012
|
setCustomMessage(logs["message.txt"]);
|
|
@@ -34092,7 +34123,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
34092
34123
|
},
|
|
34093
34124
|
artifact.split("/").pop()
|
|
34094
34125
|
))))))
|
|
34095
|
-
))))));
|
|
34126
|
+
))))), (buildErrors.errors.length > 0 || buildErrors.warnings.length > 0) && /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-4 card border-danger" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "card-header bg-danger text-white" }, /* @__PURE__ */ import_react81.default.createElement("h4", null, "Build Errors and Warnings")), /* @__PURE__ */ import_react81.default.createElement("div", { className: "card-body" }, buildErrors.errors.length > 0 && /* @__PURE__ */ import_react81.default.createElement(import_react81.default.Fragment, null, /* @__PURE__ */ import_react81.default.createElement("h5", null, "Errors"), /* @__PURE__ */ import_react81.default.createElement("ul", null, buildErrors.errors.map((error, idx) => /* @__PURE__ */ import_react81.default.createElement("li", { key: `build-error-${idx}` }, /* @__PURE__ */ import_react81.default.createElement("strong", null, error.text), error.location && /* @__PURE__ */ import_react81.default.createElement("div", null, "File: ", error.location.file, " Line: ", error.location.line, " Column: ", error.location.column))))), buildErrors.warnings.length > 0 && /* @__PURE__ */ import_react81.default.createElement(import_react81.default.Fragment, null, /* @__PURE__ */ import_react81.default.createElement("h5", null, "Warnings"), /* @__PURE__ */ import_react81.default.createElement("ul", null, buildErrors.warnings.map((warning6, idx) => /* @__PURE__ */ import_react81.default.createElement("li", { key: `build-warning-${idx}` }, /* @__PURE__ */ import_react81.default.createElement("strong", null, warning6.text), warning6.location && /* @__PURE__ */ import_react81.default.createElement("div", null, "File: ", warning6.location.file, " Line: ", warning6.location.line, " Column: ", warning6.location.column))))))));
|
|
34096
34127
|
};
|
|
34097
34128
|
console.log("Rendering TestPageView with logs:", {
|
|
34098
34129
|
logKeys: Object.keys(logs),
|
|
@@ -34215,8 +34246,8 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
|
|
|
34215
34246
|
/* @__PURE__ */ import_react81.default.createElement("i", { className: `bi bi-chevron-${expandedSections.standardLogs ? "down" : "right"} me-1` }),
|
|
34216
34247
|
/* @__PURE__ */ import_react81.default.createElement("span", null, "Standard Logs")
|
|
34217
34248
|
), expandedSections.standardLogs && /* @__PURE__ */ import_react81.default.createElement("div", null, Object.values(STANDARD_LOGS).map((logName) => {
|
|
34218
|
-
const logContent = logs[logName];
|
|
34219
|
-
const exists = logContent !== void 0 && (typeof logContent === "string" && logContent.trim() !== "" || typeof logContent === "object" && Object.keys(logContent).length > 0);
|
|
34249
|
+
const logContent = logs ? logs[logName] : void 0;
|
|
34250
|
+
const exists = logContent !== void 0 && (typeof logContent === "string" && logContent.trim() !== "" || typeof logContent === "object" && logContent !== null && Object.keys(logContent).length > 0);
|
|
34220
34251
|
return /* @__PURE__ */ import_react81.default.createElement(
|
|
34221
34252
|
FileTreeItem,
|
|
34222
34253
|
{
|
|
@@ -34246,7 +34277,7 @@ This file was not generated during the test run.`,
|
|
|
34246
34277
|
}
|
|
34247
34278
|
}
|
|
34248
34279
|
);
|
|
34249
|
-
}))), Object.values(RUNTIME_SPECIFIC_LOGS[runtime]).length > 0 && /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-2" }, /* @__PURE__ */ import_react81.default.createElement(
|
|
34280
|
+
}))), runtime && RUNTIME_SPECIFIC_LOGS[runtime] && Object.values(RUNTIME_SPECIFIC_LOGS[runtime]).length > 0 && /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-2" }, /* @__PURE__ */ import_react81.default.createElement(
|
|
34250
34281
|
"div",
|
|
34251
34282
|
{
|
|
34252
34283
|
className: "d-flex align-items-center text-muted mb-1",
|
|
@@ -34256,8 +34287,8 @@ This file was not generated during the test run.`,
|
|
|
34256
34287
|
/* @__PURE__ */ import_react81.default.createElement("i", { className: `bi bi-chevron-${expandedSections.runtimeLogs ? "down" : "right"} me-1` }),
|
|
34257
34288
|
/* @__PURE__ */ import_react81.default.createElement("span", null, "Runtime Logs")
|
|
34258
34289
|
), expandedSections.runtimeLogs && /* @__PURE__ */ import_react81.default.createElement("div", null, Object.values(RUNTIME_SPECIFIC_LOGS[runtime]).map((logName) => {
|
|
34259
|
-
const logContent = logs[logName];
|
|
34260
|
-
const exists = logContent !== void 0 && (typeof logContent === "string" && logContent.trim() !== "" || typeof logContent === "object" && Object.keys(logContent).length > 0);
|
|
34290
|
+
const logContent = logs ? logs[logName] : void 0;
|
|
34291
|
+
const exists = logContent !== void 0 && (typeof logContent === "string" && logContent.trim() !== "" || typeof logContent === "object" && logContent !== null && Object.keys(logContent).length > 0);
|
|
34261
34292
|
return /* @__PURE__ */ import_react81.default.createElement(
|
|
34262
34293
|
FileTreeItem,
|
|
34263
34294
|
{
|
|
@@ -34287,7 +34318,7 @@ This file was not generated during the test run.`,
|
|
|
34287
34318
|
}
|
|
34288
34319
|
}
|
|
34289
34320
|
);
|
|
34290
|
-
}))), logs.source_files && /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-2" }, /* @__PURE__ */ import_react81.default.createElement(
|
|
34321
|
+
}))), logs && logs.source_files && /* @__PURE__ */ import_react81.default.createElement("div", { className: "p-2" }, /* @__PURE__ */ import_react81.default.createElement(
|
|
34291
34322
|
"div",
|
|
34292
34323
|
{
|
|
34293
34324
|
className: "d-flex align-items-center text-muted mb-1",
|
|
@@ -34353,7 +34384,14 @@ This file was not generated during the test run.`,
|
|
|
34353
34384
|
className: "btn btn-sm btn-outline-primary"
|
|
34354
34385
|
},
|
|
34355
34386
|
"Open Full Size"
|
|
34356
|
-
))), selectedFile?.path.endsWith(".json") &&
|
|
34387
|
+
))), selectedFile?.path.endsWith("build.json") && /* @__PURE__ */ import_react81.default.createElement("div", null, /* @__PURE__ */ import_react81.default.createElement("h5", null, "Build Information"), (() => {
|
|
34388
|
+
try {
|
|
34389
|
+
const buildData = JSON.parse(selectedFile.content);
|
|
34390
|
+
return /* @__PURE__ */ import_react81.default.createElement(import_react81.default.Fragment, null, buildData.errors?.length > 0 && /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-3" }, /* @__PURE__ */ import_react81.default.createElement("h6", { className: "text-danger" }, "Errors (", buildData.errors.length, ")"), /* @__PURE__ */ import_react81.default.createElement("ul", { className: "list-unstyled" }, buildData.errors.map((error, index2) => /* @__PURE__ */ import_react81.default.createElement("li", { key: index2, className: "mb-2 p-2 bg-light rounded" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "text-danger fw-bold" }, error.text), error.location && /* @__PURE__ */ import_react81.default.createElement("div", { className: "small text-muted" }, "File: ", error.location.file, "Line: ", error.location.line, "Column: ", error.location.column), error.notes && error.notes.length > 0 && /* @__PURE__ */ import_react81.default.createElement("div", { className: "small" }, "Notes:", /* @__PURE__ */ import_react81.default.createElement("ul", null, error.notes.map((note, noteIndex) => /* @__PURE__ */ import_react81.default.createElement("li", { key: noteIndex }, note.text)))))))), buildData.warnings?.length > 0 && /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-3" }, /* @__PURE__ */ import_react81.default.createElement("h6", { className: "text-warning" }, "Warnings (", buildData.warnings.length, ")"), /* @__PURE__ */ import_react81.default.createElement("ul", { className: "list-unstyled" }, buildData.warnings.map((warning6, index2) => /* @__PURE__ */ import_react81.default.createElement("li", { key: index2, className: "mb-2 p-2 bg-light rounded" }, /* @__PURE__ */ import_react81.default.createElement("div", { className: "text-warning fw-bold" }, warning6.text), warning6.location && /* @__PURE__ */ import_react81.default.createElement("div", { className: "small text-muted" }, "File: ", warning6.location.file, "Line: ", warning6.location.line, "Column: ", warning6.location.column), warning6.notes && warning6.notes.length > 0 && /* @__PURE__ */ import_react81.default.createElement("div", { className: "small" }, "Notes:", /* @__PURE__ */ import_react81.default.createElement("ul", null, warning6.notes.map((note, noteIndex) => /* @__PURE__ */ import_react81.default.createElement("li", { key: noteIndex }, note.text)))))))), (!buildData.errors || buildData.errors.length === 0) && (!buildData.warnings || buildData.warnings.length === 0) && /* @__PURE__ */ import_react81.default.createElement("div", { className: "alert alert-success" }, "No build errors or warnings"));
|
|
34391
|
+
} catch (e) {
|
|
34392
|
+
return /* @__PURE__ */ import_react81.default.createElement("div", { className: "alert alert-danger" }, "Error parsing build.json: ", e.message);
|
|
34393
|
+
}
|
|
34394
|
+
})()), selectedFile?.path.endsWith(".json") && !selectedFile.path.endsWith("tests.json") && !selectedFile.path.endsWith("build.json") && /* @__PURE__ */ import_react81.default.createElement("pre", { className: "bg-light p-2 small" }, /* @__PURE__ */ import_react81.default.createElement("code", null, selectedFile.content)), selectedFile?.path.includes("source_files") && /* @__PURE__ */ import_react81.default.createElement("div", null, /* @__PURE__ */ import_react81.default.createElement("div", { className: "mb-2 small text-muted" }, /* @__PURE__ */ import_react81.default.createElement("i", { className: "bi bi-file-earmark-text me-1" }), selectedFile.path.split("/").pop()), /* @__PURE__ */ import_react81.default.createElement(
|
|
34357
34395
|
Button_default2,
|
|
34358
34396
|
{
|
|
34359
34397
|
variant: "outline-primary",
|
|
@@ -34448,6 +34486,7 @@ This file was not generated during the test run.`,
|
|
|
34448
34486
|
const receivedLogs = await testResponse.logs;
|
|
34449
34487
|
console.log("Received logs:", Object.keys(receivedLogs));
|
|
34450
34488
|
let sourceFiles = {};
|
|
34489
|
+
let buildLogs = {};
|
|
34451
34490
|
if (metafileRes.ok) {
|
|
34452
34491
|
const metafile = await metafileRes.json();
|
|
34453
34492
|
if (metafile?.metafile?.outputs) {
|
|
@@ -34457,19 +34496,22 @@ This file was not generated during the test run.`,
|
|
|
34457
34496
|
const normalizedTestPath = testPath.replace(/\./g, "_");
|
|
34458
34497
|
const testFileName = testPath.split("/").pop();
|
|
34459
34498
|
const testBaseName = testFileName?.split(".").slice(0, -1).join(".");
|
|
34460
|
-
|
|
34499
|
+
const normalizedOutputPath = outputPath.replace(/\//g, "_");
|
|
34500
|
+
return output.entryPoint === testEntryPoint || outputPath.includes(normalizedTestPath) || normalizedOutputPath.includes(normalizedTestPath) || testBaseName && outputPath.includes(testBaseName);
|
|
34461
34501
|
});
|
|
34462
34502
|
matchingOutputs.forEach(([_2, output]) => {
|
|
34463
34503
|
Object.keys(output.inputs).forEach((inputPath) => {
|
|
34464
|
-
if ((inputPath.endsWith(".ts") || inputPath.endsWith(".tsx")) && !inputPath.includes("node_modules")) {
|
|
34504
|
+
if ((inputPath.endsWith(".ts") || inputPath.endsWith(".tsx") || inputPath.endsWith(".go")) && !inputPath.includes("node_modules")) {
|
|
34465
34505
|
const inputDetails = metafile.metafile.inputs[inputPath];
|
|
34466
34506
|
if (inputDetails) {
|
|
34467
34507
|
tsSources.add(inputPath);
|
|
34468
|
-
|
|
34469
|
-
|
|
34470
|
-
|
|
34471
|
-
|
|
34472
|
-
|
|
34508
|
+
if (inputPath.endsWith(".ts") || inputPath.endsWith(".tsx")) {
|
|
34509
|
+
inputDetails.imports.forEach((imp) => {
|
|
34510
|
+
if ((imp.path.endsWith(".ts") || imp.path.endsWith(".tsx")) && !imp.path.includes("node_modules") && !imp.external) {
|
|
34511
|
+
tsSources.add(imp.path);
|
|
34512
|
+
}
|
|
34513
|
+
});
|
|
34514
|
+
}
|
|
34473
34515
|
}
|
|
34474
34516
|
}
|
|
34475
34517
|
});
|
|
@@ -34513,10 +34555,13 @@ This file was not generated during the test run.`,
|
|
|
34513
34555
|
});
|
|
34514
34556
|
});
|
|
34515
34557
|
sourceFiles = fileTree;
|
|
34558
|
+
buildLogs = metafile;
|
|
34516
34559
|
}
|
|
34517
34560
|
}
|
|
34518
34561
|
receivedLogs["source_files"] = sourceFiles;
|
|
34562
|
+
receivedLogs["build_logs"] = buildLogs;
|
|
34519
34563
|
console.log("Source files structure:", sourceFiles);
|
|
34564
|
+
console.log("Build logs:", buildLogs);
|
|
34520
34565
|
if (receivedLogs["tests.json"]) {
|
|
34521
34566
|
console.log("tests.json content type:", typeof receivedLogs["tests.json"]);
|
|
34522
34567
|
try {
|
|
@@ -34547,6 +34592,25 @@ This file was not generated during the test run.`,
|
|
|
34547
34592
|
} catch (err) {
|
|
34548
34593
|
console.error("Failed to load summary:", err);
|
|
34549
34594
|
}
|
|
34595
|
+
try {
|
|
34596
|
+
const pathParts2 = testPath.split("/");
|
|
34597
|
+
const fileName = pathParts2.pop();
|
|
34598
|
+
const directoryPath = pathParts2.join("/");
|
|
34599
|
+
const buildUrl = `/reports/${projectName}/${directoryPath}/${runtime}/build.json`;
|
|
34600
|
+
console.log(`Fetching build.json from: ${buildUrl}`);
|
|
34601
|
+
const buildResponse = await fetch(buildUrl);
|
|
34602
|
+
if (buildResponse.ok) {
|
|
34603
|
+
const buildData = await buildResponse.json();
|
|
34604
|
+
console.log("Build data received:", buildData);
|
|
34605
|
+
receivedLogs["build.json"] = buildData;
|
|
34606
|
+
} else {
|
|
34607
|
+
console.log("Build.json not found or not accessible, status:", buildResponse.status);
|
|
34608
|
+
receivedLogs["build.json"] = { errors: [], warnings: [] };
|
|
34609
|
+
}
|
|
34610
|
+
} catch (err) {
|
|
34611
|
+
console.log("No build.json found or error fetching it:", err);
|
|
34612
|
+
receivedLogs["build.json"] = { errors: [], warnings: [] };
|
|
34613
|
+
}
|
|
34550
34614
|
} catch (err) {
|
|
34551
34615
|
setError(err instanceof Error ? err.message : "Unknown error");
|
|
34552
34616
|
setTestsExist(false);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"errors": [],
|
|
3
|
+
"warnings": [],
|
|
4
|
+
"metafile": {
|
|
5
|
+
"inputs": {
|
|
6
|
+
"src/golingvu/base_given.go": {
|
|
7
|
+
"bytes": 2296,
|
|
8
|
+
"imports": []
|
|
9
|
+
},
|
|
10
|
+
"src/golingvu/base_suite.go": {
|
|
11
|
+
"bytes": 1231,
|
|
12
|
+
"imports": []
|
|
13
|
+
},
|
|
14
|
+
"src/golingvu/base_suite_test.go": {
|
|
15
|
+
"bytes": 4477,
|
|
16
|
+
"imports": []
|
|
17
|
+
},
|
|
18
|
+
"src/golingvu/base_then.go": {
|
|
19
|
+
"bytes": 646,
|
|
20
|
+
"imports": []
|
|
21
|
+
},
|
|
22
|
+
"src/golingvu/base_when.go": {
|
|
23
|
+
"bytes": 646,
|
|
24
|
+
"imports": []
|
|
25
|
+
},
|
|
26
|
+
"src/golingvu/golingvu.go": {
|
|
27
|
+
"bytes": 5556,
|
|
28
|
+
"imports": []
|
|
29
|
+
},
|
|
30
|
+
"src/golingvu/test_adapter.go": {
|
|
31
|
+
"bytes": 1063,
|
|
32
|
+
"imports": []
|
|
33
|
+
},
|
|
34
|
+
"src/golingvu/types.go": {
|
|
35
|
+
"bytes": 2598,
|
|
36
|
+
"imports": []
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"outputs": {
|
|
40
|
+
"testeranto/bundles/golang/core/src/golingvu/base_suite_test.go": {
|
|
41
|
+
"bytes": 18513,
|
|
42
|
+
"inputs": {
|
|
43
|
+
"src/golingvu/base_given.go": {
|
|
44
|
+
"bytesInOutput": 2296
|
|
45
|
+
},
|
|
46
|
+
"src/golingvu/base_suite.go": {
|
|
47
|
+
"bytesInOutput": 1231
|
|
48
|
+
},
|
|
49
|
+
"src/golingvu/base_suite_test.go": {
|
|
50
|
+
"bytesInOutput": 4477
|
|
51
|
+
},
|
|
52
|
+
"src/golingvu/base_then.go": {
|
|
53
|
+
"bytesInOutput": 646
|
|
54
|
+
},
|
|
55
|
+
"src/golingvu/base_when.go": {
|
|
56
|
+
"bytesInOutput": 646
|
|
57
|
+
},
|
|
58
|
+
"src/golingvu/golingvu.go": {
|
|
59
|
+
"bytesInOutput": 5556
|
|
60
|
+
},
|
|
61
|
+
"src/golingvu/test_adapter.go": {
|
|
62
|
+
"bytesInOutput": 1063
|
|
63
|
+
},
|
|
64
|
+
"src/golingvu/types.go": {
|
|
65
|
+
"bytesInOutput": 2598
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"entryPoint": "src/golingvu/base_suite_test.go"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|