@elliemae/encw-leak-runner 1.0.5 → 1.0.7

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 (86) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/package.json +3 -3
  4. package/reports/analysis/index.html +1 -1
  5. package/reports/analysis/thresholdEvaluator.ts.html +1 -1
  6. package/reports/browser/iframeHeapProfiler.ts.html +1 -1
  7. package/reports/browser/index.html +1 -1
  8. package/reports/cli/commands/index.html +1 -1
  9. package/reports/cli/commands/listCommand.ts.html +1 -1
  10. package/reports/cli/commands/runCommand.ts.html +1 -1
  11. package/reports/cli/index.html +1 -1
  12. package/reports/cli/index.ts.html +1 -1
  13. package/reports/config/index.html +1 -1
  14. package/reports/config/missingRequiredParamError.ts.html +1 -1
  15. package/reports/config/requiredEnvParams.ts.html +1 -1
  16. package/reports/config/runnerConfigLoader.ts.html +1 -1
  17. package/reports/config/runnerConfigSchema.ts.html +1 -1
  18. package/reports/config/sources/cliOverrideConfigSource.ts.html +1 -1
  19. package/reports/config/sources/configSource.ts.html +1 -1
  20. package/reports/config/sources/envVarConfigSource.ts.html +1 -1
  21. package/reports/config/sources/fileConfigSource.ts.html +1 -1
  22. package/reports/config/sources/index.html +1 -1
  23. package/reports/config/unknownEnvError.ts.html +1 -1
  24. package/reports/index.html +1 -1
  25. package/reports/lcov-report/analysis/index.html +1 -1
  26. package/reports/lcov-report/analysis/thresholdEvaluator.ts.html +1 -1
  27. package/reports/lcov-report/browser/iframeHeapProfiler.ts.html +1 -1
  28. package/reports/lcov-report/browser/index.html +1 -1
  29. package/reports/lcov-report/cli/commands/index.html +1 -1
  30. package/reports/lcov-report/cli/commands/listCommand.ts.html +1 -1
  31. package/reports/lcov-report/cli/commands/runCommand.ts.html +1 -1
  32. package/reports/lcov-report/cli/index.html +1 -1
  33. package/reports/lcov-report/cli/index.ts.html +1 -1
  34. package/reports/lcov-report/config/index.html +1 -1
  35. package/reports/lcov-report/config/missingRequiredParamError.ts.html +1 -1
  36. package/reports/lcov-report/config/requiredEnvParams.ts.html +1 -1
  37. package/reports/lcov-report/config/runnerConfigLoader.ts.html +1 -1
  38. package/reports/lcov-report/config/runnerConfigSchema.ts.html +1 -1
  39. package/reports/lcov-report/config/sources/cliOverrideConfigSource.ts.html +1 -1
  40. package/reports/lcov-report/config/sources/configSource.ts.html +1 -1
  41. package/reports/lcov-report/config/sources/envVarConfigSource.ts.html +1 -1
  42. package/reports/lcov-report/config/sources/fileConfigSource.ts.html +1 -1
  43. package/reports/lcov-report/config/sources/index.html +1 -1
  44. package/reports/lcov-report/config/unknownEnvError.ts.html +1 -1
  45. package/reports/lcov-report/index.html +1 -1
  46. package/reports/lcov-report/registry/index.html +1 -1
  47. package/reports/lcov-report/registry/scenarioRegistry.ts.html +1 -1
  48. package/reports/lcov-report/reporting/consoleReporter.ts.html +1 -1
  49. package/reports/lcov-report/reporting/index.html +1 -1
  50. package/reports/lcov-report/reporting/junitReporter.ts.html +1 -1
  51. package/reports/lcov-report/runner/aiEnhancementStep.ts.html +1 -1
  52. package/reports/lcov-report/runner/batchRunner.ts.html +1 -1
  53. package/reports/lcov-report/runner/index.html +1 -1
  54. package/reports/lcov-report/runner/scenarioRunner.ts.html +1 -1
  55. package/reports/lcov-report/scenarios/index.html +1 -1
  56. package/reports/lcov-report/scenarios/index.ts.html +1 -1
  57. package/reports/lcov-report/scenarios/one-admin/export-navigation.scenario.ts.html +1 -1
  58. package/reports/lcov-report/scenarios/one-admin/index.html +1 -1
  59. package/reports/lcov-report/scenarios/one-admin/index.ts.html +1 -1
  60. package/reports/lcov-report/scenarios/one-admin/page-models/AdminLandingPageModel.ts.html +1 -1
  61. package/reports/lcov-report/scenarios/one-admin/page-models/ExportPageModel.ts.html +1 -1
  62. package/reports/lcov-report/scenarios/one-admin/page-models/SelectSettingsPageModel.ts.html +1 -1
  63. package/reports/lcov-report/scenarios/one-admin/page-models/index.html +1 -1
  64. package/reports/lcov-report/types/config.ts.html +1 -1
  65. package/reports/lcov-report/types/index.html +1 -1
  66. package/reports/registry/index.html +1 -1
  67. package/reports/registry/scenarioRegistry.ts.html +1 -1
  68. package/reports/reporting/consoleReporter.ts.html +1 -1
  69. package/reports/reporting/index.html +1 -1
  70. package/reports/reporting/junitReporter.ts.html +1 -1
  71. package/reports/runner/aiEnhancementStep.ts.html +1 -1
  72. package/reports/runner/batchRunner.ts.html +1 -1
  73. package/reports/runner/index.html +1 -1
  74. package/reports/runner/scenarioRunner.ts.html +1 -1
  75. package/reports/scenarios/index.html +1 -1
  76. package/reports/scenarios/index.ts.html +1 -1
  77. package/reports/scenarios/one-admin/export-navigation.scenario.ts.html +1 -1
  78. package/reports/scenarios/one-admin/index.html +1 -1
  79. package/reports/scenarios/one-admin/index.ts.html +1 -1
  80. package/reports/scenarios/one-admin/page-models/AdminLandingPageModel.ts.html +1 -1
  81. package/reports/scenarios/one-admin/page-models/ExportPageModel.ts.html +1 -1
  82. package/reports/scenarios/one-admin/page-models/SelectSettingsPageModel.ts.html +1 -1
  83. package/reports/scenarios/one-admin/page-models/index.html +1 -1
  84. package/reports/types/config.ts.html +1 -1
  85. package/reports/types/index.html +1 -1
  86. package/test-report.xml +52 -52
