@elliemae/encw-leak-runner 1.0.15 → 1.0.16

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 (98) hide show
  1. package/CHANGELOG.md +39 -85
  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/heapMemoryProfiler.ts.html +1 -1
  7. package/reports/browser/iframeHeapProfiler.ts.html +1 -1
  8. package/reports/browser/index.html +1 -1
  9. package/reports/cli/commands/index.html +1 -1
  10. package/reports/cli/commands/listCommand.ts.html +1 -1
  11. package/reports/cli/commands/runCommand.ts.html +1 -1
  12. package/reports/cli/index.html +1 -1
  13. package/reports/cli/index.ts.html +1 -1
  14. package/reports/config/index.html +1 -1
  15. package/reports/config/missingRequiredParamError.ts.html +1 -1
  16. package/reports/config/requiredEnvParams.ts.html +1 -1
  17. package/reports/config/runnerConfigLoader.ts.html +1 -1
  18. package/reports/config/runnerConfigSchema.ts.html +1 -1
  19. package/reports/config/sources/cliOverrideConfigSource.ts.html +1 -1
  20. package/reports/config/sources/configSource.ts.html +1 -1
  21. package/reports/config/sources/envVarConfigSource.ts.html +1 -1
  22. package/reports/config/sources/fileConfigSource.ts.html +1 -1
  23. package/reports/config/sources/index.html +1 -1
  24. package/reports/config/unknownEnvError.ts.html +1 -1
  25. package/reports/index.html +1 -1
  26. package/reports/lcov-report/analysis/index.html +1 -1
  27. package/reports/lcov-report/analysis/thresholdEvaluator.ts.html +1 -1
  28. package/reports/lcov-report/browser/heapMemoryProfiler.ts.html +1 -1
  29. package/reports/lcov-report/browser/iframeHeapProfiler.ts.html +1 -1
  30. package/reports/lcov-report/browser/index.html +1 -1
  31. package/reports/lcov-report/cli/commands/index.html +1 -1
  32. package/reports/lcov-report/cli/commands/listCommand.ts.html +1 -1
  33. package/reports/lcov-report/cli/commands/runCommand.ts.html +1 -1
  34. package/reports/lcov-report/cli/index.html +1 -1
  35. package/reports/lcov-report/cli/index.ts.html +1 -1
  36. package/reports/lcov-report/config/index.html +1 -1
  37. package/reports/lcov-report/config/missingRequiredParamError.ts.html +1 -1
  38. package/reports/lcov-report/config/requiredEnvParams.ts.html +1 -1
  39. package/reports/lcov-report/config/runnerConfigLoader.ts.html +1 -1
  40. package/reports/lcov-report/config/runnerConfigSchema.ts.html +1 -1
  41. package/reports/lcov-report/config/sources/cliOverrideConfigSource.ts.html +1 -1
  42. package/reports/lcov-report/config/sources/configSource.ts.html +1 -1
  43. package/reports/lcov-report/config/sources/envVarConfigSource.ts.html +1 -1
  44. package/reports/lcov-report/config/sources/fileConfigSource.ts.html +1 -1
  45. package/reports/lcov-report/config/sources/index.html +1 -1
  46. package/reports/lcov-report/config/unknownEnvError.ts.html +1 -1
  47. package/reports/lcov-report/index.html +1 -1
  48. package/reports/lcov-report/registry/index.html +1 -1
  49. package/reports/lcov-report/registry/scenarioRegistry.ts.html +1 -1
  50. package/reports/lcov-report/reporting/consoleReporter.ts.html +1 -1
  51. package/reports/lcov-report/reporting/index.html +1 -1
  52. package/reports/lcov-report/reporting/junitReporter.ts.html +1 -1
  53. package/reports/lcov-report/runner/aiEnhancementStep.ts.html +1 -1
  54. package/reports/lcov-report/runner/batchRunner.ts.html +1 -1
  55. package/reports/lcov-report/runner/index.html +1 -1
  56. package/reports/lcov-report/runner/scenarioRunner.ts.html +1 -1
  57. package/reports/lcov-report/scenarios/index.html +1 -1
  58. package/reports/lcov-report/scenarios/index.ts.html +1 -1
  59. package/reports/lcov-report/scenarios/one-admin/export-navigation.scenario.ts.html +1 -1
  60. package/reports/lcov-report/scenarios/one-admin/index.html +1 -1
  61. package/reports/lcov-report/scenarios/one-admin/index.ts.html +1 -1
  62. package/reports/lcov-report/scenarios/one-admin/page-models/AdminLandingPageModel.ts.html +1 -1
  63. package/reports/lcov-report/scenarios/one-admin/page-models/ExportPageModel.ts.html +1 -1
  64. package/reports/lcov-report/scenarios/one-admin/page-models/SelectSettingsPageModel.ts.html +1 -1
  65. package/reports/lcov-report/scenarios/one-admin/page-models/index.html +1 -1
  66. package/reports/lcov-report/scenarios/pipeline/index.html +1 -1
  67. package/reports/lcov-report/scenarios/pipeline/index.ts.html +1 -1
  68. package/reports/lcov-report/scenarios/pipeline/page-models/PipelinePageModel.ts.html +1 -1
  69. package/reports/lcov-report/scenarios/pipeline/page-models/index.html +1 -1
  70. package/reports/lcov-report/scenarios/pipeline/pipeline-task-navigation.scenario.ts.html +1 -1
  71. package/reports/lcov-report/types/config.ts.html +1 -1
  72. package/reports/lcov-report/types/index.html +1 -1
  73. package/reports/registry/index.html +1 -1
  74. package/reports/registry/scenarioRegistry.ts.html +1 -1
  75. package/reports/reporting/consoleReporter.ts.html +1 -1
  76. package/reports/reporting/index.html +1 -1
  77. package/reports/reporting/junitReporter.ts.html +1 -1
  78. package/reports/runner/aiEnhancementStep.ts.html +1 -1
  79. package/reports/runner/batchRunner.ts.html +1 -1
  80. package/reports/runner/index.html +1 -1
  81. package/reports/runner/scenarioRunner.ts.html +1 -1
  82. package/reports/scenarios/index.html +1 -1
  83. package/reports/scenarios/index.ts.html +1 -1
  84. package/reports/scenarios/one-admin/export-navigation.scenario.ts.html +1 -1
  85. package/reports/scenarios/one-admin/index.html +1 -1
  86. package/reports/scenarios/one-admin/index.ts.html +1 -1
  87. package/reports/scenarios/one-admin/page-models/AdminLandingPageModel.ts.html +1 -1
  88. package/reports/scenarios/one-admin/page-models/ExportPageModel.ts.html +1 -1
  89. package/reports/scenarios/one-admin/page-models/SelectSettingsPageModel.ts.html +1 -1
  90. package/reports/scenarios/one-admin/page-models/index.html +1 -1
  91. package/reports/scenarios/pipeline/index.html +1 -1
  92. package/reports/scenarios/pipeline/index.ts.html +1 -1
  93. package/reports/scenarios/pipeline/page-models/PipelinePageModel.ts.html +1 -1
  94. package/reports/scenarios/pipeline/page-models/index.html +1 -1
  95. package/reports/scenarios/pipeline/pipeline-task-navigation.scenario.ts.html +1 -1
  96. package/reports/types/config.ts.html +1 -1
  97. package/reports/types/index.html +1 -1
  98. package/test-report.xml +52 -52
