node-os-utils 2.0.2 → 2.0.4

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 (147) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README-zh.md +1291 -0
  3. package/README.md +28 -2
  4. package/dist/package.json +4 -2
  5. package/dist/src/adapters/linux-adapter.d.ts +17 -4
  6. package/dist/src/adapters/linux-adapter.d.ts.map +1 -1
  7. package/dist/src/adapters/linux-adapter.js +37 -12
  8. package/dist/src/adapters/linux-adapter.js.map +1 -1
  9. package/dist/src/adapters/macos-adapter.d.ts +17 -4
  10. package/dist/src/adapters/macos-adapter.d.ts.map +1 -1
  11. package/dist/src/adapters/macos-adapter.js +28 -11
  12. package/dist/src/adapters/macos-adapter.js.map +1 -1
  13. package/dist/src/adapters/windows-adapter.d.ts +13 -2
  14. package/dist/src/adapters/windows-adapter.d.ts.map +1 -1
  15. package/dist/src/adapters/windows-adapter.js +26 -3
  16. package/dist/src/adapters/windows-adapter.js.map +1 -1
  17. package/dist/src/monitors/cpu-monitor.d.ts.map +1 -1
  18. package/dist/src/monitors/cpu-monitor.js +7 -2
  19. package/dist/src/monitors/cpu-monitor.js.map +1 -1
  20. package/dist/src/monitors/process-monitor.d.ts +17 -4
  21. package/dist/src/monitors/process-monitor.d.ts.map +1 -1
  22. package/dist/src/monitors/process-monitor.js +30 -4
  23. package/dist/src/monitors/process-monitor.js.map +1 -1
  24. package/dist/src/types/config.d.ts +7 -0
  25. package/dist/src/types/config.d.ts.map +1 -1
  26. package/dist/src/utils/process-killer.d.ts +38 -0
  27. package/dist/src/utils/process-killer.d.ts.map +1 -0
  28. package/dist/src/utils/process-killer.js +96 -0
  29. package/dist/src/utils/process-killer.js.map +1 -0
  30. package/package.json +4 -2
  31. package/dist/.tsbuildinfo +0 -1
  32. package/dist/test/config/test-config.d.ts +0 -301
  33. package/dist/test/config/test-config.d.ts.map +0 -1
  34. package/dist/test/config/test-config.js +0 -235
  35. package/dist/test/config/test-config.js.map +0 -1
  36. package/dist/test/platform/linux.test.d.ts +0 -6
  37. package/dist/test/platform/linux.test.d.ts.map +0 -1
  38. package/dist/test/platform/linux.test.js +0 -307
  39. package/dist/test/platform/linux.test.js.map +0 -1
  40. package/dist/test/platform/macos.test.d.ts +0 -6
  41. package/dist/test/platform/macos.test.d.ts.map +0 -1
  42. package/dist/test/platform/macos.test.js +0 -276
  43. package/dist/test/platform/macos.test.js.map +0 -1
  44. package/dist/test/platform/windows.test.d.ts +0 -6
  45. package/dist/test/platform/windows.test.d.ts.map +0 -1
  46. package/dist/test/platform/windows.test.js +0 -320
  47. package/dist/test/platform/windows.test.js.map +0 -1
  48. package/dist/test/unit/adapters/adapter-factory.test.d.ts +0 -2
  49. package/dist/test/unit/adapters/adapter-factory.test.d.ts.map +0 -1
  50. package/dist/test/unit/adapters/adapter-factory.test.js +0 -147
  51. package/dist/test/unit/adapters/adapter-factory.test.js.map +0 -1
  52. package/dist/test/unit/adapters/linux-adapter.test.d.ts +0 -2
  53. package/dist/test/unit/adapters/linux-adapter.test.d.ts.map +0 -1
  54. package/dist/test/unit/adapters/linux-adapter.test.js +0 -204
  55. package/dist/test/unit/adapters/linux-adapter.test.js.map +0 -1
  56. package/dist/test/unit/adapters/macos-adapter.test.d.ts +0 -2
  57. package/dist/test/unit/adapters/macos-adapter.test.d.ts.map +0 -1
  58. package/dist/test/unit/adapters/macos-adapter.test.js +0 -237
  59. package/dist/test/unit/adapters/macos-adapter.test.js.map +0 -1
  60. package/dist/test/unit/adapters/windows-adapter.test.d.ts +0 -2
  61. package/dist/test/unit/adapters/windows-adapter.test.d.ts.map +0 -1
  62. package/dist/test/unit/adapters/windows-adapter.test.js +0 -111
  63. package/dist/test/unit/adapters/windows-adapter.test.js.map +0 -1
  64. package/dist/test/unit/core/base-monitor.test.d.ts +0 -2
  65. package/dist/test/unit/core/base-monitor.test.d.ts.map +0 -1
  66. package/dist/test/unit/core/base-monitor.test.js +0 -188
  67. package/dist/test/unit/core/base-monitor.test.js.map +0 -1
  68. package/dist/test/unit/core/cache-manager.test.d.ts +0 -6
  69. package/dist/test/unit/core/cache-manager.test.d.ts.map +0 -1
  70. package/dist/test/unit/core/cache-manager.test.js +0 -127
  71. package/dist/test/unit/core/cache-manager.test.js.map +0 -1
  72. package/dist/test/unit/core/platform-adapter.test.d.ts +0 -2
  73. package/dist/test/unit/core/platform-adapter.test.d.ts.map +0 -1
  74. package/dist/test/unit/core/platform-adapter.test.js +0 -186
  75. package/dist/test/unit/core/platform-adapter.test.js.map +0 -1
  76. package/dist/test/unit/index.test.d.ts +0 -2
  77. package/dist/test/unit/index.test.d.ts.map +0 -1
  78. package/dist/test/unit/index.test.js +0 -183
  79. package/dist/test/unit/index.test.js.map +0 -1
  80. package/dist/test/unit/monitors/cpu-monitor.test.d.ts +0 -2
  81. package/dist/test/unit/monitors/cpu-monitor.test.d.ts.map +0 -1
  82. package/dist/test/unit/monitors/cpu-monitor.test.js +0 -245
  83. package/dist/test/unit/monitors/cpu-monitor.test.js.map +0 -1
  84. package/dist/test/unit/monitors/disk-monitor.test.d.ts +0 -2
  85. package/dist/test/unit/monitors/disk-monitor.test.d.ts.map +0 -1
  86. package/dist/test/unit/monitors/disk-monitor.test.js +0 -46
  87. package/dist/test/unit/monitors/disk-monitor.test.js.map +0 -1
  88. package/dist/test/unit/monitors/memory-monitor.test.d.ts +0 -2
  89. package/dist/test/unit/monitors/memory-monitor.test.d.ts.map +0 -1
  90. package/dist/test/unit/monitors/memory-monitor.test.js +0 -142
  91. package/dist/test/unit/monitors/memory-monitor.test.js.map +0 -1
  92. package/dist/test/unit/monitors/network-monitor.test.d.ts +0 -2
  93. package/dist/test/unit/monitors/network-monitor.test.d.ts.map +0 -1
  94. package/dist/test/unit/monitors/network-monitor.test.js +0 -22
  95. package/dist/test/unit/monitors/network-monitor.test.js.map +0 -1
  96. package/dist/test/unit/monitors/process-monitor.test.d.ts +0 -2
  97. package/dist/test/unit/monitors/process-monitor.test.d.ts.map +0 -1
  98. package/dist/test/unit/monitors/process-monitor.test.js +0 -165
  99. package/dist/test/unit/monitors/process-monitor.test.js.map +0 -1
  100. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts +0 -2
  101. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts.map +0 -1
  102. package/dist/test/unit/monitors/system-monitor-macos.test.js +0 -115
  103. package/dist/test/unit/monitors/system-monitor-macos.test.js.map +0 -1
  104. package/dist/test/unit/monitors/system-monitor.test.d.ts +0 -2
  105. package/dist/test/unit/monitors/system-monitor.test.d.ts.map +0 -1
  106. package/dist/test/unit/monitors/system-monitor.test.js +0 -70
  107. package/dist/test/unit/monitors/system-monitor.test.js.map +0 -1
  108. package/dist/test/unit/types/common.test.d.ts +0 -6
  109. package/dist/test/unit/types/common.test.d.ts.map +0 -1
  110. package/dist/test/unit/types/common.test.js +0 -139
  111. package/dist/test/unit/types/common.test.js.map +0 -1
  112. package/dist/test/unit/types/config.test.d.ts +0 -2
  113. package/dist/test/unit/types/config.test.d.ts.map +0 -1
  114. package/dist/test/unit/types/config.test.js +0 -9
  115. package/dist/test/unit/types/config.test.js.map +0 -1
  116. package/dist/test/unit/types/errors.test.d.ts +0 -6
  117. package/dist/test/unit/types/errors.test.d.ts.map +0 -1
  118. package/dist/test/unit/types/errors.test.js +0 -184
  119. package/dist/test/unit/types/errors.test.js.map +0 -1
  120. package/dist/test/unit/types/index.test.d.ts +0 -2
  121. package/dist/test/unit/types/index.test.d.ts.map +0 -1
  122. package/dist/test/unit/types/index.test.js +0 -39
  123. package/dist/test/unit/types/index.test.js.map +0 -1
  124. package/dist/test/unit/types/monitors.test.d.ts +0 -2
  125. package/dist/test/unit/types/monitors.test.d.ts.map +0 -1
  126. package/dist/test/unit/types/monitors.test.js +0 -9
  127. package/dist/test/unit/types/monitors.test.js.map +0 -1
  128. package/dist/test/unit/types/platform.test.d.ts +0 -2
  129. package/dist/test/unit/types/platform.test.d.ts.map +0 -1
  130. package/dist/test/unit/types/platform.test.js +0 -9
  131. package/dist/test/unit/types/platform.test.js.map +0 -1
  132. package/dist/test/unit/utils/command-executor.test.d.ts +0 -6
  133. package/dist/test/unit/utils/command-executor.test.d.ts.map +0 -1
  134. package/dist/test/unit/utils/command-executor.test.js +0 -190
  135. package/dist/test/unit/utils/command-executor.test.js.map +0 -1
  136. package/dist/test/unit/utils/platform-specific.test.d.ts +0 -2
  137. package/dist/test/unit/utils/platform-specific.test.d.ts.map +0 -1
  138. package/dist/test/unit/utils/platform-specific.test.js +0 -32
  139. package/dist/test/unit/utils/platform-specific.test.js.map +0 -1
  140. package/dist/test/utils/platform-specific.d.ts +0 -139
  141. package/dist/test/utils/platform-specific.d.ts.map +0 -1
  142. package/dist/test/utils/platform-specific.js +0 -306
  143. package/dist/test/utils/platform-specific.js.map +0 -1
  144. package/dist/test/utils/test-base.d.ts +0 -157
  145. package/dist/test/utils/test-base.d.ts.map +0 -1
  146. package/dist/test/utils/test-base.js +0 -316
  147. package/dist/test/utils/test-base.js.map +0 -1