@@ -220,7 +220,7 @@ export const exportNavigationScenario: MicroappLeakScenario = <span class="cstat
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at 2026-05-14T05:23:28.095Z
223
+ at 2026-05-14T07:41:21.291Z
224
224
  </div>
225
225
  <script src="../../prettify.js"></script>
226
226
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-05-14T05:23:28.095Z
119
+ at 2026-05-14T07:41:21.291Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -88,7 +88,7 @@ export const oneAdminScenarios: readonly MicroappLeakScenario[] = <span class="c
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
91
- at 2026-05-14T05:23:28.095Z
91
+ at 2026-05-14T07:41:21.291Z
92
92
  </div>
93
93
  <script src="../../prettify.js"></script>
94
94
  <script>
@@ -142,7 +142,7 @@ export class AdminLandingPageModel {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2026-05-14T05:23:28.095Z
145
+ at 2026-05-14T07:41:21.291Z
146
146
  </div>
147
147
  <script src="../../../prettify.js"></script>
148
148
  <script>
@@ -148,7 +148,7 @@ export class ExportPageModel {
148
148
  <div class='footer quiet pad2 space-top1 center small'>
149
149
  Code coverage generated by
150
150
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
151
- at 2026-05-14T05:23:28.095Z
151
+ at 2026-05-14T07:41:21.291Z
152
152
  </div>
153
153
  <script src="../../../prettify.js"></script>
154
154
  <script>
@@ -160,7 +160,7 @@ export class SelectSettingsPageModel {
160
160
  <div class='footer quiet pad2 space-top1 center small'>
161
161
  Code coverage generated by
162
162
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
163
- at 2026-05-14T05:23:28.095Z
163
+ at 2026-05-14T07:41:21.291Z
164
164
  </div>
165
165
  <script src="../../../prettify.js"></script>
166
166
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-05-14T05:23:28.095Z
134
+ at 2026-05-14T07:41:21.291Z
135
135
  </div>
136
136
  <script src="../../../prettify.js"></script>
137
137
  <script>
@@ -172,7 +172,7 @@ export const DEFAULT_THRESHOLDS: ResolvedThresholds = {
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175
- at 2026-05-14T05:23:28.095Z
175
+ at 2026-05-14T07:41:21.291Z
176
176
  </div>
177
177
  <script src="../prettify.js"></script>
178
178
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-05-14T05:23:28.095Z
104
+ at 2026-05-14T07:41:21.291Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
package/test-report.xml CHANGED
@@ -1,112 +1,112 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testExecutions version="1">
3
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/runner/tests/aiEnhancementStep.test.ts">
3
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/runner/tests/aiEnhancementStep.test.ts">
4
4
  <testCase name="enhanceMarkdownIfConfigured returns report.markdown unchanged when config.ai is undefined" duration="9"/>
5
5
  <testCase name="enhanceMarkdownIfConfigured passes config.ai through to the AiEnhancer constructor when ai is configured" duration="3"/>
6
6
  <testCase name="enhanceMarkdownIfConfigured calls enhance with afterAnalysis.leakResults when ai is configured" duration="1"/>
7
7
  <testCase name="enhanceMarkdownIfConfigured returns the re-rendered markdown on AI success" duration="1"/>
8
- <testCase name="enhanceMarkdownIfConfigured returns the original report.markdown when AI throws" duration="1"/>
8
+ <testCase name="enhanceMarkdownIfConfigured returns the original report.markdown when AI throws" duration="2"/>
9
9
  <testCase name="enhanceMarkdownIfConfigured writes a single-line stderr warning naming the scenario when AI throws" duration="1"/>
10
- <testCase name="enhanceMarkdownIfConfigured handles non-Error rejections by stringifying them" duration="1"/>
10
+ <testCase name="enhanceMarkdownIfConfigured handles non-Error rejections by stringifying them" duration="0"/>
11
11
  </file>
12
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/config/tests/requiredEnvParams.test.ts">
12
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/analysis/tests/thresholdEvaluator.test.ts">
13
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) passes when delta is zero" duration="2"/>
14
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) passes when delta is under 10 MB with no new groups" duration="1"/>
15
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails when retained size delta exceeds 10 MB" duration="0"/>
16
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails when new leak groups are detected" duration="0"/>
17
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails and includes both violations in reason when both breach" duration="0"/>
18
+ <testCase name="ThresholdEvaluator with custom thresholds passes when delta is under custom threshold" duration="1"/>
19
+ <testCase name="ThresholdEvaluator with custom thresholds allows non-zero leak groups when threshold is raised" duration="0"/>
20
+ </file>
21
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/config/tests/requiredEnvParams.test.ts">
13
22
  <testCase name="RequiredEnvParamsResolver throws MissingRequiredParamError listing every missing field when nothing is provided" duration="10"/>
14
23
  <testCase name="RequiredEnvParamsResolver reads from env vars when CLI options are absent" duration="1"/>
15
24
  <testCase name="RequiredEnvParamsResolver CLI options override env vars for non-secret fields" duration="1"/>
16
25
  <testCase name="RequiredEnvParamsResolver password is read only from process.env (no CLI flag for secrets)" duration="13"/>
17
- <testCase name="RequiredEnvParamsResolver reports only the missing fields when some are supplied" duration="1"/>
18
- <testCase name="RequiredEnvParamsResolver treats empty-string env vars as missing" duration="6"/>
26
+ <testCase name="RequiredEnvParamsResolver reports only the missing fields when some are supplied" duration="0"/>
27
+ <testCase name="RequiredEnvParamsResolver treats empty-string env vars as missing" duration="1"/>
19
28
  <testCase name="RequiredEnvParamsResolver resolves baseUrl from the envs map via --env" duration="1"/>
20
29
  <testCase name="RequiredEnvParamsResolver resolves baseUrl from the envs map via ENCW_ENV" duration="1"/>
21
30
  <testCase name="RequiredEnvParamsResolver --env beats ENCW_ENV when both are set" duration="1"/>
22
31
  <testCase name="RequiredEnvParamsResolver BASE_URL env beats --env map lookup" duration="1"/>
23
32
  <testCase name="RequiredEnvParamsResolver throws UnknownEnvError when --env names an undefined env" duration="1"/>
24
33
  <testCase name="RequiredEnvParamsResolver throws UnknownEnvError when ENCW_ENV is set but envs map is empty" duration="2"/>
25
- <testCase name="RequiredEnvParamsResolver falls back to MissingRequiredParamError when no baseUrl source is available" duration="2"/>
34
+ <testCase name="RequiredEnvParamsResolver falls back to MissingRequiredParamError when no baseUrl source is available" duration="1"/>
26
35
  </file>
27
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/analysis/tests/thresholdEvaluator.test.ts">
28
- <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) passes when delta is zero" duration="2"/>
29
- <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) passes when delta is under 10 MB with no new groups" duration="0"/>
30
- <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails when retained size delta exceeds 10 MB" duration="1"/>
31
- <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails when new leak groups are detected" duration="1"/>
32
- <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails and includes both violations in reason when both breach" duration="1"/>
33
- <testCase name="ThresholdEvaluator with custom thresholds passes when delta is under custom threshold" duration="0"/>
34
- <testCase name="ThresholdEvaluator with custom thresholds allows non-zero leak groups when threshold is raised" duration="1"/>
36
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/registry/tests/scenarioRegistry.test.ts">
37
+ <testCase name="ScenarioRegistry starts empty" duration="1"/>
38
+ <testCase name="ScenarioRegistry builds keys as &lt;microapp&gt;/&lt;scenario.id&gt; when registering a group" duration="1"/>
39
+ <testCase name="ScenarioRegistry register() returns `this` to support chaining" duration="0"/>
40
+ <testCase name="ScenarioRegistry throws when registering a duplicate key" duration="7"/>
41
+ <testCase name="ScenarioRegistry get() returns the registered scenario" duration="1"/>
42
+ <testCase name="ScenarioRegistry get() returns undefined for an unknown key" duration="0"/>
43
+ <testCase name="ScenarioRegistry list() returns entries sorted by key" duration="14"/>
44
+ <testCase name="ScenarioRegistry filterByTag() returns only scenarios that include the tag" duration="1"/>
45
+ <testCase name="ScenarioRegistry filterByTag() returns an empty array when no scenarios match" duration="0"/>
35
46
  </file>