@@ -283,7 +283,7 @@ export class BatchRunner {
283
283
  <div class='footer quiet pad2 space-top1 center small'>
284
284
  Code coverage generated by
285
285
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at 2026-05-21T15:52:17.110Z
286
+ at 2026-05-26T16:05:57.686Z
287
287
  </div>
288
288
  <script src="../prettify.js"></script>
289
289
  <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-21T15:52:17.110Z
134
+ at 2026-05-26T16:05:57.686Z
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -670,7 +670,7 @@ export class ScenarioRunner {
670
670
  <div class='footer quiet pad2 space-top1 center small'>
671
671
  Code coverage generated by
672
672
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
673
- at 2026-05-21T15:52:17.110Z
673
+ at 2026-05-26T16:05:57.686Z
674
674
  </div>
675
675
  <script src="../prettify.js"></script>
676
676
  <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-21T15:52:17.110Z
104
+ at 2026-05-26T16:05:57.686Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -100,7 +100,7 @@ export const scenarioRegistry = <span class="cstat-no" title="statement not cove
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2026-05-21T15:52:17.110Z
103
+ at 2026-05-26T16:05:57.686Z
104
104
  </div>
105
105
  <script src="../prettify.js"></script>
106
106
  <script>
@@ -241,7 +241,7 @@ export const exportNavigationScenario: MicroappLeakScenario = <span class="cstat
241
241
  <div class='footer quiet pad2 space-top1 center small'>
242
242
  Code coverage generated by
243
243
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
- at 2026-05-21T15:52:17.110Z
244
+ at 2026-05-26T16:05:57.686Z
245
245
  </div>
246
246
  <script src="../../prettify.js"></script>
247
247
  <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-21T15:52:17.110Z
119
+ at 2026-05-26T16:05:57.686Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -106,7 +106,7 @@ export const oneAdminScenarioGroup: ScenarioGroup = <span class="cstat-no" title
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-05-21T15:52:17.110Z
109
+ at 2026-05-26T16:05:57.686Z
110
110
  </div>
111
111
  <script src="../../prettify.js"></script>
112
112
  <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-21T15:52:17.110Z
145
+ at 2026-05-26T16:05:57.686Z
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-21T15:52:17.110Z
151
+ at 2026-05-26T16:05:57.686Z
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-21T15:52:17.110Z
163
+ at 2026-05-26T16:05:57.686Z
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-21T15:52:17.110Z
134
+ at 2026-05-26T16:05:57.686Z
135
135
  </div>
136
136
  <script src="../../../prettify.js"></script>
137
137
  <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-21T15:52:17.110Z
119
+ at 2026-05-26T16:05:57.686Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -106,7 +106,7 @@ export const pipelineScenarioGroup: ScenarioGroup = <span class="cstat-no" title
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-05-21T15:52:17.110Z
109
+ at 2026-05-26T16:05:57.686Z
110
110
  </div>
111
111
  <script src="../../prettify.js"></script>
112
112
  <script>
@@ -208,7 +208,7 @@ export class PipelinePageModel {
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
211
- at 2026-05-21T15:52:17.110Z
211
+ at 2026-05-26T16:05:57.686Z
212
212
  </div>
213
213
  <script src="../../../prettify.js"></script>
214
214
  <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-21T15:52:17.110Z
104
+ at 2026-05-26T16:05:57.686Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -196,7 +196,7 @@ export const pipelineTaskNavigationScenario: MicroappLeakScenario = <span class=
196
196
  <div class='footer quiet pad2 space-top1 center small'>
197
197
  Code coverage generated by
198
198
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
199
- at 2026-05-21T15:52:17.110Z
199
+ at 2026-05-26T16:05:57.686Z
200
200
  </div>
201
201
  <script src="../../prettify.js"></script>
202
202
  <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-21T15:52:17.110Z
175
+ at 2026-05-26T16:05:57.686Z
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-21T15:52:17.110Z
104
+ at 2026-05-26T16:05:57.686Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
package/test-report.xml CHANGED
@@ -1,19 +1,19 @@
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.3.x/4/libs/encw-leak-runner/lib/runner/tests/aiEnhancementStep.test.ts">
4
- <testCase name="enhanceMarkdownIfConfigured returns report.markdown unchanged when config.ai is undefined" duration="11"/>
3
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/runner/tests/aiEnhancementStep.test.ts">
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
- <testCase name="enhanceMarkdownIfConfigured calls enhance with afterAnalysis.leakResults when ai is configured" duration="3"/>
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"/>
9
- <testCase name="enhanceMarkdownIfConfigured writes a single-line stderr warning naming the scenario when AI throws" duration="2"/>
8
+ <testCase name="enhanceMarkdownIfConfigured returns the original report.markdown when AI throws" duration="2"/>
9
+ <testCase name="enhanceMarkdownIfConfigured writes a single-line stderr warning naming the scenario when AI throws" duration="1"/>
10
10
  <testCase name="enhanceMarkdownIfConfigured handles non-Error rejections by stringifying them" duration="1"/>
11
11
  </file>
12
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/config/tests/requiredEnvParams.test.ts">
12
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/config/tests/requiredEnvParams.test.ts">
13
13
  <testCase name="RequiredEnvParamsResolver throws MissingRequiredParamError listing every missing field when nothing is provided" duration="9"/>
14
14
  <testCase name="RequiredEnvParamsResolver reads from env vars when CLI options are absent" duration="1"/>
15
15
  <testCase name="RequiredEnvParamsResolver CLI options override env vars for non-secret fields" duration="1"/>
16
- <testCase name="RequiredEnvParamsResolver password is read only from process.env (no CLI flag for secrets)" duration="15"/>
16
+ <testCase name="RequiredEnvParamsResolver password is read only from process.env (no CLI flag for secrets)" duration="14"/>
17
17
  <testCase name="RequiredEnvParamsResolver reports only the missing fields when some are supplied" duration="1"/>
18
18
  <testCase name="RequiredEnvParamsResolver treats empty-string env vars as missing" duration="2"/>
19
19
  <testCase name="RequiredEnvParamsResolver resolves baseUrl from the envs map via --env" duration="1"/>
@@ -21,19 +21,19 @@
21
21
  <testCase name="RequiredEnvParamsResolver --env beats ENCW_ENV when both are set" duration="0"/>
22
22
  <testCase name="RequiredEnvParamsResolver BASE_URL env beats --env map lookup" duration="0"/>
23
23
  <testCase name="RequiredEnvParamsResolver throws UnknownEnvError when --env names an undefined env" duration="2"/>
24
- <testCase name="RequiredEnvParamsResolver throws UnknownEnvError when ENCW_ENV is set but envs map is empty" duration="1"/>
25
- <testCase name="RequiredEnvParamsResolver falls back to MissingRequiredParamError when no baseUrl source is available" duration="2"/>
24
+ <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="1"/>
26
26
  </file>
27
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/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="7"/>
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"/>
27
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/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="1"/>
29
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) passes when delta is under 10 MB with no new groups" duration="3"/>
30
30
  <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails when retained size delta exceeds 10 MB" duration="1"/>
31
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"/>
32
+ <testCase name="ThresholdEvaluator with defaults (10 MB / 0 new leak groups) fails and includes both violations in reason when both breach" duration="0"/>
33
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"/>
34
+ <testCase name="ThresholdEvaluator with custom thresholds allows non-zero leak groups when threshold is raised" duration="0"/>
35
35
  </file>
36
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/config/tests/runnerConfigLoader.test.ts">
36
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/config/tests/runnerConfigLoader.test.ts">
37
37
  <testCase name="RunnerConfigLoader produces built-in defaults when no source contributes" duration="2"/>
38
38
  <testCase name="RunnerConfigLoader higher-priority sources override lower-priority sources" duration="1"/>
39
39
  <testCase name="RunnerConfigLoader merges shallow keys without dropping unrelated fields" duration="0"/>
@@ -43,73 +43,73 @@
43
43
  <testCase name="RunnerConfigLoader surfaces envs from a file source" duration="1"/>
44
44
  <testCase name="RunnerConfigLoader higher-priority sources override env URLs key-by-key" duration="0"/>
45
45
  </file>
46
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/registry/tests/scenarioRegistry.test.ts">
47
- <testCase name="ScenarioRegistry starts empty" duration="1"/>
46
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/registry/tests/scenarioRegistry.test.ts">
47
+ <testCase name="ScenarioRegistry starts empty" duration="2"/>
48
48
  <testCase name="ScenarioRegistry builds keys as &lt;microapp&gt;/&lt;scenario.id&gt; when registering a group" duration="1"/>
49
49
  <testCase name="ScenarioRegistry register() returns `this` to support chaining" duration="0"/>
50
- <testCase name="ScenarioRegistry throws when registering a duplicate key" duration="11"/>
51
- <testCase name="ScenarioRegistry get() returns the registered scenario" duration="1"/>
52
- <testCase name="ScenarioRegistry get() returns undefined for an unknown key" 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
53
  <testCase name="ScenarioRegistry list() returns entries sorted by key" duration="13"/>
54
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"/>
55
+ <testCase name="ScenarioRegistry filterByTag() returns an empty array when no scenarios match" duration="0"/>
56
56
  </file>
57
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/reporting/tests/junitReporter.test.ts">
58
- <testCase name="JunitReporter writes test-results.xml to outputDir" duration="4"/>
57
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/reporting/tests/junitReporter.test.ts">
58
+ <testCase name="JunitReporter writes test-results.xml to outputDir" duration="3"/>
59
59
  <testCase name="JunitReporter XML contains one testcase per scenario" duration="1"/>
60
60
  <testCase name="JunitReporter XML contains a failure element for failing scenarios" duration="1"/>
61
61
  <testCase name="JunitReporter testsuite has correct tests and failures count" duration="1"/>
62
- <testCase name="JunitReporter XML content is properly escaped for special characters" duration="7"/>
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.3.x/4/libs/encw-leak-runner/lib/config/tests/fileConfigSource.test.ts">
64
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/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
- <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="6"/>
66
+ <testCase name="FileConfigSource parses and validates a well-formed config file" duration="10"/>
67
+ <testCase name="FileConfigSource throws a descriptive error when the JSON is invalid" duration="7"/>
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="0"/>
70
- <testCase name="FileConfigSource parses an envs map of named environment URLs" duration="8"/>
70
+ <testCase name="FileConfigSource parses an envs map of named environment URLs" duration="2"/>
71
71
  <testCase name="FileConfigSource rejects an envs map whose URL value is an empty string" duration="1"/>
72
72
  </file>
73
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/reporting/tests/consoleReporter.test.ts">
74
- <testCase name="ConsoleReporter prints PASSED for a passing scenario" duration="3"/>
73
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/reporting/tests/consoleReporter.test.ts">
74
+ <testCase name="ConsoleReporter prints PASSED for a passing scenario" duration="4"/>
75
75
  <testCase name="ConsoleReporter prints FAILED with reason for a failing scenario" duration="1"/>
76
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.3.x/4/libs/encw-leak-runner/lib/browser/tests/iframeHeapProfiler.test.ts">
78
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/browser/tests/iframeHeapProfiler.test.ts">
79
79
  <testCase name="IframeHeapProfiler is an instance of HeapMemoryProfiler" duration="1"/>
80
80
  <testCase name="IframeHeapProfiler returns the page as CDP target when the iframe is same-origin" duration="1"/>
81
81
  <testCase name="IframeHeapProfiler returns the frame as CDP target when the iframe is cross-origin (OOPIF)" duration="0"/>
82
- <testCase name="IframeHeapProfiler treats an about:blank frame as same-origin and returns the page" duration="0"/>
82
+ <testCase name="IframeHeapProfiler treats an about:blank frame as same-origin and returns the page" duration="10"/>
83
83
  <testCase name="IframeHeapProfiler base HeapMemoryProfiler returns page as CDP target" duration="0"/>
84
84
  </file>
85
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/config/tests/envVarConfigSource.test.ts">
86
- <testCase name="EnvVarConfigSource returns empty when no relevant env vars are set" duration="3"/>
85
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/config/tests/envVarConfigSource.test.ts">
86
+ <testCase name="EnvVarConfigSource returns empty when no relevant env vars are set" duration="1"/>
87
87
  <testCase name="EnvVarConfigSource parses HEADLESS=false as headless: false" duration="1"/>
88
- <testCase name="EnvVarConfigSource parses HEADLESS=true as headless: true" duration="0"/>
89
- <testCase name="EnvVarConfigSource reads LEAK_OUTPUT_DIR into runner.outputDir" duration="1"/>
88
+ <testCase name="EnvVarConfigSource parses HEADLESS=true as headless: true" duration="1"/>
89
+ <testCase name="EnvVarConfigSource reads LEAK_OUTPUT_DIR into runner.outputDir" duration="0"/>
90
90
  <testCase name="EnvVarConfigSource parses LEAK_TOP_N as an integer" duration="1"/>
91
- <testCase name="EnvVarConfigSource ignores LEAK_TOP_N when it is not a positive integer" duration="0"/>
92
- <testCase name="EnvVarConfigSource exposes priority 2 (above file)" duration="1"/>
91
+ <testCase name="EnvVarConfigSource ignores LEAK_TOP_N when it is not a positive integer" duration="1"/>
92
+ <testCase name="EnvVarConfigSource exposes priority 2 (above file)" duration="0"/>
93
93
  </file>
94
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/config/tests/cliOverrideConfigSource.test.ts">
95
- <testCase name="CliOverrideConfigSource returns empty when no overrides are supplied" duration="2"/>
96
- <testCase name="CliOverrideConfigSource passes through headless when supplied" duration="0"/>
94
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/config/tests/cliOverrideConfigSource.test.ts">
95
+ <testCase name="CliOverrideConfigSource returns empty when no overrides are supplied" duration="5"/>
96
+ <testCase name="CliOverrideConfigSource passes through headless when supplied" duration="1"/>
97
97
  <testCase name="CliOverrideConfigSource passes through outputDir and topN when supplied" duration="1"/>
98
- <testCase name="CliOverrideConfigSource exposes priority 3 (highest tier)" duration="0"/>
98
+ <testCase name="CliOverrideConfigSource exposes priority 3 (highest tier)" duration="1"/>
99
99
  </file>
100
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/browser/tests/heapMemoryProfiler.test.ts">
101
- <testCase name="HeapMemoryProfiler — Template Method allows subclass to override getCDPTarget" duration="1"/>
102
- <testCase name="HeapMemoryProfiler — Template Method passes the overridden target to newCDPSession when subclass overrides getCDPTarget" duration="34"/>
100
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/browser/tests/heapMemoryProfiler.test.ts">
101
+ <testCase name="HeapMemoryProfiler — Template Method allows subclass to override getCDPTarget" duration="2"/>
102
+ <testCase name="HeapMemoryProfiler — Template Method passes the overridden target to newCDPSession when subclass overrides getCDPTarget" duration="12"/>
103
103
  </file>
104
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/runner/tests/scenarioRunner.test.ts">
105
- <testCase name="ScenarioRunner constructs without throwing" duration="7"/>
104
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/runner/tests/scenarioRunner.test.ts">
105
+ <testCase name="ScenarioRunner constructs without throwing" duration="8"/>
106
106
  <testCase name="ScenarioRunner run() returns a ScenarioResult with error when browser interactions fail" duration="4"/>
107
- <testCase name="ScenarioRunner run() returns a ScenarioResult with the correct shape on any outcome" duration="4"/>
107
+ <testCase name="ScenarioRunner run() returns a ScenarioResult with the correct shape on any outcome" duration="5"/>
108
108
  </file>
109
- <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/4/libs/encw-leak-runner/lib/runner/tests/batchRunner.test.ts">
110
- <testCase name="BatchRunner runs all scenarios when no filter applied" duration="22"/>
111
- <testCase name="BatchRunner filters scenarios by tag" duration="1"/>
112
- <testCase name="BatchRunner runs a single scenario by registry key" duration="1"/>
109
+ <file path="/opt/jenkins/workspace/ies_encw-libraries_Build_v26.3.x/18/libs/encw-leak-runner/lib/runner/tests/batchRunner.test.ts">
110
+ <testCase name="BatchRunner runs all scenarios when no filter applied" duration="24"/>
111
+ <testCase name="BatchRunner filters scenarios by tag" duration="2"/>
112
+ <testCase name="BatchRunner runs a single scenario by registry key" duration="2"/>
113
113
  <testCase name="BatchRunner throws when scenario key is not in the registry" duration="3"/>
114
114
  <testCase name="BatchRunner totalDurationMs is sum of all scenario durations" duration="1"/>
115
115
  </file>