testeranto 0.219.11 → 0.219.13

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.
Files changed (126) hide show
  1. package/dist/common/src/Types.js +61 -0
  2. package/dist/common/src/esbuildConfigs/index.js +2 -1
  3. package/dist/common/src/server/runtimes/node/docker.js +7 -6
  4. package/dist/common/src/server/runtimes/node/esbuild.js +18 -18
  5. package/dist/common/src/server/runtimes/node/node.js +12 -8
  6. package/dist/common/src/server/serverClasees/Server_Base.js +2 -1
  7. package/dist/common/src/server/serverClasees/Server_Docker.js +81 -99
  8. package/dist/common/src/testeranto.js +29 -31
  9. package/dist/common/testeranto/runtimes/node/node.js +2 -1
  10. package/dist/common/testeranto/testeranto.js +70 -0
  11. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  12. package/dist/module/src/Types.js +61 -0
  13. package/dist/module/src/esbuildConfigs/index.js +2 -1
  14. package/dist/module/src/server/runtimes/node/docker.js +7 -6
  15. package/dist/module/src/server/runtimes/node/esbuild.js +18 -18
  16. package/dist/module/src/server/runtimes/node/node.js +12 -8
  17. package/dist/module/src/server/serverClasees/Server_Base.js +2 -1
  18. package/dist/module/src/server/serverClasees/Server_Docker.js +81 -99
  19. package/dist/module/src/testeranto.js +29 -28
  20. package/dist/module/testeranto/runtimes/node/node.js +2 -1
  21. package/dist/module/testeranto/testeranto.js +68 -0
  22. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  23. package/dist/prebuild/{chunk-MU5PJQAO.mjs → chunk-QLT7PNPK.mjs} +3 -3
  24. package/dist/prebuild/server/runtimes/node/node.mjs +20 -21
  25. package/dist/prebuild/server/runtimes/web/web.mjs +1 -1
  26. package/dist/prebuild/testeranto-6SAYRVSE.mjs +72 -0
  27. package/dist/prebuild/testeranto.mjs +75 -108
  28. package/dist/types/{Types.d.ts → src/Types.d.ts} +14 -79
  29. package/dist/types/src/esbuildConfigs/index.d.ts +3 -0
  30. package/dist/types/{server → src/server}/runtimes/golang/docker.d.ts +2 -2
  31. package/dist/types/src/server/runtimes/node/docker.d.ts +14 -0
  32. package/dist/types/src/server/runtimes/node/esbuild.d.ts +4 -0
  33. package/dist/types/{server → src/server}/serverClasees/Server.d.ts +2 -2
  34. package/dist/types/{server → src/server}/serverClasees/Server_Base.d.ts +3 -3
  35. package/dist/types/{server → src/server}/serverClasees/Server_Docker.d.ts +2 -2
  36. package/dist/types/{server → src/server}/serverClasees/Server_HTTP.d.ts +2 -2
  37. package/dist/types/{server → src/server}/serverClasees/Server_WS.d.ts +2 -2
  38. package/dist/types/testeranto/testeranto.d.ts +3 -0
  39. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/src/Types.ts +132 -69
  42. package/src/esbuildConfigs/index.ts +4 -3
  43. package/src/lib/pitono/pyproject.toml +1 -1
  44. package/src/server/runtimes/golang/docker.ts +2 -2
  45. package/src/server/runtimes/node/docker.ts +10 -7
  46. package/src/server/runtimes/node/esbuild.ts +21 -19
  47. package/src/server/runtimes/node/node.ts +14 -9
  48. package/src/server/serverClasees/Server.ts +3 -2
  49. package/src/server/serverClasees/Server_Base.ts +7 -6
  50. package/src/server/serverClasees/Server_Docker.ts +105 -111
  51. package/src/server/serverClasees/Server_HTTP.ts +2 -2
  52. package/src/server/serverClasees/Server_WS.ts +2 -2
  53. package/src/testeranto.ts +37 -32
  54. package/testeranto/bundles/allTests/node/{Node-JOOBJDHW.mjs → Node-MSIIDKGC.mjs} +64 -28
  55. package/testeranto/docker-compose.yml +34 -74
  56. package/testeranto/runtimes/node/node.Dockerfile +0 -1
  57. package/testeranto/runtimes/node/node.ts +2 -1
  58. package/testeranto/testeranto.ts +90 -0
  59. package/tsconfig.json +1 -1
  60. package/allTests.ts +0 -52
  61. package/dist/common/allTests.js +0 -39
  62. package/dist/module/allTests.js +0 -37
  63. package/dist/types/esbuildConfigs/index.d.ts +0 -4
  64. package/dist/types/server/runtimes/node/docker.d.ts +0 -14
  65. package/dist/types/server/runtimes/node/esbuild.d.ts +0 -4
  66. /package/dist/types/{Init.d.ts → src/Init.d.ts} +0 -0
  67. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/consoleDetectorPlugin.d.ts +0 -0
  68. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
  69. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.d.ts +0 -0
  70. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
  71. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/nativeImportDetectorPlugin.d.ts +0 -0
  72. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/rebuildPlugin.d.ts +0 -0
  73. /package/dist/types/{init-docs.d.ts → src/init-docs.d.ts} +0 -0
  74. /package/dist/types/{lib → src/lib}/tiposkripto/BaseGiven.d.ts +0 -0
  75. /package/dist/types/{lib → src/lib}/tiposkripto/BaseSuite.d.ts +0 -0
  76. /package/dist/types/{lib → src/lib}/tiposkripto/BaseThen.d.ts +0 -0
  77. /package/dist/types/{lib → src/lib}/tiposkripto/BaseTiposkripto.d.ts +0 -0
  78. /package/dist/types/{lib → src/lib}/tiposkripto/BaseWhen.d.ts +0 -0
  79. /package/dist/types/{lib → src/lib}/tiposkripto/CoreTypes.d.ts +0 -0
  80. /package/dist/types/{lib → src/lib}/tiposkripto/Node.d.ts +0 -0
  81. /package/dist/types/{lib → src/lib}/tiposkripto/Tiposkripto.d.ts +0 -0
  82. /package/dist/types/{lib → src/lib}/tiposkripto/Types.d.ts +0 -0
  83. /package/dist/types/{lib → src/lib}/tiposkripto/Web.d.ts +0 -0
  84. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/MockGiven.d.ts +0 -0
  85. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/MockThen.d.ts +0 -0
  86. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/MockWhen.d.ts +0 -0
  87. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/adapter.d.ts +0 -0
  88. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/implementation.d.ts +0 -0
  89. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/index.d.ts +0 -0
  90. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/specification.d.ts +0 -0
  91. /package/dist/types/{lib → src/lib}/tiposkripto/abstractBase.test/types.d.ts +0 -0
  92. /package/dist/types/{lib → src/lib}/tiposkripto/index.d.ts +0 -0
  93. /package/dist/types/{runtimes.d.ts → src/runtimes.d.ts} +0 -0
  94. /package/dist/types/{server → src/server}/aider/configParser.d.ts +0 -0
  95. /package/dist/types/{server → src/server}/aider/docker.d.ts +0 -0
  96. /package/dist/types/{server → src/server}/getRunnables.d.ts +0 -0
  97. /package/dist/types/{server → src/server}/htmlTemplate.d.ts +0 -0
  98. /package/dist/types/{server → src/server}/nodeVersion.d.ts +0 -0
  99. /package/dist/types/{server → src/server}/runtimes/common.d.ts +0 -0
  100. /package/dist/types/{server → src/server}/runtimes/java/docker.d.ts +0 -0
  101. /package/dist/types/{server → src/server}/runtimes/node/node.d.ts +0 -0
  102. /package/dist/types/{server → src/server}/runtimes/python/docker.d.ts +0 -0
  103. /package/dist/types/{server → src/server}/runtimes/ruby/docker.d.ts +0 -0
  104. /package/dist/types/{server → src/server}/runtimes/rust/docker.d.ts +0 -0
  105. /package/dist/types/{server → src/server}/runtimes/web/docker.d.ts +0 -0
  106. /package/dist/types/{server → src/server}/runtimes/web/esbuild.d.ts +0 -0
  107. /package/dist/types/{server → src/server}/runtimes/web/hoist.d.ts +0 -0
  108. /package/dist/types/{server → src/server}/runtimes/web/web.d.ts +0 -0
  109. /package/dist/types/{server → src/server}/serverClasees/Server_FS.d.ts +0 -0
  110. /package/dist/types/{server → src/server}/serverManagers/DockerManager.d.ts +0 -0
  111. /package/dist/types/{server → src/server}/serverManagers/HttpManager.d.ts +0 -0
  112. /package/dist/types/{server → src/server}/serverManagers/WsManager.d.ts +0 -0
  113. /package/dist/types/{server → src/server}/serverManagers/fs.d.ts +0 -0
  114. /package/dist/types/{server → src/server}/serverManagers/tcp.d.ts +0 -0
  115. /package/dist/types/{server → src/server}/types.d.ts +0 -0
  116. /package/dist/types/{testeranto.d.ts → src/testeranto.d.ts} +0 -0
  117. /package/dist/types/{vscode → src/vscode}/TerminalManager.d.ts +0 -0
  118. /package/dist/types/{vscode → src/vscode}/TestTreeItem.d.ts +0 -0
  119. /package/dist/types/{vscode → src/vscode}/extension.d.ts +0 -0
  120. /package/dist/types/{vscode → src/vscode}/providers/FeaturesTreeDataProvider.d.ts +0 -0
  121. /package/dist/types/{vscode → src/vscode}/providers/FileTreeDataProvider.d.ts +0 -0
  122. /package/dist/types/{vscode → src/vscode}/providers/ProcessesTreeDataProvider.d.ts +0 -0
  123. /package/dist/types/{vscode → src/vscode}/providers/ResultsTreeDataProvider.d.ts +0 -0
  124. /package/dist/types/{vscode → src/vscode}/providers/TestTreeDataProvider.d.ts +0 -0
  125. /package/dist/types/{vscode → src/vscode}/types.d.ts +0 -0
  126. /package/testeranto/{testeranto.yml → testeranto-deprecateed.yml} +0 -0