36
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/config/tests/runnerConfigLoader.test.ts">
47
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/config/tests/runnerConfigLoader.test.ts">
37
48
  <testCase name="RunnerConfigLoader produces built-in defaults when no source contributes" duration="2"/>
38
49
  <testCase name="RunnerConfigLoader higher-priority sources override lower-priority sources" duration="1"/>
39
- <testCase name="RunnerConfigLoader merges shallow keys without dropping unrelated fields" duration="0"/>
50
+ <testCase name="RunnerConfigLoader merges shallow keys without dropping unrelated fields" duration="1"/>
40
51
  <testCase name="RunnerConfigLoader exposes ai defaults and reports aiEnabled=false when not set" duration="1"/>
41
- <testCase name="RunnerConfigLoader reports aiEnabled=true when a source enables it" duration="1"/>
42
- <testCase name="RunnerConfigLoader defaults envs to an empty map when no source contributes one" duration="0"/>
52
+ <testCase name="RunnerConfigLoader reports aiEnabled=true when a source enables it" duration="0"/>
53
+ <testCase name="RunnerConfigLoader defaults envs to an empty map when no source contributes one" duration="1"/>
43
54
  <testCase name="RunnerConfigLoader surfaces envs from a file source" duration="0"/>
44
55
  <testCase name="RunnerConfigLoader higher-priority sources override env URLs key-by-key" duration="1"/>
