ppef 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/bin/ppef.mjs +20 -0
  2. package/dist/__tests__/framework-pipeline.integration.test.js +13 -11
  3. package/dist/__tests__/framework-pipeline.integration.test.js.map +1 -1
  4. package/dist/__tests__/index-exports.unit.test.d.ts +8 -0
  5. package/dist/__tests__/index-exports.unit.test.d.ts.map +1 -0
  6. package/dist/__tests__/index-exports.unit.test.js +127 -0
  7. package/dist/__tests__/index-exports.unit.test.js.map +1 -0
  8. package/dist/__tests__/registry-executor.integration.test.js +12 -9
  9. package/dist/__tests__/registry-executor.integration.test.js.map +1 -1
  10. package/dist/aggregation/__tests__/aggregators.unit.test.d.ts +7 -0
  11. package/dist/aggregation/__tests__/aggregators.unit.test.d.ts.map +1 -0
  12. package/dist/aggregation/__tests__/aggregators.unit.test.js +350 -0
  13. package/dist/aggregation/__tests__/aggregators.unit.test.js.map +1 -0
  14. package/dist/aggregation/__tests__/pipeline.unit.test.d.ts +7 -0
  15. package/dist/aggregation/__tests__/pipeline.unit.test.d.ts.map +1 -0
  16. package/dist/aggregation/__tests__/pipeline.unit.test.js +213 -0
  17. package/dist/aggregation/__tests__/pipeline.unit.test.js.map +1 -0
  18. package/dist/aggregation/aggregators.d.ts +9 -0
  19. package/dist/aggregation/aggregators.d.ts.map +1 -1
  20. package/dist/aggregation/aggregators.js +1 -1
  21. package/dist/aggregation/aggregators.js.map +1 -1
  22. package/dist/aggregation/index.d.ts +1 -1
  23. package/dist/aggregation/index.d.ts.map +1 -1
  24. package/dist/aggregation/index.js +1 -1
  25. package/dist/aggregation/index.js.map +1 -1
  26. package/dist/claims/__tests__/evaluator.unit.test.d.ts +12 -0
  27. package/dist/claims/__tests__/evaluator.unit.test.d.ts.map +1 -0
  28. package/dist/claims/__tests__/evaluator.unit.test.js +801 -0
  29. package/dist/claims/__tests__/evaluator.unit.test.js.map +1 -0
  30. package/dist/cli/__tests__/aggregate.command.unit.test.d.ts +7 -0
  31. package/dist/cli/__tests__/aggregate.command.unit.test.d.ts.map +1 -0
  32. package/dist/cli/__tests__/aggregate.command.unit.test.js +396 -0
  33. package/dist/cli/__tests__/aggregate.command.unit.test.js.map +1 -0
  34. package/dist/cli/__tests__/commands.unit.test.d.ts +10 -0
  35. package/dist/cli/__tests__/commands.unit.test.d.ts.map +1 -0
  36. package/dist/cli/__tests__/commands.unit.test.js +217 -0
  37. package/dist/cli/__tests__/commands.unit.test.js.map +1 -0
  38. package/dist/cli/__tests__/index.unit.test.d.ts +10 -0
  39. package/dist/cli/__tests__/index.unit.test.d.ts.map +1 -0
  40. package/dist/cli/__tests__/index.unit.test.js +65 -0
  41. package/dist/cli/__tests__/index.unit.test.js.map +1 -0
  42. package/dist/cli/__tests__/logger.unit.test.d.ts +11 -0
  43. package/dist/cli/__tests__/logger.unit.test.d.ts.map +1 -0
  44. package/dist/cli/__tests__/logger.unit.test.js +180 -0
  45. package/dist/cli/__tests__/logger.unit.test.js.map +1 -0
  46. package/dist/cli/__tests__/module-loader.unit.test.d.ts +11 -0
  47. package/dist/cli/__tests__/module-loader.unit.test.d.ts.map +1 -0
  48. package/dist/cli/__tests__/module-loader.unit.test.js +262 -0
  49. package/dist/cli/__tests__/module-loader.unit.test.js.map +1 -0
  50. package/dist/cli/__tests__/output-writer.unit.test.d.ts +10 -0
  51. package/dist/cli/__tests__/output-writer.unit.test.d.ts.map +1 -0
  52. package/dist/cli/__tests__/output-writer.unit.test.js +216 -0
  53. package/dist/cli/__tests__/output-writer.unit.test.js.map +1 -0
  54. package/dist/cli/__tests__/plan.command.unit.test.d.ts +7 -0
  55. package/dist/cli/__tests__/plan.command.unit.test.d.ts.map +1 -0
  56. package/dist/cli/__tests__/plan.command.unit.test.js +289 -0
  57. package/dist/cli/__tests__/plan.command.unit.test.js.map +1 -0
  58. package/dist/cli/__tests__/run.command.unit.test.d.ts +7 -0
  59. package/dist/cli/__tests__/run.command.unit.test.d.ts.map +1 -0
  60. package/dist/cli/__tests__/run.command.unit.test.js +422 -0
  61. package/dist/cli/__tests__/run.command.unit.test.js.map +1 -0
  62. package/dist/cli/__tests__/validate.command.unit.test.d.ts +7 -0
  63. package/dist/cli/__tests__/validate.command.unit.test.d.ts.map +1 -0
  64. package/dist/cli/__tests__/validate.command.unit.test.js +226 -0
  65. package/dist/cli/__tests__/validate.command.unit.test.js.map +1 -0
  66. package/dist/cli/command-deps.d.ts +125 -0
  67. package/dist/cli/command-deps.d.ts.map +1 -0
  68. package/dist/cli/command-deps.js +7 -0
  69. package/dist/cli/command-deps.js.map +1 -0
  70. package/dist/cli/commands/aggregate.d.ts +35 -0
  71. package/dist/cli/commands/aggregate.d.ts.map +1 -0
  72. package/dist/cli/commands/aggregate.js +121 -0
  73. package/dist/cli/commands/aggregate.js.map +1 -0
  74. package/dist/cli/commands/plan.d.ts +36 -0
  75. package/dist/cli/commands/plan.d.ts.map +1 -0
  76. package/dist/cli/commands/plan.js +109 -0
  77. package/dist/cli/commands/plan.js.map +1 -0
  78. package/dist/cli/commands/run.d.ts +33 -0
  79. package/dist/cli/commands/run.d.ts.map +1 -0
  80. package/dist/cli/commands/run.js +185 -0
  81. package/dist/cli/commands/run.js.map +1 -0
  82. package/dist/cli/commands/validate.d.ts +27 -0
  83. package/dist/cli/commands/validate.d.ts.map +1 -0
  84. package/dist/cli/commands/validate.js +88 -0
  85. package/dist/cli/commands/validate.js.map +1 -0
  86. package/dist/cli/config-loader.d.ts +30 -0
  87. package/dist/cli/config-loader.d.ts.map +1 -0
  88. package/dist/cli/config-loader.js +181 -0
  89. package/dist/cli/config-loader.js.map +1 -0
  90. package/dist/cli/index.d.ts +26 -0
  91. package/dist/cli/index.d.ts.map +1 -0
  92. package/dist/cli/index.js +58 -0
  93. package/dist/cli/index.js.map +1 -0
  94. package/dist/cli/logger.d.ts +75 -0
  95. package/dist/cli/logger.d.ts.map +1 -0
  96. package/dist/cli/logger.js +131 -0
  97. package/dist/cli/logger.js.map +1 -0
  98. package/dist/cli/module-loader.d.ts +46 -0
  99. package/dist/cli/module-loader.d.ts.map +1 -0
  100. package/dist/cli/module-loader.js +116 -0
  101. package/dist/cli/module-loader.js.map +1 -0
  102. package/dist/cli/output-writer.d.ts +51 -0
  103. package/dist/cli/output-writer.d.ts.map +1 -0
  104. package/dist/cli/output-writer.js +65 -0
  105. package/dist/cli/output-writer.js.map +1 -0
  106. package/dist/cli/types.d.ts +174 -0
  107. package/dist/cli/types.d.ts.map +1 -0
  108. package/dist/cli/types.js +7 -0
  109. package/dist/cli/types.js.map +1 -0
  110. package/dist/collector/__tests__/result-collector.unit.test.d.ts +7 -0
  111. package/dist/collector/__tests__/result-collector.unit.test.d.ts.map +1 -0
  112. package/dist/collector/__tests__/result-collector.unit.test.js +1021 -0
  113. package/dist/collector/__tests__/result-collector.unit.test.js.map +1 -0
  114. package/dist/collector/__tests__/schema.unit.test.d.ts +7 -0
  115. package/dist/collector/__tests__/schema.unit.test.d.ts.map +1 -0
  116. package/dist/collector/__tests__/schema.unit.test.js +360 -0
  117. package/dist/collector/__tests__/schema.unit.test.js.map +1 -0
  118. package/dist/executor/__tests__/checkpoint-manager.unit.test.js +83 -1
  119. package/dist/executor/__tests__/checkpoint-manager.unit.test.js.map +1 -1
  120. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.d.ts +3 -6
  121. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.d.ts.map +1 -1
  122. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.js +428 -159
  123. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.js.map +1 -1
  124. package/dist/executor/__tests__/checkpoint-storage.unit.test.js +105 -1
  125. package/dist/executor/__tests__/checkpoint-storage.unit.test.js.map +1 -1
  126. package/dist/executor/__tests__/executor.unit.test.js +69 -1
  127. package/dist/executor/__tests__/executor.unit.test.js.map +1 -1
  128. package/dist/executor/__tests__/memory-monitor.unit.test.d.ts +7 -0
  129. package/dist/executor/__tests__/memory-monitor.unit.test.d.ts.map +1 -0
  130. package/dist/executor/__tests__/memory-monitor.unit.test.js +285 -0
  131. package/dist/executor/__tests__/memory-monitor.unit.test.js.map +1 -0
  132. package/dist/executor/__tests__/parallel-executor.unit.test.d.ts +2 -1
  133. package/dist/executor/__tests__/parallel-executor.unit.test.d.ts.map +1 -1
  134. package/dist/executor/__tests__/parallel-executor.unit.test.js +426 -156
  135. package/dist/executor/__tests__/parallel-executor.unit.test.js.map +1 -1
  136. package/dist/executor/__tests__/run-id.unit.test.d.ts +8 -0
  137. package/dist/executor/__tests__/run-id.unit.test.d.ts.map +1 -0
  138. package/dist/executor/__tests__/run-id.unit.test.js +156 -0
  139. package/dist/executor/__tests__/run-id.unit.test.js.map +1 -0
  140. package/dist/executor/__tests__/worker-entry.integration.test.d.ts +24 -0
  141. package/dist/executor/__tests__/worker-entry.integration.test.d.ts.map +1 -0
  142. package/dist/executor/__tests__/worker-entry.integration.test.js +82 -0
  143. package/dist/executor/__tests__/worker-entry.integration.test.js.map +1 -0
  144. package/dist/executor/__tests__/worker-entry.unit.test.d.ts +7 -0
  145. package/dist/executor/__tests__/worker-entry.unit.test.d.ts.map +1 -0
  146. package/dist/executor/__tests__/worker-entry.unit.test.js +364 -0
  147. package/dist/executor/__tests__/worker-entry.unit.test.js.map +1 -0
  148. package/dist/executor/parallel-executor.d.ts +186 -0
  149. package/dist/executor/parallel-executor.d.ts.map +1 -1
  150. package/dist/executor/parallel-executor.js +218 -83
  151. package/dist/executor/parallel-executor.js.map +1 -1
  152. package/dist/executor/run-id.d.ts.map +1 -1
  153. package/dist/executor/run-id.js +8 -1
  154. package/dist/executor/run-id.js.map +1 -1
  155. package/dist/executor/worker-entry.d.ts +2 -0
  156. package/dist/executor/worker-entry.d.ts.map +1 -1
  157. package/dist/executor/worker-entry.js +29 -54
  158. package/dist/executor/worker-entry.js.map +1 -1
  159. package/dist/executor/worker-executor.d.ts +156 -0
  160. package/dist/executor/worker-executor.d.ts.map +1 -0
  161. package/dist/executor/worker-executor.js +88 -0
  162. package/dist/executor/worker-executor.js.map +1 -0
  163. package/dist/robustness/__tests__/analyzer.unit.test.d.ts +11 -0
  164. package/dist/robustness/__tests__/analyzer.unit.test.d.ts.map +1 -0
  165. package/dist/robustness/__tests__/analyzer.unit.test.js +455 -0
  166. package/dist/robustness/__tests__/analyzer.unit.test.js.map +1 -0
  167. package/dist/robustness/__tests__/perturbations.unit.test.d.ts +11 -0
  168. package/dist/robustness/__tests__/perturbations.unit.test.d.ts.map +1 -0
  169. package/dist/robustness/__tests__/perturbations.unit.test.js +284 -0
  170. package/dist/robustness/__tests__/perturbations.unit.test.js.map +1 -0
  171. package/dist/statistical/__tests__/mann-whitney-u.unit.test.d.ts +7 -0
  172. package/dist/statistical/__tests__/mann-whitney-u.unit.test.d.ts.map +1 -0
  173. package/dist/statistical/__tests__/mann-whitney-u.unit.test.js +185 -0
  174. package/dist/statistical/__tests__/mann-whitney-u.unit.test.js.map +1 -0
  175. package/package.json +8 -1
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Unit tests for MemoryMonitor
3
+ *
4
+ * Tests memory tracking, warning levels, and global helpers.
5
+ */
6
+ import { describe, it, beforeEach } from "node:test";
7
+ import assert from "node:assert/strict";
8
+ import { MemoryMonitor, MemoryWarningLevel, DEFAULT_MEMORY_CONFIG, getGlobalMemoryMonitor, checkMemoryUsage, getMemoryStats, } from "../memory-monitor.js";
9
+ describe("MemoryMonitor", () => {
10
+ let monitor;
11
+ beforeEach(() => {
12
+ monitor = new MemoryMonitor();
13
+ });
14
+ describe("constructor", () => {
15
+ it("should use default config when none provided", () => {
16
+ assert.ok(monitor instanceof MemoryMonitor);
17
+ });
18
+ it("should merge partial config with defaults", () => {
19
+ const customMonitor = new MemoryMonitor({
20
+ warningThresholdMb: 500,
21
+ });
22
+ assert.ok(customMonitor instanceof MemoryMonitor);
23
+ });
24
+ });
25
+ describe("check", () => {
26
+ it("should return a warning level", () => {
27
+ const level = monitor.check();
28
+ assert.ok(Object.values(MemoryWarningLevel).includes(level));
29
+ });
30
+ it("should return NORMAL when memory is low", () => {
31
+ // Use very high thresholds to ensure NORMAL
32
+ const lowMemMonitor = new MemoryMonitor({
33
+ warningThresholdMb: 1_000_000,
34
+ criticalThresholdMb: 2_000_000,
35
+ emergencyThresholdMb: 3_000_000,
36
+ });
37
+ assert.strictEqual(lowMemMonitor.check(), MemoryWarningLevel.NORMAL);
38
+ });
39
+ });
40
+ describe("getStats", () => {
41
+ it("should return memory stats", () => {
42
+ const stats = monitor.getStats();
43
+ assert.ok(typeof stats.rssBytes === "number");
44
+ assert.ok(typeof stats.heapTotalBytes === "number");
45
+ assert.ok(typeof stats.heapUsedBytes === "number");
46
+ assert.ok(typeof stats.externalBytes === "number");
47
+ assert.ok(typeof stats.arrayBuffersBytes === "number");
48
+ assert.ok(typeof stats.rssMb === "number");
49
+ assert.ok(typeof stats.heapUsagePercent === "number");
50
+ assert.ok(typeof stats.timestamp === "number");
51
+ });
52
+ it("should have positive values", () => {
53
+ const stats = monitor.getStats();
54
+ assert.ok(stats.rssBytes > 0);
55
+ assert.ok(stats.heapTotalBytes > 0);
56
+ assert.ok(stats.heapUsedBytes >= 0);
57
+ assert.ok(stats.rssMb > 0);
58
+ });
59
+ it("should have heap usage percent between 0 and 100", () => {
60
+ const stats = monitor.getStats();
61
+ assert.ok(stats.heapUsagePercent >= 0);
62
+ assert.ok(stats.heapUsagePercent <= 100);
63
+ });
64
+ });
65
+ describe("getWarningLevel", () => {
66
+ it("should return current warning level", () => {
67
+ const level = monitor.getWarningLevel();
68
+ assert.ok(Object.values(MemoryWarningLevel).includes(level));
69
+ });
70
+ it("should return WARNING when stats exceed warning threshold", () => {
71
+ const testMonitor = new MemoryMonitor({
72
+ warningThresholdMb: 10,
73
+ criticalThresholdMb: 100,
74
+ emergencyThresholdMb: 1000,
75
+ });
76
+ const stats = {
77
+ rssBytes: 15 * 1024 * 1024,
78
+ heapTotalBytes: 20 * 1024 * 1024,
79
+ heapUsedBytes: 10 * 1024 * 1024,
80
+ externalBytes: 0,
81
+ arrayBuffersBytes: 0,
82
+ rssMb: 15,
83
+ heapUsagePercent: 50,
84
+ timestamp: Date.now(),
85
+ };
86
+ assert.strictEqual(testMonitor.getWarningLevel(stats), MemoryWarningLevel.WARNING);
87
+ });
88
+ it("should return CRITICAL when stats exceed critical threshold", () => {
89
+ const testMonitor = new MemoryMonitor({
90
+ warningThresholdMb: 10,
91
+ criticalThresholdMb: 50,
92
+ emergencyThresholdMb: 1000,
93
+ });
94
+ const stats = {
95
+ rssBytes: 60 * 1024 * 1024,
96
+ heapTotalBytes: 80 * 1024 * 1024,
97
+ heapUsedBytes: 40 * 1024 * 1024,
98
+ externalBytes: 0,
99
+ arrayBuffersBytes: 0,
100
+ rssMb: 60,
101
+ heapUsagePercent: 50,
102
+ timestamp: Date.now(),
103
+ };
104
+ assert.strictEqual(testMonitor.getWarningLevel(stats), MemoryWarningLevel.CRITICAL);
105
+ });
106
+ it("should return EMERGENCY when stats exceed emergency threshold", () => {
107
+ const testMonitor = new MemoryMonitor({
108
+ warningThresholdMb: 10,
109
+ criticalThresholdMb: 50,
110
+ emergencyThresholdMb: 100,
111
+ });
112
+ const stats = {
113
+ rssBytes: 150 * 1024 * 1024,
114
+ heapTotalBytes: 200 * 1024 * 1024,
115
+ heapUsedBytes: 100 * 1024 * 1024,
116
+ externalBytes: 0,
117
+ arrayBuffersBytes: 0,
118
+ rssMb: 150,
119
+ heapUsagePercent: 50,
120
+ timestamp: Date.now(),
121
+ };
122
+ assert.strictEqual(testMonitor.getWarningLevel(stats), MemoryWarningLevel.EMERGENCY);
123
+ });
124
+ it("should return NORMAL when stats below all thresholds", () => {
125
+ const testMonitor = new MemoryMonitor({
126
+ warningThresholdMb: 100,
127
+ criticalThresholdMb: 200,
128
+ emergencyThresholdMb: 300,
129
+ });
130
+ const stats = {
131
+ rssBytes: 10 * 1024 * 1024,
132
+ heapTotalBytes: 20 * 1024 * 1024,
133
+ heapUsedBytes: 5 * 1024 * 1024,
134
+ externalBytes: 0,
135
+ arrayBuffersBytes: 0,
136
+ rssMb: 10,
137
+ heapUsagePercent: 25,
138
+ timestamp: Date.now(),
139
+ };
140
+ assert.strictEqual(testMonitor.getWarningLevel(stats), MemoryWarningLevel.NORMAL);
141
+ });
142
+ it("should use default stats when none provided", () => {
143
+ const level = monitor.getWarningLevel();
144
+ assert.ok(Object.values(MemoryWarningLevel).includes(level));
145
+ });
146
+ });
147
+ describe("check with callback", () => {
148
+ it("should trigger callback when warning level changes", () => {
149
+ const calls = [];
150
+ // Set very low threshold to ensure current memory exceeds it
151
+ const testMonitor = new MemoryMonitor({
152
+ warningThresholdMb: 0.0001, // Extremely low threshold (0.1KB)
153
+ criticalThresholdMb: 0.0002,
154
+ emergencyThresholdMb: 0.0003,
155
+ onWarningLevelChange(level, stats) {
156
+ calls.push({ level, stats });
157
+ },
158
+ });
159
+ // First check should trigger callback from NORMAL to WARNING/CRITICAL/EMERGENCY
160
+ // since current memory is definitely above 0.1KB
161
+ testMonitor.check();
162
+ assert.ok(calls.length > 0);
163
+ // The callback should be triggered with a level other than NORMAL
164
+ assert.ok(calls.some((c) => c.level !== MemoryWarningLevel.NORMAL));
165
+ });
166
+ it("should not trigger callback when level unchanged", () => {
167
+ let callCount = 0;
168
+ // Set very high threshold so level stays NORMAL
169
+ const testMonitor = new MemoryMonitor({
170
+ warningThresholdMb: 1_000_000, // 1TB - way above any test memory
171
+ onWarningLevelChange() {
172
+ callCount++;
173
+ },
174
+ });
175
+ // Multiple checks with same memory level (all NORMAL)
176
+ testMonitor.check();
177
+ testMonitor.check();
178
+ testMonitor.check();
179
+ // Callback is only called when level CHANGES, not on every check
180
+ // Since level stays NORMAL throughout, callback should never be called
181
+ assert.strictEqual(callCount, 0);
182
+ });
183
+ });
184
+ describe("verbose logging", () => {
185
+ it("should log warnings when verbose is true", () => {
186
+ const testMonitor = new MemoryMonitor({
187
+ warningThresholdMb: 1,
188
+ verbose: true,
189
+ });
190
+ // Should not throw when verbose logging triggers
191
+ assert.doesNotThrow(() => {
192
+ testMonitor.check();
193
+ });
194
+ });
195
+ });
196
+ describe("snapshot", () => {
197
+ it("should return memory stats", () => {
198
+ const snapshot = monitor.snapshot();
199
+ assert.ok(typeof snapshot.rssBytes === "number");
200
+ assert.ok(typeof snapshot.heapUsedBytes === "number");
201
+ });
202
+ });
203
+ describe("format", () => {
204
+ it("should format stats as string", () => {
205
+ const formatted = monitor.format();
206
+ assert.ok(typeof formatted === "string");
207
+ assert.ok(formatted.includes("RSS:"));
208
+ assert.ok(formatted.includes("Heap:"));
209
+ });
210
+ it("should format provided stats", () => {
211
+ const stats = {
212
+ rssBytes: 100_000_000,
213
+ heapTotalBytes: 50_000_000,
214
+ heapUsedBytes: 25_000_000,
215
+ externalBytes: 0,
216
+ arrayBuffersBytes: 0,
217
+ rssMb: 100,
218
+ heapUsagePercent: 50,
219
+ timestamp: Date.now(),
220
+ };
221
+ const formatted = monitor.format(stats);
222
+ assert.ok(formatted.includes("100.0MB"));
223
+ });
224
+ });
225
+ });
226
+ describe("DEFAULT_MEMORY_CONFIG", () => {
227
+ it("should have default thresholds", () => {
228
+ assert.ok(typeof DEFAULT_MEMORY_CONFIG.warningThresholdMb === "number");
229
+ assert.ok(typeof DEFAULT_MEMORY_CONFIG.criticalThresholdMb === "number");
230
+ assert.ok(typeof DEFAULT_MEMORY_CONFIG.emergencyThresholdMb === "number");
231
+ assert.strictEqual(DEFAULT_MEMORY_CONFIG.verbose, false);
232
+ });
233
+ });
234
+ describe("getGlobalMemoryMonitor", () => {
235
+ it("should create and return a singleton monitor", () => {
236
+ const monitor1 = getGlobalMemoryMonitor();
237
+ const monitor2 = getGlobalMemoryMonitor();
238
+ assert.ok(monitor1 instanceof MemoryMonitor);
239
+ assert.strictEqual(monitor1, monitor2); // Same instance
240
+ });
241
+ it("should accept custom config on first call", () => {
242
+ // Clear global state by creating a new monitor with specific config
243
+ const customMonitor = getGlobalMemoryMonitor({
244
+ warningThresholdMb: 500,
245
+ });
246
+ assert.ok(customMonitor instanceof MemoryMonitor);
247
+ });
248
+ it("should ignore config on subsequent calls", () => {
249
+ const monitor1 = getGlobalMemoryMonitor({ warningThresholdMb: 500 });
250
+ const monitor2 = getGlobalMemoryMonitor({ warningThresholdMb: 1000 });
251
+ assert.strictEqual(monitor1, monitor2);
252
+ });
253
+ });
254
+ describe("checkMemoryUsage", () => {
255
+ it("should return warning level using global monitor", () => {
256
+ const level = checkMemoryUsage();
257
+ assert.ok(Object.values(MemoryWarningLevel).includes(level));
258
+ });
259
+ it("should return same level as global monitor check", () => {
260
+ const globalMonitor = getGlobalMemoryMonitor();
261
+ assert.strictEqual(checkMemoryUsage(), globalMonitor.check());
262
+ });
263
+ });
264
+ describe("getMemoryStats", () => {
265
+ it("should return stats using global monitor", () => {
266
+ const stats = getMemoryStats();
267
+ assert.ok(typeof stats.rssBytes === "number");
268
+ assert.ok(typeof stats.heapUsedBytes === "number");
269
+ assert.ok(typeof stats.rssMb === "number");
270
+ });
271
+ it("should return same stats as global monitor getStats (when called immediately)", () => {
272
+ const globalMonitor = getGlobalMemoryMonitor();
273
+ // Call both immediately to minimize memory fluctuation
274
+ const stats1 = getMemoryStats();
275
+ const stats2 = globalMonitor.getStats();
276
+ // Both should return valid stats from the same monitor
277
+ // Note: rssBytes may differ slightly due to memory fluctuation,
278
+ // but both should return reasonable values
279
+ assert.ok(stats1.rssBytes > 0);
280
+ assert.ok(stats2.rssBytes > 0);
281
+ assert.ok(stats1.heapUsedBytes > 0);
282
+ assert.ok(stats2.heapUsedBytes > 0);
283
+ });
284
+ });
285
+ //# sourceMappingURL=memory-monitor.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-monitor.unit.test.js","sourceRoot":"","sources":["../../../src/executor/__tests__/memory-monitor.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Unit tests for ParallelExecutor
3
3
  *
4
- * Tests worker name generation, run batch distribution, and shard path generation.
4
+ * Tests worker name generation, run batch distribution, shard path generation,
5
+ * and the new DI-enabled ParallelExecutor class.
5
6
  */
6
7
  export {};
7
8
  //# sourceMappingURL=parallel-executor.unit.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-executor.unit.test.d.ts","sourceRoot":"","sources":["../../../src/executor/__tests__/parallel-executor.unit.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"parallel-executor.unit.test.d.ts","sourceRoot":"","sources":["../../../src/executor/__tests__/parallel-executor.unit.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}