@@ -100,7 +100,7 @@ var esbuildConfigs_default = (config) => {
100
100
  outbase: ".",
101
101
  jsx: "transform",
102
102
  bundle: true,
103
- minify: config.minify === true,
103
+ // minify: config.minify === true,
104
104
  write: true,
105
105
  loader: {
106
106
  ".js": "jsx",
@@ -154,9 +154,9 @@ var rebuildPlugin_default = (r) => {
154
154
  };
155
155
 
156
156
  export {
157
+ processMetafile,
157
158
  featuresPlugin_default,
158
159
  esbuildConfigs_default,
159
160
  inputFilesPlugin_default,
160
- rebuildPlugin_default,
161
- processMetafile
161
+ rebuildPlugin_default
162
162
  };
@@ -4,30 +4,25 @@ import {
4
4
  inputFilesPlugin_default,
5
5
  processMetafile,
6
6
  rebuildPlugin_default
7
- } from "../../../chunk-MU5PJQAO.mjs";
7
+ } from "../../../chunk-QLT7PNPK.mjs";
8
8
 
9
9
  // src/server/runtimes/node/node.ts
10
10
  import esbuild from "esbuild";
11
11
 
12
12
  // src/server/runtimes/node/esbuild.ts
13
- var absoluteBundlesDir = (c) => {
13
+ var absoluteBundlesDir = () => {
14
14
  return "./testeranto/bundles/allTests/node/";
15
15
  };
16
- var esbuild_default = (projectConfig, testName2) => {
17
- console.log("mark77", projectConfig);
18
- let entrypoints = [];
19
- if (projectConfig.node?.tests) {
20
- entrypoints = Object.keys(projectConfig.node.tests);
21
- } else {
22
- throw "projectConfig.node.tests should exist";
23
- }
16
+ var esbuild_default = (nodeConfig, testName2, projectConfig) => {
17
+ console.log("esbuild", testName2, projectConfig);
18
+ const entryPoints = projectConfig.runtimes[testName2].tests;
24
19
  const { inputFilesPluginFactory, register } = inputFilesPlugin_default(
25
20
  "node",
26
21
  testName2
27
22
  );
28
23
  return {
29
- ...esbuildConfigs_default(projectConfig),
30
- outdir: absoluteBundlesDir(projectConfig),
24
+ ...esbuildConfigs_default(nodeConfig),
25
+ outdir: absoluteBundlesDir(),
31
26
  outbase: ".",
32
27
  // Preserve directory structure relative to outdir
33
28
  metafile: true,
@@ -43,35 +38,39 @@ var esbuild_default = (projectConfig, testName2) => {
43
38
  absWorkingDir: process.cwd(),
44
39
  platform: "node",
45
40
  packages: "external",
46
- entryPoints: entrypoints,
41
+ entryPoints,
47
42
  plugins: [
48
43
  featuresPlugin_default,
49
44
  inputFilesPluginFactory,
50
45
  rebuildPlugin_default("node"),
51
- ...projectConfig.node?.plugins?.map((p) => p(register, entrypoints)) || []
46
+ ...nodeConfig.plugins?.map((p) => p(register, entryPoints)) || []
52
47
  ]
53
48
  };
54
49
  };
55
50
 
56
51
  // src/server/runtimes/node/node.ts
57
52
  console.log(`[NODE BUILDER] hello: ${process.argv}`);
58
- var nodeConfigPath = process.argv[2];
59
- var testName = process.argv[3] || "allTests";
53
+ var projectConfigPath = process.argv[2];
54
+ var nodeConfigPath = process.argv[3];
55
+ var testName = process.argv[4];
56
+ console.log(`[NODE BUILDER] projectConfigPath: ${projectConfigPath}`);
60
57
  console.log(`[NODE BUILDER] nodeConfig: ${nodeConfigPath}`);
61
- async function startBundling(config) {
58
+ console.log(`[NODE BUILDER] testName: ${testName}`);
59
+ async function startBundling(nodeConfigs, projectConfig) {
62
60
  console.log(`[NODE BUILDER] is now bundling: ${testName}`);
63
- const n = esbuild_default(config, testName);
61
+ const n = esbuild_default(nodeConfigs, testName, projectConfig);
64
62
  const buildResult = await esbuild.build(n);
65
63
  if (buildResult.metafile) {
66
- await processMetafile(config, buildResult.metafile, "node");
64
+ await processMetafile(projectConfig, buildResult.metafile, "node");
67
65
  } else {
68
66
  console.warn("No metafile generated by esbuild");
69
67
  }
70
68
  }
71
69
  async function main() {
72
70
  try {
73
- const config = (await import(nodeConfigPath)).default;
74
- await startBundling(config);
71
+ const nodeConfigs = (await import(nodeConfigPath)).default;
72
+ const projectConfigs = (await import(projectConfigPath)).default;
73
+ await startBundling(nodeConfigs, projectConfigs);
75
74
  } catch (error) {
76
75
  console.error("NODE BUILDER: Error importing config:", nodeConfigPath, error);
77
76
  console.error(error);
@@ -4,7 +4,7 @@ import {
4
4
  inputFilesPlugin_default,
5
5
  processMetafile,
6
6
  rebuildPlugin_default
7
- } from "../../../chunk-MU5PJQAO.mjs";
7
+ } from "../../../chunk-QLT7PNPK.mjs";
8
8
 
9
9
  // src/server/runtimes/web/web.ts
10
10
  import esbuild from "esbuild";
@@ -0,0 +1,72 @@
1
+ // testeranto/testeranto.ts
2
+ var config = {
3
+ featureIngestor: function(s) {
4
+ throw new Error("Function not implemented.");
5
+ },
6
+ runtimes: {
7
+ nodetests: {
8
+ runtime: "node",
9
+ tests: ["example/Calculator.test.ts"],
10
+ checks: [
11
+ (x) => `yarn eslint`,
12
+ (x) => `yarn tsc --noEmit`
13
+ ],
14
+ dockerfile: `testeranto/runtimes/node/node.Dockerfile`,
15
+ buildOptions: `testeranto/runtimes/node/node.ts`
16
+ },
17
+ webtests: {
18
+ runtime: "web",
19
+ tests: ["example/Calculator.test.ts"],
20
+ checks: [
21
+ (x) => `yarn eslint`,
22
+ (x) => `yarn tsc --noEmit`
23
+ ],
24
+ dockerfile: `testeranto/runtimes/web/web.Dockerfile`,
25
+ buildOptions: `testeranto/runtimes/web/web.ts`
26
+ },
27
+ pythontests: {
28
+ runtime: "python",
29
+ tests: ["example/Calculator.test.py"],
30
+ checks: [
31
+ (x) => `yarn eslint`,
32
+ (x) => `yarn tsc --noEmit`
33
+ ],
34
+ dockerfile: `testeranto/runtimes/python/python.Dockerfile`,
35
+ buildOptions: `testeranto/runtimes/python/python.ts`
36
+ },
37
+ golangtests: {
38
+ runtime: "golang",
39
+ tests: ["example/Calculator.test.go"],
40
+ checks: [
41
+ (x) => `yarn eslint`,
42
+ (x) => `yarn tsc --noEmit`
43
+ ],
44
+ dockerfile: `testeranto/runtimes/golang/golang.Dockerfile`,
45
+ buildOptions: `testeranto/runtimes/golang/golang.ts`
46
+ },
47
+ rusttests: {
48
+ runtime: "rust",
49
+ tests: ["example/Calculator.test.rs"],
50
+ checks: [
51
+ (x) => `yarn eslint`,
52
+ (x) => `yarn tsc --noEmit`
53
+ ],
54
+ dockerfile: `testeranto/runtimes/rust/rust.Dockerfile`,
55
+ buildOptions: `testeranto/runtimes/rust/rust.ts`
56
+ },
57
+ rubytests: {
58
+ runtime: "ruby",
59
+ tests: ["example/Calculator.test.rb"],
60
+ checks: [
61
+ (x) => `yarn eslint`,
62
+ (x) => `yarn tsc --noEmit`
63
+ ],
64
+ dockerfile: `testeranto/runtimes/ruby/ruby.Dockerfile`,
65
+ buildOptions: `testeranto/runtimes/ruby/ruby.ts`
66
+ }
67
+ }
68
+ };
69
+ var testeranto_default = config;
70
+ export {
71
+ testeranto_default as default
72
+ };
@@ -1,6 +1,3 @@
1
- // src/testeranto.ts
2
- import path3 from "path";
3
-
4
1
  // src/server/serverClasees/Server.ts
5
2
  import fs3 from "fs";
6
3
  import readline from "readline";
@@ -76,7 +73,7 @@ var javaBddCommand = (fpath) => {
76
73
  };
77
74
 
78
75
  // src/server/runtimes/node/docker.ts
79
- var nodeDockerComposeFile = (config, container_name, fpath) => {
76
+ var nodeDockerComposeFile = (config, container_name, projectConfigPath, nodeConfigPath, testName) => {
80
77
  return {
81
78
  build: {
82
79
  context: process.cwd(),
@@ -94,17 +91,17 @@ var nodeDockerComposeFile = (config, container_name, fpath) => {
94
91
  `${process.cwd()}/dist:/workspace/dist`,
95
92
  `${process.cwd()}/testeranto:/workspace/testeranto`
96
93
  ],
97
- command: nodeBuildCommand(fpath)
94
+ command: nodeBuildCommand(projectConfigPath, nodeConfigPath, testName)
98
95
  };
99
96
  };
100
97
  var externalTests = true;
101
- var nodeBuildCommand = (fpath) => {
98
+ var nodeBuildCommand = (projectConfigPath, nodeConfigPath, testName) => {
102
99
  if (externalTests) {
103
- console.log("external tests", process.cwd());
104
- return `yarn tsx node_modules/testeranto/src/server/runtimes/node/node.ts ${fpath}`;
100
+ console.log("external tests", testName);
101
+ return `yarn tsx node_modules/testeranto/src/server/runtimes/node/node.ts /workspace/testeranto/testeranto.ts ${nodeConfigPath} ${testName}`;
105
102
  } else {
106
103
  console.log("not external tests");
107
- return `yarn tsx src/server/runtimes/node/node.ts /workspace/${fpath}`;
104
+ return `yarn tsx src/server/runtimes/node/node.ts /workspace/testeranto/testeranto.ts /workspace/${nodeConfigPath} ${testName}`;
108
105
  }
109
106
  };
110
107
  var nodeBddCommand = (fpath) => {
@@ -502,9 +499,9 @@ var Server_Base = class {
502
499
  constructor(configs, mode2) {
503
500
  this.configs = configs;
504
501
  this.mode = mode2;
502
+ console.log(`[Base] ${this.configs}`);
505
503
  }
506
504
  async start() {
507
- console.log(`[Server_Base] start()`);
508
505
  }
509
506
  async stop() {
510
507
  console.log(`[Server_Base] stop()`);
@@ -923,14 +920,14 @@ var Server_Docker = class extends Server_WS {
923
920
  }
924
921
  staticTestDockerComposeFile(runtime, container_name, command) {
925
922
  let dockerfilePath = "";
926
- for (const [key, value] of this.configs.entries()) {
927
- if (value[0] === runtime) {
928
- dockerfilePath = value[1];
923
+ for (const [key, value] of Object.entries(this.configs.runtimes)) {
924
+ if (value.runtime === runtime) {
925
+ dockerfilePath = value.dockerfile;
929
926
  break;
930
927
  }
931
928
  }
932
929
  if (!dockerfilePath) {
933
- throw `no dockerfile found for ${dockerfilePath}`;
930
+ throw `[Docker] [staticTestDockerComposeFile] no dockerfile found for ${dockerfilePath}, ${Object.entries(this.configs)}`;
934
931
  }
935
932
  return {
936
933
  build: {
@@ -949,14 +946,14 @@ var Server_Docker = class extends Server_WS {
949
946
  }
950
947
  bddTestDockerComposeFile(runtime, container_name, command) {
951
948
  let dockerfilePath = "";
952
- for (const [key, value] of this.configs.entries()) {
953
- if (value[0] === runtime) {
954
- dockerfilePath = value[1];
949
+ for (const [key, value] of Object.entries(this.configs.runtimes)) {
950
+ if (value.runtime === runtime) {
951
+ dockerfilePath = value.dockerfile;
955
952
  break;
956
953
  }
957
954
  }
958
955
  if (!dockerfilePath) {
959
- throw `no dockerfile found for ${dockerfilePath}`;
956
+ throw `[Docker] [bddTestDockerComposeFile] no dockerfile found for ${dockerfilePath}, ${Object.entries(this.configs)}`;
960
957
  }
961
958
  const service = {
962
959
  build: {
@@ -998,6 +995,7 @@ var Server_Docker = class extends Server_WS {
998
995
  }
999
996
  generateServices() {
1000
997
  const services = {};
998
+ console.log("mark1");
1001
999
  const runTimeToCompose = {
1002
1000
  "node": [nodeDockerComposeFile, nodeBuildCommand, nodeBddCommand],
1003
1001
  "web": [webDockerComposeFile, webBuildCommand, webBddCommand],
@@ -1007,64 +1005,56 @@ var Server_Docker = class extends Server_WS {
1007
1005
  "rust": [rustDockerComposeFile, rustBuildCommand, rustBddCommand],
1008
1006
  "java": [javaDockerComposeFile, javaBuildCommand, javaBddCommand]
1009
1007
  };
1010
- for (const [runtimeTestsName, runtimeTests] of this.configs.entries()) {
1011
- const runtime = runtimeTests[0];
1012
- const dockerfile = runtimeTests[1];
1013
- const runtimeConfig = runtimeTests[2];
1014
- const testsObj = runtimeTests[3];
1015
- const buildCommand = runTimeToCompose[runtime][1](runtimeConfig);
1016
- if (RUN_TIMES.includes(runtime)) {
1017
- const builderServiceName = `${runtime}-builder`;
1018
- let dockerfilePath = dockerfile;
1019
- const fullDockerfilePath = path2.join(process.cwd(), dockerfilePath);
1020
- if (!fs2.existsSync(fullDockerfilePath)) {
1021
- throw `[Server_Docker] Dockerfile not found at ${fullDockerfilePath}`;
1022
- }
1023
- services[builderServiceName] = {
1024
- build: {
1025
- context: process.cwd(),
1026
- dockerfile: dockerfilePath
1027
- },
1028
- container_name: builderServiceName,
1029
- environment: {},
1030
- working_dir: "/workspace",
1031
- volumes: [
1032
- `${process.cwd()}/src:/workspace/src`,
1033
- `${process.cwd()}/example:/workspace/example`,
1034
- `${process.cwd()}/dist:/workspace/dist`,
1035
- `${process.cwd()}/testeranto:/workspace/testeranto`
1036
- ],
1037
- command: buildCommand,
1038
- networks: ["allTests_network"]
1039
- };
1040
- } else {
1041
- throw `unknown runtime ${runtime}`;
1042
- }
1043
- const testEntries = testsObj.tests.map((test) => {
1044
- if (typeof test === "string") {
1045
- return { name: test, config: {} };
1046
- } else if (test && typeof test === "object") {
1047
- return {
1048
- name: test.name || test.testName || "unknown",
1049
- config: test
1050
- };
1051
- } else {
1052
- return { name: String(test), config: {} };
1053
- }
1054
- });
1055
- for (const { name: testName, config: testConfig } of testEntries) {
1056
- const testNameStr = String(testName);
1057
- const cleanTestName = testNameStr.toLowerCase().replaceAll("/", "_").replaceAll(".", "-").replace(/[^a-z0-9_-]/g, "");
1058
- const uid = `${runtimeTestsName}-${cleanTestName}`;
1059
- const bddCommandFunc = runTimeToCompose[runtime][2];
1060
- console.log("mark8", testName);
1061
- const filePath = `testeranto/bundles/allTests/${runtime}/${testName}`;
1062
- console.log("mark4", filePath);
1063
- const command = bddCommandFunc(filePath);
1064
- if (command) {
1065
- services[`${uid}-bdd`] = this.bddTestDockerComposeFile(runtime, `${uid}-bdd`, command);
1008
+ for (const [runtimeTestsName, runtimeTests] of Object.entries(this.configs.runtimes)) {
1009
+ const runtime = runtimeTests.runtime;
1010
+ const dockerfile = runtimeTests.dockerfile;
1011
+ const buildOptions = runtimeTests.buildOptions;
1012
+ const testsObj = runtimeTests.tests;
1013
+ for (const [t, c] of Object.entries(this.configs.runtimes)) {
1014
+ if (c.runtime === runtime) {
1015
+ if (RUN_TIMES.includes(runtime)) {
1016
+ const buildCommand = runTimeToCompose[runtime][1](
1017
+ buildOptions,
1018
+ c.buildOptions,
1019
+ runtimeTestsName
1020
+ );
1021
+ const builderServiceName = `${runtime}-builder`;
1022
+ let dockerfilePath = dockerfile;
1023
+ const fullDockerfilePath = path2.join(process.cwd(), dockerfilePath);
1024
+ if (!fs2.existsSync(fullDockerfilePath)) {
1025
+ throw `[Server_Docker] Dockerfile not found at ${fullDockerfilePath}`;
1026
+ }
1027
+ services[builderServiceName] = {
1028
+ build: {
1029
+ context: process.cwd(),
1030
+ dockerfile: dockerfilePath
1031
+ },
1032
+ container_name: builderServiceName,
1033
+ environment: {},
1034
+ working_dir: "/workspace",
1035
+ volumes: [
1036
+ `${process.cwd()}/src:/workspace/src`,
1037
+ `${process.cwd()}/example:/workspace/example`,
1038
+ `${process.cwd()}/dist:/workspace/dist`,
1039
+ `${process.cwd()}/testeranto:/workspace/testeranto`
1040
+ ],
1041
+ command: buildCommand,
1042
+ networks: ["allTests_network"]
1043
+ };
1044
+ for (const tName of testsObj) {
1045
+ const cleanTestName = tName.toLowerCase().replaceAll("/", "_").replaceAll(".", "-").replace(/[^a-z0-9_-]/g, "");
1046
+ const uid = `${runtimeTestsName.toLowerCase()}-${cleanTestName}`;
1047
+ const bddCommandFunc = runTimeToCompose[runtime][2];
1048
+ const filePath = `testeranto/bundles/allTests/${runtime}/${tName}`;
1049
+ const command = bddCommandFunc(filePath);
1050
+ console.log("wtf command", command);
1051
+ services[`${uid}-bdd`] = this.bddTestDockerComposeFile(runtime, `${uid}-bdd`, command);
1052
+ services[`${uid}-aider`] = this.aiderDockerComposeFile(`${uid}-aider`);
1053
+ }
1054
+ } else {
1055
+ throw `unknown runtime ${runtime}`;
1056
+ }
1066
1057
  }
1067
- services[`${uid}-aider`] = this.aiderDockerComposeFile(`${uid}-aider`);
1068
1058
  }
1069
1059
  }
1070
1060
  for (const serviceName in services) {
@@ -1273,10 +1263,9 @@ ${x}
1273
1263
  }
1274
1264
  console.log(`[Server_Docker] Waiting for browser container to be healthy...`);
1275
1265
  await this.waitForContainerHealthy("browser-allTests", 6e4);
1276
- for (const [configKey, configValue] of this.configs.entries()) {
1277
- const runtime = configValue[0];
1278
- const testsObj = configValue[3];
1279
- const tests = testsObj?.tests || {};
1266
+ for (const [configKey, configValue] of Object.entries(this.configs.runtimes)) {
1267
+ const runtime = configValue.runtime;
1268
+ const tests = configValue.tests;
1280
1269
  console.log(`[Server_Docker] Found tests for ${runtime}:`, JSON.stringify(tests));
1281
1270
  for (const testName of tests) {
1282
1271
  const uid = `${configKey}-${testName.toLowerCase().replaceAll("/", "_").replaceAll(".", "-")}`;
@@ -1291,10 +1280,10 @@ ${x}
1291
1280
  }
1292
1281
  }
1293
1282
  }
1294
- for (const [configKey, configValue] of this.configs.entries()) {
1295
- const runtime = configValue[0];
1296
- const testsObj = configValue[3];
1297
- const tests = testsObj?.tests || {};
1283
+ for (const [configKey, configValue] of Object.entries(this.configs.runtimes)) {
1284
+ const runtime = configValue.runtime;
1285
+ const tests = configValue.tests;
1286
+ console.log(`[Server_Docker] Found tests for ${runtime}:`, JSON.stringify(tests));
1298
1287
  for (const testName of tests) {
1299
1288
  const uid = `${configKey}-${testName.toLowerCase().replaceAll("/", "_").replaceAll(".", "-")}`;
1300
1289
  const bddServiceName = `${uid}-bdd`;
@@ -1309,7 +1298,7 @@ ${x}
1309
1298
  }
1310
1299
  }
1311
1300
  }
1312
- for (const [configKey, configValue] of this.configs.entries()) {
1301
+ for (const [configKey, configValue] of Object.entries(this.configs)) {
1313
1302
  const runtime = configValue[0];
1314
1303
  const testsObj = configValue[3];
1315
1304
  const tests = testsObj?.tests || {};
@@ -1690,36 +1679,14 @@ var Server = class extends Server_Docker {
1690
1679
 
1691
1680
  // src/testeranto.ts
1692
1681
  var fs4 = await import("fs/promises");
1693
- var yaml2 = await import("yaml");
1694
1682
  var mode = process.argv[3];
1695
1683
  if (mode !== "once" && mode !== "dev") {
1696
1684
  console.error(`The 3rd argument should be 'dev' or 'once', not '${mode}'.`);
1697
1685
  process.exit(-1);
1698
1686
  }
1699
1687
  var main = async () => {
1700
- const yamlPath = path3.join(process.cwd(), "testeranto/testeranto.yml");
1701
- const yamlContent = await fs4.readFile(yamlPath, "utf-8");
1702
- const parsed = yaml2.parse(yamlContent);
1703
- const config = /* @__PURE__ */ new Map();
1704
- for (const [key, value] of Object.entries(parsed)) {
1705
- if (Array.isArray(value) && value.length >= 4) {
1706
- const runtime = String(value[0]);
1707
- const dockerfile = String(value[1]);
1708
- const script = String(value[2]);
1709
- let testsObj = { tests: [] };
1710
- const fourth = value[3];
1711
- if (fourth && typeof fourth === "object" && fourth !== null) {
1712
- const testsData = fourth;
1713
- if (testsData.tests && Array.isArray(testsData.tests)) {
1714
- testsObj.tests = testsData.tests.map((t) => String(t));
1715
- }
1716
- }
1717
- config.set(key, [runtime, dockerfile, script, testsObj]);
1718
- } else {
1719
- console.warn(`Skipping entry ${key}: expected array with at least 4 elements, got`, value);
1720
- }
1721
- }
1722
- console.log("Parsed config:", Array.from(config.entries()));
1688
+ const config = (await import("./testeranto-6SAYRVSE.mjs")).default;
1689
+ console.log("mark123", config);
1723
1690
  await new Server(config, mode).start();
1724
1691
  };
1725
1692
  main();
@@ -1,9 +1,9 @@
1
- import { Ibdd_in_any, Ibdd_out_any } from "./CoreTypes";
2
1
  import { ITestResourceConfiguration } from "./lib/tiposkripto";
3
- import { IGivens, BaseGiven } from "./lib/tiposkripto/BaseGiven";
2
+ import { BaseGiven, IGivens } from "./lib/tiposkripto/BaseGiven";
4
3
  import { BaseSuite } from "./lib/tiposkripto/BaseSuite";
5
4
  import { BaseThen } from "./lib/tiposkripto/BaseThen";
6
5
  import { BaseWhen } from "./lib/tiposkripto/BaseWhen";
6
+ import { Ibdd_in_any, Ibdd_out_any } from "./lib/tiposkripto/CoreTypes";
7
7
  export type IChecks = ((x: any) => string)[];
8
8
  export type ISummary = Record<string, {
9
9
  runTimeTests: number | "?" | undefined;
@@ -71,82 +71,17 @@ export type ITestTypes = [string, IRunTime, {
71
71
  ports: number;
72
72
  }, ITestTypes[]];
73
73
  export type IDockerSteps = "RUN" | "WORKDIR" | "COPY";
74
- export type ITestconfig = {
75
- httpPort: number;
74
+ export type IBaseTestConfig = {
75
+ runtime: string;
76
+ tests: string[];
77
+ dockerfile: string;
78
+ buildOptions: string;
79
+ checks: IChecks;
80
+ };
81
+ export type ITestconfigV2Node = IBaseTestConfig & {
82
+ plugins: any[];
83
+ };
84
+ export type ITestconfigV2 = {
76
85
  featureIngestor: (s: string) => Promise<string>;
77
- importPlugins: IPluginFactory[];
78
- ports: string[];
79
- src: string;
80
- check: string;
81
- java: {
82
- plugins: any[];
83
- tests: Record<string, {
84
- ports: number;
85
- }>;
86
- loaders: Record<string, string>;
87
- checks: IChecks;
88
- dockerfile: string;
89
- };
90
- rust: {
91
- plugins: any[];
92
- tests: Record<string, {
93
- ports: number;
94
- }>;
95
- loaders: Record<string, string>;
96
- checks: IChecks;
97
- dockerfile: string;
98
- };
99
- ruby: {
100
- plugins: any[];
101
- tests: Record<string, {
102
- ports: number;
103
- }>;
104
- loaders: Record<string, string>;
105
- checks: IChecks;
106
- dockerfile: string;
107
- };
108
- golang: {
109
- plugins: any[];
110
- tests: Record<string, {
111
- ports: number;
112
- }>;
113
- loaders: Record<string, string>;
114
- checks: IChecks;
115
- dockerfile: string;
116
- };
117
- python: {
118
- plugins: any[];
119
- tests: Record<string, {
120
- ports: number;
121
- }>;
122
- loaders: Record<string, string>;
123
- checks: IChecks;
124
- dockerfile: string;
125
- };
126
- node: {
127
- plugins: any[];
128
- tests: Record<string, {
129
- ports: number;
130
- }>;
131
- loaders: Record<string, string>;
132
- externals: string[];
133
- checks: IChecks;
134
- dockerfile: string;
135
- };
136
- web: {
137
- plugins: any[];
138
- tests: Record<string, {
139
- ports: number;
140
- }>;
141
- loaders: Record<string, string>;
142
- externals: string[];
143
- checks: IChecks;
144
- dockerfile: string;
145
- };
86
+ runtimes: Record<string, IBaseTestConfig>;
146
87
  };
147
- export type IBuiltConfig = {
148
- buildDir: string;
149
- } & ITestconfig;
150
- export type IConfig = Map<string, [IRunTime, string, string, {
151
- tests: string[];
152
- }]>;
@@ -0,0 +1,3 @@
1
+ import { BuildOptions } from "esbuild";
2
+ declare const _default: (config: object) => BuildOptions;
3
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { IBuiltConfig, IConfig } from "../../../Types";
2
- export declare const golangDockerComposeFile: (config: IConfig, container_name: string) => object;
1
+ import { ITestconfigV2 } from "../../../Types";
2
+ export declare const golangDockerComposeFile: (config: ITestconfigV2, container_name: string) => object;
3
3
  export declare const golangBuildCommand: () => string;
4
4
  export declare const golangBddCommand: () => string;
5
5
  export declare const golangTestCommand: (config: IBuiltConfig, inputfiles: string[]) => string;
@@ -0,0 +1,14 @@
1
+ import { ITestconfigV2 } from "../../../Types";
2
+ export declare const nodeDockerComposeFile: (config: ITestconfigV2, container_name: string, projectConfigPath: string, nodeConfigPath: string, testName: string) => {
3
+ build: {
4
+ context: string;
5
+ dockerfile: any;
6
+ };
7
+ container_name: string;
8
+ environment: any;
9
+ working_dir: string;
10
+ volumes: string[];
11
+ command: string;
12
+ };
13
+ export declare const nodeBuildCommand: (projectConfigPath: string, nodeConfigPath: string, testName: string) => string;
14
+ export declare const nodeBddCommand: (fpath: string) => string;
@@ -0,0 +1,4 @@
1
+ import { BuildOptions } from "esbuild";
2
+ import { ITestconfigV2 } from "../../../Types.js";
3
+ declare const _default: (nodeConfig: object, testName: string, projectConfig: ITestconfigV2) => BuildOptions;
4
+ export default _default;
@@ -1,8 +1,8 @@
1
- import { IConfig } from "../../Types";
2
1
  import { IMode } from "../types";
3
2
  import { Server_Docker } from "./Server_Docker";
3
+ import { ITestconfigV2 } from "../../Types";
4
4
  export declare class Server extends Server_Docker {
5
- constructor(configs: IConfig, mode: IMode);
5
+ constructor(configs: ITestconfigV2, mode: IMode);
6
6
  start(): Promise<void>;
7
7
  stop(): Promise<void>;
8
8
  }
@@ -1,9 +1,9 @@
1
- import { IConfig } from "../../Types";
1
+ import { ITestconfigV2 } from "../../Types";
2
2
  import { IMode } from "../types";
3
3
  export declare abstract class Server_Base {
4
4
  mode: IMode;
5
- configs: IConfig;
6
- constructor(configs: IConfig, mode: IMode);
5
+ configs: ITestconfigV2;
6
+ constructor(configs: ITestconfigV2, mode: IMode);
7
7
  start(): Promise<void>;
8
8
  stop(): Promise<void>;
9
9
  }
@@ -1,4 +1,4 @@
1
- import { IConfig, IRunTime } from "../../Types";
1
+ import { ITestconfigV2, IRunTime } from "../../Types";
2
2
  import { IMode } from "../types";
3
3
  import { Server_WS } from "./Server_WS";
4
4
  export type IService = any;
@@ -10,7 +10,7 @@ export interface IDockerComposeResult {
10
10
  }
11
11
  export declare class Server_Docker extends Server_WS {
12
12
  private logProcesses;
13
- constructor(configs: IConfig, mode: IMode);
13
+ constructor(configs: ITestconfigV2, mode: IMode);
14
14
  BaseCompose(services: any): {
15
15
  services: any;
16
16
  volumes: {