45
56
  </file>
46
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/registry/tests/scenarioRegistry.test.ts">
47
- <testCase name="ScenarioRegistry starts empty" duration="1"/>
48
- <testCase name="ScenarioRegistry builds keys as &lt;microapp&gt;/&lt;scenario.id&gt; when registering a group" duration="1"/>
49
- <testCase name="ScenarioRegistry register() returns `this` to support chaining" duration="0"/>
50
- <testCase name="ScenarioRegistry throws when registering a duplicate key" duration="15"/>
51
- <testCase name="ScenarioRegistry get() returns the registered scenario" duration="0"/>
52
- <testCase name="ScenarioRegistry get() returns undefined for an unknown key" duration="1"/>
53
- <testCase name="ScenarioRegistry list() returns entries sorted by key" duration="13"/>
54
- <testCase name="ScenarioRegistry filterByTag() returns only scenarios that include the tag" duration="1"/>
55
- <testCase name="ScenarioRegistry filterByTag() returns an empty array when no scenarios match" duration="1"/>
56
- </file>
57
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/reporting/tests/junitReporter.test.ts">
57
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/reporting/tests/junitReporter.test.ts">
58
58
  <testCase name="JunitReporter writes test-results.xml to outputDir" duration="4"/>
59
- <testCase name="JunitReporter XML contains one testcase per scenario" duration="2"/>
60
- <testCase name="JunitReporter XML contains a failure element for failing scenarios" duration="1"/>
59
+ <testCase name="JunitReporter XML contains one testcase per scenario" duration="1"/>
60
+ <testCase name="JunitReporter XML contains a failure element for failing scenarios" duration="2"/>
61
61
  <testCase name="JunitReporter testsuite has correct tests and failures count" duration="1"/>