@@ -1,306 +0,0 @@
1
- "use strict";
2
- /**
3
- * 平台特定的测试工具和配置
4
- * 为不同操作系统提供专门的测试支持
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.PlatformTestDataGenerator = exports.CrossPlatformValidator = exports.WindowsTestUtils = exports.MacOSTestUtils = exports.LinuxTestUtils = void 0;
8
- const test_base_1 = require("./test-base");
9
- /**
10
- * Linux特定的测试工具
11
- */
12
- class LinuxTestUtils {
13
- /**
14
- * 检查是否可以访问/proc文件系统
15
- */
16
- static canAccessProc() {
17
- try {
18
- const fs = require('fs');
19
- return fs.existsSync(this.PROC_MEMINFO);
20
- }
21
- catch {
22
- return false;
23
- }
24
- }
25
- /**
26
- * 验证Linux的负载平均值
27
- */
28
- static validateLoadAverage(loads) {
29
- if (!Array.isArray(loads) || loads.length !== 3)
30
- return false;
31
- return loads.every(load => test_base_1.TestValidators.isValidNumber(load) && load >= 0);
32
- }
33
- /**
34
- * 获取预期的Linux命令列表
35
- */
36
- static getExpectedCommands() {
37
- return [
38
- 'free',
39
- 'df',
40
- 'vmstat',
41
- 'netstat',
42
- 'ps',
43
- 'top',
44
- 'iotop',
45
- 'lscpu'
46
- ];
47
- }
48
- /**
49
- * 验证Linux内存信息的结构
50
- */
51
- static validateMemoryInfo(info) {
52
- const requiredFields = ['totalMemMb', 'usedMemMb', 'freeMemMb', 'usedMemPercentage', 'freeMemPercentage'];
53
- return requiredFields.every(field => info.hasOwnProperty(field) && test_base_1.TestValidators.isValidNumber(parseFloat(info[field])));
54
- }
55
- }
56
- exports.LinuxTestUtils = LinuxTestUtils;
57
- /**
58
- * Linux特定的系统文件路径
59
- */
60
- LinuxTestUtils.PROC_MEMINFO = '/proc/meminfo';
61
- LinuxTestUtils.PROC_CPUINFO = '/proc/cpuinfo';
62
- LinuxTestUtils.PROC_STAT = '/proc/stat';
63
- LinuxTestUtils.PROC_LOADAVG = '/proc/loadavg';
64
- /**
65
- * macOS特定的测试工具
66
- */
67
- class MacOSTestUtils {
68
- /**
69
- * 验证macOS的vm_stat输出格式
70
- */
71
- static validateVmStatOutput(output) {
72
- return output.includes('Pages free:') &&
73
- output.includes('Pages active:') &&
74
- output.includes('Pages inactive:');
75
- }
76
- /**
77
- * 验证macOS的负载平均值(应该正常工作)
78
- */
79
- static validateLoadAverage(loads) {
80
- if (!Array.isArray(loads) || loads.length !== 3)
81
- return false;
82
- return loads.every(load => test_base_1.TestValidators.isValidNumber(load) && load >= 0);
83
- }
84
- /**
85
- * 获取预期的macOS系统命令列表
86
- */
87
- static getExpectedCommands() {
88
- return [
89
- 'vm_stat',
90
- 'top',
91
- 'df',
92
- 'netstat',
93
- 'ps',
94
- 'system_profiler',
95
- 'sysctl'
96
- ];
97
- }
98
- /**
99
- * 验证macOS磁盘信息格式
100
- */
101
- static validateDiskInfo(info) {
102
- const requiredFields = ['totalGb', 'usedGb', 'freeGb', 'usedPercentage', 'freePercentage'];
103
- return requiredFields.every(field => info.hasOwnProperty(field) && test_base_1.TestValidators.isValidNumber(parseFloat(info[field])));
104
- }
105
- }
106
- exports.MacOSTestUtils = MacOSTestUtils;
107
- /**
108
- * macOS特定的系统命令
109
- */
110
- MacOSTestUtils.VM_STAT_CMD = 'vm_stat';
111
- MacOSTestUtils.TOP_CMD = 'top';
112
- MacOSTestUtils.DF_CMD = 'df';
113
- MacOSTestUtils.NETSTAT_CMD = 'netstat';
114
- /**
115
- * Windows特定的测试工具
116
- */
117
- class WindowsTestUtils {
118
- /**
119
- * 验证Windows的负载平均值(通常返回[0,0,0]或不支持)
120
- */
121
- static validateLoadAverage(loads) {
122
- // Windows上可能返回[0,0,0]或"not supported"
123
- if (!Array.isArray(loads))
124
- return false;
125
- return loads.length === 3 && loads.every(load => test_base_1.TestValidators.isValidNumber(load) && load >= 0);
126
- }
127
- /**
128
- * 检查功能是否在Windows上不被支持
129
- */
130
- static isFeatureUnsupported(feature) {
131
- return this.UNSUPPORTED_FEATURES.includes(feature);
132
- }
133
- /**
134
- * 获取预期的Windows系统命令列表
135
- */
136
- static getExpectedCommands() {
137
- return [
138
- 'wmic',
139
- 'tasklist',
140
- 'systeminfo',
141
- 'netstat',
142
- 'powershell'
143
- ];
144
- }
145
- /**
146
- * 验证Windows内存信息的结构
147
- */
148
- static validateMemoryInfo(info) {
149
- const requiredFields = ['totalMemMb', 'usedMemMb', 'freeMemMb'];
150
- return requiredFields.every(field => info.hasOwnProperty(field) && test_base_1.TestValidators.isValidNumber(parseFloat(info[field])));
151
- }
152
- /**
153
- * 验证Windows磁盘信息(可能使用不同的单位)
154
- */
155
- static validateDiskInfo(info) {
156
- const requiredFields = ['totalGb', 'usedGb', 'freeGb'];
157
- return requiredFields.every(field => info.hasOwnProperty(field) && test_base_1.TestValidators.isValidNumber(parseFloat(info[field])));
158
- }
159
- }
160
- exports.WindowsTestUtils = WindowsTestUtils;
161
- /**
162
- * Windows特定的系统命令
163
- */
164
- WindowsTestUtils.WMIC_CMD = 'wmic';
165
- WindowsTestUtils.TASKLIST_CMD = 'tasklist';
166
- WindowsTestUtils.SYSTEMINFO_CMD = 'systeminfo';
167
- /**
168
- * Windows上某些功能可能不支持
169
- */
170
- WindowsTestUtils.UNSUPPORTED_FEATURES = [
171
- 'loadavg', // Windows不支持负载平均值
172
- 'uptime' // Windows的uptime计算方式不同
173
- ];
174
- /**
175
- * 跨平台功能验证工具
176
- */
177
- class CrossPlatformValidator {
178
- /**
179
- * 根据当前平台选择合适的验证器
180
- */
181
- static validateSystemInfo(info) {
182
- if (!test_base_1.TestValidators.isValidObject(info)) {
183
- return false;
184
- }
185
- const requiredStringFields = ['hostname', 'platform', 'release'];
186
- for (const field of requiredStringFields) {
187
- if (!test_base_1.TestValidators.isNonEmptyString(info[field])) {
188
- return false;
189
- }
190
- }
191
- const optionalStringFields = ['version', 'arch'];
192
- for (const field of optionalStringFields) {
193
- if (field in info && !test_base_1.TestValidators.isNonEmptyString(info[field])) {
194
- return false;
195
- }
196
- }
197
- const numericFields = [
198
- ['uptime', true],
199
- ['uptimeSeconds', false],
200
- ['bootTime', false]
201
- ];
202
- for (const [field, required] of numericFields) {
203
- if (field in info) {
204
- if (!test_base_1.TestValidators.isValidNumber(info[field]) || info[field] < 0) {
205
- return false;
206
- }
207
- }
208
- else if (required) {
209
- return false;
210
- }
211
- }
212
- if ('loadAverage' in info) {
213
- const load = info.loadAverage;
214
- if (!test_base_1.TestValidators.isValidObject(load)) {
215
- return false;
216
- }
217
- const loads = [load.load1, load.load5, load.load15];
218
- const platform = info.platform;
219
- if (platform === 'darwin') {
220
- if (!MacOSTestUtils.validateLoadAverage(loads)) {
221
- return false;
222
- }
223
- }
224
- else if (platform === 'win32') {
225
- if (!WindowsTestUtils.validateLoadAverage(loads)) {
226
- return false;
227
- }
228
- }
229
- else {
230
- if (!LinuxTestUtils.validateLoadAverage(loads)) {
231
- return false;
232
- }
233
- }
234
- }
235
- return true;
236
- }
237
- /**
238
- * 验证负载平均值(考虑平台差异)
239
- */
240
- static validateLoadAverage(loads) {
241
- if (test_base_1.PlatformUtils.isWindows()) {
242
- return WindowsTestUtils.validateLoadAverage(loads);
243
- }
244
- else if (test_base_1.PlatformUtils.isMacOS()) {
245
- return MacOSTestUtils.validateLoadAverage(loads);
246
- }
247
- else if (test_base_1.PlatformUtils.isLinux()) {
248
- return LinuxTestUtils.validateLoadAverage(loads);
249
- }
250
- return false;
251
- }
252
- /**
253
- * 获取当前平台的预期命令列表
254
- */
255
- static getExpectedCommands() {
256
- if (test_base_1.PlatformUtils.isLinux()) {
257
- return LinuxTestUtils.getExpectedCommands();
258
- }
259
- else if (test_base_1.PlatformUtils.isMacOS()) {
260
- return MacOSTestUtils.getExpectedCommands();
261
- }
262
- else if (test_base_1.PlatformUtils.isWindows()) {
263
- return WindowsTestUtils.getExpectedCommands();
264
- }
265
- return [];
266
- }
267
- /**
268
- * 检查功能是否在当前平台上被支持
269
- */
270
- static isFeatureSupported(feature) {
271
- if (test_base_1.PlatformUtils.isWindows()) {
272
- return !WindowsTestUtils.isFeatureUnsupported(feature);
273
- }
274
- // Linux和macOS通常支持大多数功能
275
- return true;
276
- }
277
- }
278
- exports.CrossPlatformValidator = CrossPlatformValidator;
279
- /**
280
- * 平台特定的测试数据生成器
281
- */
282
- class PlatformTestDataGenerator {
283
- /**
284
- * 生成平台特定的测试用例
285
- */
286
- static generatePlatformTestCases() {
287
- const platform = test_base_1.PlatformUtils.getCurrentPlatform();
288
- const platformName = test_base_1.PlatformUtils.getPlatformName();
289
- return {
290
- platform,
291
- platformName,
292
- expectedCommands: CrossPlatformValidator.getExpectedCommands(),
293
- supportedFeatures: {
294
- loadavg: CrossPlatformValidator.isFeatureSupported('loadavg'),
295
- uptime: CrossPlatformValidator.isFeatureSupported('uptime')
296
- },
297
- testConfig: {
298
- memoryTestTimeout: test_base_1.PlatformUtils.isWindows() ? 15000 : 10000,
299
- diskTestTimeout: test_base_1.PlatformUtils.isLinux() ? 8000 : 12000,
300
- networkTestTimeout: 10000
301
- }
302
- };
303
- }
304
- }
305
- exports.PlatformTestDataGenerator = PlatformTestDataGenerator;
306
- //# sourceMappingURL=platform-specific.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform-specific.js","sourceRoot":"","sources":["../../../test/utils/platform-specific.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2CAA2D;AAE3D;;GAEG;AACH,MAAa,cAAc;IASzB;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YACxB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,0BAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACxB,OAAO;YACL,MAAM;YACN,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,IAAI;YACJ,KAAK;YACL,OAAO;YACP,OAAO;SACR,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAS;QACjC,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;QACzG,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAClC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,0BAAc,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACpF,CAAA;IACH,CAAC;;AArDH,wCAsDC;AArDC;;GAEG;AACa,2BAAY,GAAG,eAAe,CAAA;AAC9B,2BAAY,GAAG,eAAe,CAAA;AAC9B,wBAAS,GAAG,YAAY,CAAA;AACxB,2BAAY,GAAG,eAAe,CAAA;AAiDhD;;GAEG;AACH,MAAa,cAAc;IASzB;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAc;QACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAChC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,0BAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACxB,OAAO;YACL,SAAS;YACT,KAAK;YACL,IAAI;YACJ,SAAS;YACT,IAAI;YACJ,iBAAiB;YACjB,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;QAC1F,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAClC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,0BAAc,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACpF,CAAA;IACH,CAAC;;AAjDH,wCAkDC;AAjDC;;GAEG;AACa,0BAAW,GAAG,SAAS,CAAA;AACvB,sBAAO,GAAG,KAAK,CAAA;AACf,qBAAM,GAAG,IAAI,CAAA;AACb,0BAAW,GAAG,SAAS,CAAA;AA6CzC;;GAEG;AACH,MAAa,gBAAgB;IAgB3B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,sCAAsC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QACvC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAC9C,0BAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAChD,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAe;QACzC,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACxB,OAAO;YACL,MAAM;YACN,UAAU;YACV,YAAY;YACZ,SAAS;YACT,YAAY;SACb,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAS;QACjC,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QAC/D,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAClC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,0BAAc,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACpF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtD,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAClC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,0BAAc,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACpF,CAAA;IACH,CAAC;;AAjEH,4CAkEC;AAjEC;;GAEG;AACa,yBAAQ,GAAG,MAAM,CAAA;AACjB,6BAAY,GAAG,UAAU,CAAA;AACzB,+BAAc,GAAG,YAAY,CAAA;AAE7C;;GAEG;AACa,qCAAoB,GAAG;IACrC,SAAS,EAAG,kBAAkB;IAC9B,QAAQ,CAAI,uBAAuB;CACpC,CAAA;AAsDH;;GAEG;AACH,MAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAS;QACjC,IAAI,CAAC,0BAAc,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QAChE,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzC,IAAI,CAAC,0BAAc,CAAC,gBAAgB,CAAE,IAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAChD,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,0BAAc,CAAC,gBAAgB,CAAE,IAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5E,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAA6B;YAC9C,CAAC,QAAQ,EAAE,IAAI,CAAC;YAChB,CAAC,eAAe,EAAE,KAAK,CAAC;YACxB,CAAC,UAAU,EAAE,KAAK,CAAC;SACpB,CAAA;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,0BAAc,CAAC,aAAa,CAAE,IAAY,CAAC,KAAK,CAAC,CAAC,IAAK,IAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpF,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAI,IAAY,CAAC,WAAW,CAAA;YACtC,IAAI,CAAC,0BAAc,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAEnD,MAAM,QAAQ,GAAI,IAAY,CAAC,QAAQ,CAAA;YACvC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,IAAI,yBAAa,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9B,OAAO,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,yBAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,OAAO,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAClD,CAAC;aAAM,IAAI,yBAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,OAAO,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACxB,IAAI,yBAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5B,OAAO,cAAc,CAAC,mBAAmB,EAAE,CAAA;QAC7C,CAAC;aAAM,IAAI,yBAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,OAAO,cAAc,CAAC,mBAAmB,EAAE,CAAA;QAC7C,CAAC;aAAM,IAAI,yBAAa,CAAC,SAAS,EAAE,EAAE,CAAC;YACrC,OAAO,gBAAgB,CAAC,mBAAmB,EAAE,CAAA;QAC/C,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAe;QACvC,IAAI,yBAAa,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9B,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACxD,CAAC;QACD,uBAAuB;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAxGD,wDAwGC;AAED;;GAEG;AACH,MAAa,yBAAyB;IACpC;;OAEG;IACH,MAAM,CAAC,yBAAyB;QAC9B,MAAM,QAAQ,GAAG,yBAAa,CAAC,kBAAkB,EAAE,CAAA;QACnD,MAAM,YAAY,GAAG,yBAAa,CAAC,eAAe,EAAE,CAAA;QAEpD,OAAO;YACL,QAAQ;YACR,YAAY;YACZ,gBAAgB,EAAE,sBAAsB,CAAC,mBAAmB,EAAE;YAC9D,iBAAiB,EAAE;gBACjB,OAAO,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,CAAC;gBAC7D,MAAM,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aAC5D;YACD,UAAU,EAAE;gBACV,iBAAiB,EAAE,yBAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;gBAC5D,eAAe,EAAE,yBAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBACvD,kBAAkB,EAAE,KAAK;aAC1B;SACF,CAAA;IACH,CAAC;CACF;AAvBD,8DAuBC"}
@@ -1,157 +0,0 @@
1
- /**
2
- * 测试基础工具类
3
- * 提供跨平台的测试工具函数和平台检测功能
4
- */
5
- /// <reference types="mocha" />
6
- /**
7
- * 平台检测工具类
8
- */
9
- export declare class PlatformUtils {
10
- /**
11
- * 检查是否为Linux系统
12
- */
13
- static isLinux(): boolean;
14
- /**
15
- * 检查是否为macOS系统
16
- */
17
- static isMacOS(): boolean;
18
- /**
19
- * 检查是否为Windows系统
20
- */
21
- static isWindows(): boolean;
22
- /**
23
- * 获取当前平台
24
- */
25
- static getCurrentPlatform(): string;
26
- /**
27
- * 获取平台友好名称
28
- */
29
- static getPlatformName(): string;
30
- }
31
- /**
32
- * 测试验证工具类
33
- */
34
- export declare class TestValidators {
35
- /**
36
- * 检查是否为有效的数字
37
- */
38
- static isValidNumber(num: any): boolean;
39
- /**
40
- * 检查是否为有效的百分比 (0-100)
41
- */
42
- static isValidPercentage(num: any): boolean;
43
- /**
44
- * 检查是否为正数
45
- */
46
- static isPositiveNumber(num: any): boolean;
47
- /**
48
- * 检查是否为非空字符串
49
- */
50
- static isNonEmptyString(str: any): boolean;
51
- /**
52
- * 检查是否为有效的数组
53
- */
54
- static isValidArray(arr: any): boolean;
55
- /**
56
- * 检查是否为有效的对象
57
- */
58
- static isValidObject(obj: any): boolean;
59
- }
60
- /**
61
- * 测试配置类
62
- */
63
- export declare class TestConfig {
64
- /**
65
- * 默认超时时间
66
- */
67
- static readonly DEFAULT_TIMEOUT = 10000;
68
- /**
69
- * 长时间运行测试的超时时间
70
- */
71
- static readonly LONG_TIMEOUT = 30000;
72
- /**
73
- * 性能测试的最大执行时间
74
- */
75
- static readonly PERF_MAX_DURATION = 5000;
76
- /**
77
- * 内存测试的最大内存增长(MB)
78
- */
79
- static readonly MAX_MEMORY_INCREASE_MB = 10;
80
- }
81
- /**
82
- * 异步测试装饰器
83
- */
84
- export declare function asyncTest(testFn: Function): (this: Mocha.Context) => Promise<void>;
85
- /**
86
- * 长时间测试装饰器
87
- */
88
- export declare function longTest(testFn: Function): (this: Mocha.Context) => Promise<void>;
89
- /**
90
- * 平台条件测试装饰器
91
- */
92
- export declare function platformTest(platforms: string[], testFn: Function): (this: Mocha.Context) => any;
93
- /**
94
- * 跳过特定平台的测试装饰器
95
- */
96
- export declare function skipOnPlatform(platforms: string[], testFn: Function): (this: Mocha.Context) => any;
97
- /**
98
- * 测试数据验证助手
99
- */
100
- export declare class TestAssertions {
101
- /**
102
- * 断言系统信息对象的有效性
103
- */
104
- static assertSystemInfo(info: any, requiredFields: string[]): void;
105
- /**
106
- * 断言百分比字段的有效性
107
- */
108
- static assertPercentageFields(info: any, percentageFields: string[]): void;
109
- /**
110
- * 断言内存信息的一致性
111
- */
112
- static assertMemoryConsistency(info: any): void;
113
- /**
114
- * 断言网络统计信息的有效性
115
- */
116
- static assertNetworkStats(stats: any[]): void;
117
- }
118
- /**
119
- * 性能监控工具
120
- */
121
- export declare class PerformanceMonitor {
122
- private startTime;
123
- private startMemory;
124
- private timings;
125
- constructor();
126
- /**
127
- * 获取执行时间(毫秒)
128
- */
129
- getExecutionTime(): number;
130
- /**
131
- * 获取内存使用增长(字节)
132
- */
133
- getMemoryIncrease(): number;
134
- /**
135
- * 验证性能是否在可接受范围内
136
- */
137
- assertPerformance(maxTimeMs?: number): void;
138
- /**
139
- * 验证内存使用是否在可接受范围内
140
- */
141
- assertMemoryUsage(maxIncreaseMB?: number): void;
142
- /**
143
- * 计时方法 - 执行函数并记录执行时间
144
- */
145
- time<T>(label: string, fn: () => Promise<T>): Promise<T>;
146
- /**
147
- * 获取所有计时报告
148
- */
149
- getReport(): {
150
- [key: string]: number;
151
- };
152
- /**
153
- * 重置所有计时记录
154
- */
155
- reset(): void;
156
- }
157
- //# sourceMappingURL=test-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-base.d.ts","sourceRoot":"","sources":["../../../test/utils/test-base.ts"],"names":[],"mappings":"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"}