62
62
  <testCase name="JunitReporter XML content is properly escaped for special characters" duration="2"/>
63
63
  </file>
64
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/config/tests/fileConfigSource.test.ts">
64
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/config/tests/fileConfigSource.test.ts">
65
65
  <testCase name="FileConfigSource returns an empty payload when the file does not exist" duration="1"/>
66
66
  <testCase name="FileConfigSource parses and validates a well-formed config file" duration="3"/>
67
- <testCase name="FileConfigSource throws a descriptive error when the JSON is invalid" duration="7"/>
67
+ <testCase name="FileConfigSource throws a descriptive error when the JSON is invalid" duration="13"/>
68
68
  <testCase name="FileConfigSource throws a descriptive error when the schema is violated" duration="2"/>
69
69
  <testCase name="FileConfigSource exposes priority 1 (lowest tier above defaults)" duration="1"/>
70
70
  <testCase name="FileConfigSource parses an envs map of named environment URLs" duration="1"/>
71
71
  <testCase name="FileConfigSource rejects an envs map whose URL value is an empty string" duration="2"/>
72
72
  </file>
73
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/reporting/tests/consoleReporter.test.ts">
73
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/reporting/tests/consoleReporter.test.ts">
74
74
  <testCase name="ConsoleReporter prints PASSED for a passing scenario" duration="3"/>
75
75
  <testCase name="ConsoleReporter prints FAILED with reason for a failing scenario" duration="1"/>
76
- <testCase name="ConsoleReporter prints overall summary line with pass and fail counts" duration="0"/>
76
+ <testCase name="ConsoleReporter prints overall summary line with pass and fail counts" duration="1"/>
77
77
  </file>
78
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/config/tests/envVarConfigSource.test.ts">
79
- <testCase name="EnvVarConfigSource returns empty when no relevant env vars are set" duration="2"/>
80
- <testCase name="EnvVarConfigSource parses HEADLESS=false as headless: false" duration="1"/>
81
- <testCase name="EnvVarConfigSource parses HEADLESS=true as headless: true" duration="0"/>
78
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/config/tests/envVarConfigSource.test.ts">
79
+ <testCase name="EnvVarConfigSource returns empty when no relevant env vars are set" duration="1"/>
80
+ <testCase name="EnvVarConfigSource parses HEADLESS=false as headless: false" duration="0"/>
81
+ <testCase name="EnvVarConfigSource parses HEADLESS=true as headless: true" duration="1"/>
82
82
  <testCase name="EnvVarConfigSource reads LEAK_OUTPUT_DIR into runner.outputDir" duration="1"/>
83
83
  <testCase name="EnvVarConfigSource parses LEAK_TOP_N as an integer" duration="1"/>
84
84
  <testCase name="EnvVarConfigSource ignores LEAK_TOP_N when it is not a positive integer" duration="0"/>
85
85
  <testCase name="EnvVarConfigSource exposes priority 2 (above file)" duration="1"/>
86
86
  </file>
87
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/config/tests/cliOverrideConfigSource.test.ts">
87
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/config/tests/cliOverrideConfigSource.test.ts">
88
88
  <testCase name="CliOverrideConfigSource returns empty when no overrides are supplied" duration="2"/>
89
89
  <testCase name="CliOverrideConfigSource passes through headless when supplied" duration="0"/>
90
90
  <testCase name="CliOverrideConfigSource passes through outputDir and topN when supplied" duration="1"/>
91
91
  <testCase name="CliOverrideConfigSource exposes priority 3 (highest tier)" duration="0"/>
92
92
  </file>
93
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/runner/tests/scenarioRunner.test.ts">
94
- <testCase name="ScenarioRunner constructs without throwing" duration="8"/>
95
- <testCase name="ScenarioRunner run() returns a ScenarioResult with error when browser interactions fail" duration="8"/>
96
- <testCase name="ScenarioRunner run() returns a ScenarioResult with the correct shape on any outcome" duration="17"/>
93
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/runner/tests/scenarioRunner.test.ts">
94
+ <testCase name="ScenarioRunner constructs without throwing" duration="11"/>
95
+ <testCase name="ScenarioRunner run() returns a ScenarioResult with error when browser interactions fail" duration="5"/>
96
+ <testCase name="ScenarioRunner run() returns a ScenarioResult with the correct shape on any outcome" duration="11"/>
97
97
  </file>
98
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/browser/tests/iframeHeapProfiler.test.ts">
98
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/browser/tests/iframeHeapProfiler.test.ts">
99
99
  <testCase name="IframeHeapProfiler is an instance of HeapMemoryProfiler" duration="2"/>
100
- <testCase name="IframeHeapProfiler returns the page as CDP target when the iframe is same-origin" duration="1"/>
101
- <testCase name="IframeHeapProfiler returns the frame as CDP target when the iframe is cross-origin (OOPIF)" duration="7"/>
100
+ <testCase name="IframeHeapProfiler returns the page as CDP target when the iframe is same-origin" duration="2"/>
101
+ <testCase name="IframeHeapProfiler returns the frame as CDP target when the iframe is cross-origin (OOPIF)" duration="1"/>
102
102
  <testCase name="IframeHeapProfiler treats an about:blank frame as same-origin and returns the page" duration="0"/>
103
103
  <testCase name="IframeHeapProfiler base HeapMemoryProfiler returns page as CDP target" duration="0"/>
104
104
  </file>
105
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/46/libs/encw-leak-runner/lib/runner/tests/batchRunner.test.ts">
106
- <testCase name="BatchRunner runs all scenarios when no filter applied" duration="26"/>
105
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.2.x/55/libs/encw-leak-runner/lib/runner/tests/batchRunner.test.ts">
106
+ <testCase name="BatchRunner runs all scenarios when no filter applied" duration="23"/>
107
107
  <testCase name="BatchRunner filters scenarios by tag" duration="2"/>
108
108
  <testCase name="BatchRunner runs a single scenario by registry key" duration="2"/>
109
109
  <testCase name="BatchRunner throws when scenario key is not in the registry" duration="3"/>
110
- <testCase name="BatchRunner totalDurationMs is sum of all scenario durations" duration="2"/>
110
+ <testCase name="BatchRunner totalDurationMs is sum of all scenario durations" duration="1"/>
111
111
  </file>
112
112
  </testExecutions>