node-os-utils 2.0.3 → 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 (142) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README-zh.md +1291 -0
  3. package/README.md +3 -1
  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 +28 -11
  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/process-monitor.d.ts +17 -4
  18. package/dist/src/monitors/process-monitor.d.ts.map +1 -1
  19. package/dist/src/monitors/process-monitor.js +30 -4
  20. package/dist/src/monitors/process-monitor.js.map +1 -1
  21. package/dist/src/utils/process-killer.d.ts +38 -0
  22. package/dist/src/utils/process-killer.d.ts.map +1 -0
  23. package/dist/src/utils/process-killer.js +96 -0
  24. package/dist/src/utils/process-killer.js.map +1 -0
  25. package/package.json +4 -2
  26. package/dist/.tsbuildinfo +0 -1
  27. package/dist/test/config/test-config.d.ts +0 -301
  28. package/dist/test/config/test-config.d.ts.map +0 -1
  29. package/dist/test/config/test-config.js +0 -235
  30. package/dist/test/config/test-config.js.map +0 -1
  31. package/dist/test/platform/linux.test.d.ts +0 -6
  32. package/dist/test/platform/linux.test.d.ts.map +0 -1
  33. package/dist/test/platform/linux.test.js +0 -307
  34. package/dist/test/platform/linux.test.js.map +0 -1
  35. package/dist/test/platform/macos.test.d.ts +0 -6
  36. package/dist/test/platform/macos.test.d.ts.map +0 -1
  37. package/dist/test/platform/macos.test.js +0 -276
  38. package/dist/test/platform/macos.test.js.map +0 -1
  39. package/dist/test/platform/windows.test.d.ts +0 -6
  40. package/dist/test/platform/windows.test.d.ts.map +0 -1
  41. package/dist/test/platform/windows.test.js +0 -320
  42. package/dist/test/platform/windows.test.js.map +0 -1
  43. package/dist/test/unit/adapters/adapter-factory.test.d.ts +0 -2
  44. package/dist/test/unit/adapters/adapter-factory.test.d.ts.map +0 -1
  45. package/dist/test/unit/adapters/adapter-factory.test.js +0 -147
  46. package/dist/test/unit/adapters/adapter-factory.test.js.map +0 -1
  47. package/dist/test/unit/adapters/linux-adapter.test.d.ts +0 -2
  48. package/dist/test/unit/adapters/linux-adapter.test.d.ts.map +0 -1
  49. package/dist/test/unit/adapters/linux-adapter.test.js +0 -280
  50. package/dist/test/unit/adapters/linux-adapter.test.js.map +0 -1
  51. package/dist/test/unit/adapters/macos-adapter.test.d.ts +0 -2
  52. package/dist/test/unit/adapters/macos-adapter.test.d.ts.map +0 -1
  53. package/dist/test/unit/adapters/macos-adapter.test.js +0 -237
  54. package/dist/test/unit/adapters/macos-adapter.test.js.map +0 -1
  55. package/dist/test/unit/adapters/windows-adapter.test.d.ts +0 -2
  56. package/dist/test/unit/adapters/windows-adapter.test.d.ts.map +0 -1
  57. package/dist/test/unit/adapters/windows-adapter.test.js +0 -111
  58. package/dist/test/unit/adapters/windows-adapter.test.js.map +0 -1
  59. package/dist/test/unit/core/base-monitor.test.d.ts +0 -2
  60. package/dist/test/unit/core/base-monitor.test.d.ts.map +0 -1
  61. package/dist/test/unit/core/base-monitor.test.js +0 -188
  62. package/dist/test/unit/core/base-monitor.test.js.map +0 -1
  63. package/dist/test/unit/core/cache-manager.test.d.ts +0 -6
  64. package/dist/test/unit/core/cache-manager.test.d.ts.map +0 -1
  65. package/dist/test/unit/core/cache-manager.test.js +0 -127
  66. package/dist/test/unit/core/cache-manager.test.js.map +0 -1
  67. package/dist/test/unit/core/platform-adapter.test.d.ts +0 -2
  68. package/dist/test/unit/core/platform-adapter.test.d.ts.map +0 -1
  69. package/dist/test/unit/core/platform-adapter.test.js +0 -186
  70. package/dist/test/unit/core/platform-adapter.test.js.map +0 -1
  71. package/dist/test/unit/index.test.d.ts +0 -2
  72. package/dist/test/unit/index.test.d.ts.map +0 -1
  73. package/dist/test/unit/index.test.js +0 -183
  74. package/dist/test/unit/index.test.js.map +0 -1
  75. package/dist/test/unit/monitors/cpu-monitor.test.d.ts +0 -2
  76. package/dist/test/unit/monitors/cpu-monitor.test.d.ts.map +0 -1
  77. package/dist/test/unit/monitors/cpu-monitor.test.js +0 -337
  78. package/dist/test/unit/monitors/cpu-monitor.test.js.map +0 -1
  79. package/dist/test/unit/monitors/disk-monitor.test.d.ts +0 -2
  80. package/dist/test/unit/monitors/disk-monitor.test.d.ts.map +0 -1
  81. package/dist/test/unit/monitors/disk-monitor.test.js +0 -46
  82. package/dist/test/unit/monitors/disk-monitor.test.js.map +0 -1
  83. package/dist/test/unit/monitors/memory-monitor.test.d.ts +0 -2
  84. package/dist/test/unit/monitors/memory-monitor.test.d.ts.map +0 -1
  85. package/dist/test/unit/monitors/memory-monitor.test.js +0 -142
  86. package/dist/test/unit/monitors/memory-monitor.test.js.map +0 -1
  87. package/dist/test/unit/monitors/network-monitor.test.d.ts +0 -2
  88. package/dist/test/unit/monitors/network-monitor.test.d.ts.map +0 -1
  89. package/dist/test/unit/monitors/network-monitor.test.js +0 -22
  90. package/dist/test/unit/monitors/network-monitor.test.js.map +0 -1
  91. package/dist/test/unit/monitors/process-monitor.test.d.ts +0 -2
  92. package/dist/test/unit/monitors/process-monitor.test.d.ts.map +0 -1
  93. package/dist/test/unit/monitors/process-monitor.test.js +0 -165
  94. package/dist/test/unit/monitors/process-monitor.test.js.map +0 -1
  95. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts +0 -2
  96. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts.map +0 -1
  97. package/dist/test/unit/monitors/system-monitor-macos.test.js +0 -115
  98. package/dist/test/unit/monitors/system-monitor-macos.test.js.map +0 -1
  99. package/dist/test/unit/monitors/system-monitor.test.d.ts +0 -2
  100. package/dist/test/unit/monitors/system-monitor.test.d.ts.map +0 -1
  101. package/dist/test/unit/monitors/system-monitor.test.js +0 -70
  102. package/dist/test/unit/monitors/system-monitor.test.js.map +0 -1
  103. package/dist/test/unit/types/common.test.d.ts +0 -6
  104. package/dist/test/unit/types/common.test.d.ts.map +0 -1
  105. package/dist/test/unit/types/common.test.js +0 -139
  106. package/dist/test/unit/types/common.test.js.map +0 -1
  107. package/dist/test/unit/types/config.test.d.ts +0 -2
  108. package/dist/test/unit/types/config.test.d.ts.map +0 -1
  109. package/dist/test/unit/types/config.test.js +0 -9
  110. package/dist/test/unit/types/config.test.js.map +0 -1
  111. package/dist/test/unit/types/errors.test.d.ts +0 -6
  112. package/dist/test/unit/types/errors.test.d.ts.map +0 -1
  113. package/dist/test/unit/types/errors.test.js +0 -184
  114. package/dist/test/unit/types/errors.test.js.map +0 -1
  115. package/dist/test/unit/types/index.test.d.ts +0 -2
  116. package/dist/test/unit/types/index.test.d.ts.map +0 -1
  117. package/dist/test/unit/types/index.test.js +0 -39
  118. package/dist/test/unit/types/index.test.js.map +0 -1
  119. package/dist/test/unit/types/monitors.test.d.ts +0 -2
  120. package/dist/test/unit/types/monitors.test.d.ts.map +0 -1
  121. package/dist/test/unit/types/monitors.test.js +0 -9
  122. package/dist/test/unit/types/monitors.test.js.map +0 -1
  123. package/dist/test/unit/types/platform.test.d.ts +0 -2
  124. package/dist/test/unit/types/platform.test.d.ts.map +0 -1
  125. package/dist/test/unit/types/platform.test.js +0 -9
  126. package/dist/test/unit/types/platform.test.js.map +0 -1
  127. package/dist/test/unit/utils/command-executor.test.d.ts +0 -6
  128. package/dist/test/unit/utils/command-executor.test.d.ts.map +0 -1
  129. package/dist/test/unit/utils/command-executor.test.js +0 -190
  130. package/dist/test/unit/utils/command-executor.test.js.map +0 -1
  131. package/dist/test/unit/utils/platform-specific.test.d.ts +0 -2
  132. package/dist/test/unit/utils/platform-specific.test.d.ts.map +0 -1
  133. package/dist/test/unit/utils/platform-specific.test.js +0 -32
  134. package/dist/test/unit/utils/platform-specific.test.js.map +0 -1
  135. package/dist/test/utils/platform-specific.d.ts +0 -139
  136. package/dist/test/utils/platform-specific.d.ts.map +0 -1
  137. package/dist/test/utils/platform-specific.js +0 -306
  138. package/dist/test/utils/platform-specific.js.map +0 -1
  139. package/dist/test/utils/test-base.d.ts +0 -157
  140. package/dist/test/utils/test-base.d.ts.map +0 -1
  141. package/dist/test/utils/test-base.js +0 -316
  142. package/dist/test/utils/test-base.js.map +0 -1
@@ -1,139 +0,0 @@
1
- /**
2
- * 平台特定的测试工具和配置
3
- * 为不同操作系统提供专门的测试支持
4
- */
5
- /**
6
- * Linux特定的测试工具
7
- */
8
- export declare class LinuxTestUtils {
9
- /**
10
- * Linux特定的系统文件路径
11
- */
12
- static readonly PROC_MEMINFO = "/proc/meminfo";
13
- static readonly PROC_CPUINFO = "/proc/cpuinfo";
14
- static readonly PROC_STAT = "/proc/stat";
15
- static readonly PROC_LOADAVG = "/proc/loadavg";
16
- /**
17
- * 检查是否可以访问/proc文件系统
18
- */
19
- static canAccessProc(): boolean;
20
- /**
21
- * 验证Linux的负载平均值
22
- */
23
- static validateLoadAverage(loads: number[]): boolean;
24
- /**
25
- * 获取预期的Linux命令列表
26
- */
27
- static getExpectedCommands(): string[];
28
- /**
29
- * 验证Linux内存信息的结构
30
- */
31
- static validateMemoryInfo(info: any): boolean;
32
- }
33
- /**
34
- * macOS特定的测试工具
35
- */
36
- export declare class MacOSTestUtils {
37
- /**
38
- * macOS特定的系统命令
39
- */
40
- static readonly VM_STAT_CMD = "vm_stat";
41
- static readonly TOP_CMD = "top";
42
- static readonly DF_CMD = "df";
43
- static readonly NETSTAT_CMD = "netstat";
44
- /**
45
- * 验证macOS的vm_stat输出格式
46
- */
47
- static validateVmStatOutput(output: string): boolean;
48
- /**
49
- * 验证macOS的负载平均值(应该正常工作)
50
- */
51
- static validateLoadAverage(loads: number[]): boolean;
52
- /**
53
- * 获取预期的macOS系统命令列表
54
- */
55
- static getExpectedCommands(): string[];
56
- /**
57
- * 验证macOS磁盘信息格式
58
- */
59
- static validateDiskInfo(info: any): boolean;
60
- }
61
- /**
62
- * Windows特定的测试工具
63
- */
64
- export declare class WindowsTestUtils {
65
- /**
66
- * Windows特定的系统命令
67
- */
68
- static readonly WMIC_CMD = "wmic";
69
- static readonly TASKLIST_CMD = "tasklist";
70
- static readonly SYSTEMINFO_CMD = "systeminfo";
71
- /**
72
- * Windows上某些功能可能不支持
73
- */
74
- static readonly UNSUPPORTED_FEATURES: string[];
75
- /**
76
- * 验证Windows的负载平均值(通常返回[0,0,0]或不支持)
77
- */
78
- static validateLoadAverage(loads: number[]): boolean;
79
- /**
80
- * 检查功能是否在Windows上不被支持
81
- */
82
- static isFeatureUnsupported(feature: string): boolean;
83
- /**
84
- * 获取预期的Windows系统命令列表
85
- */
86
- static getExpectedCommands(): string[];
87
- /**
88
- * 验证Windows内存信息的结构
89
- */
90
- static validateMemoryInfo(info: any): boolean;
91
- /**
92
- * 验证Windows磁盘信息(可能使用不同的单位)
93
- */
94
- static validateDiskInfo(info: any): boolean;
95
- }
96
- /**
97
- * 跨平台功能验证工具
98
- */
99
- export declare class CrossPlatformValidator {
100
- /**
101
- * 根据当前平台选择合适的验证器
102
- */
103
- static validateSystemInfo(info: any): boolean;
104
- /**
105
- * 验证负载平均值(考虑平台差异)
106
- */
107
- static validateLoadAverage(loads: number[]): boolean;
108
- /**
109
- * 获取当前平台的预期命令列表
110
- */
111
- static getExpectedCommands(): string[];
112
- /**
113
- * 检查功能是否在当前平台上被支持
114
- */
115
- static isFeatureSupported(feature: string): boolean;
116
- }
117
- /**
118
- * 平台特定的测试数据生成器
119
- */
120
- export declare class PlatformTestDataGenerator {
121
- /**
122
- * 生成平台特定的测试用例
123
- */
124
- static generatePlatformTestCases(): {
125
- platform: string;
126
- platformName: string;
127
- expectedCommands: string[];
128
- supportedFeatures: {
129
- loadavg: boolean;
130
- uptime: boolean;
131
- };
132
- testConfig: {
133
- memoryTestTimeout: number;
134
- diskTestTimeout: number;
135
- networkTestTimeout: number;
136
- };
137
- };
138
- }
139
- //# sourceMappingURL=platform-specific.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform-specific.d.ts","sourceRoot":"","sources":["../../../test/utils/platform-specific.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,YAAY,mBAAkB;IAC9C,MAAM,CAAC,QAAQ,CAAC,YAAY,mBAAkB;IAC9C,MAAM,CAAC,QAAQ,CAAC,SAAS,gBAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,YAAY,mBAAkB;IAE9C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,OAAO;IAS/B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAKpD;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAatC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;CAM9C;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,aAAY;IACvC,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAQ;IAC/B,MAAM,CAAC,QAAQ,CAAC,MAAM,QAAO;IAC7B,MAAM,CAAC,QAAQ,CAAC,WAAW,aAAY;IAEvC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMpD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAKpD;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAYtC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;CAM5C;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAAS;IACjC,MAAM,CAAC,QAAQ,CAAC,YAAY,cAAa;IACzC,MAAM,CAAC,QAAQ,CAAC,cAAc,gBAAe;IAE7C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,oBAAoB,WAGnC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAQpD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrD;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAUtC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAO7C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;CAM5C;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IA8D7C;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO;IAWpD;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;IAWtC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAOpD;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC;;OAEG;IACH,MAAM,CAAC,yBAAyB;;;;;;;;;;;;;;CAmBjC"}
@@ -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":"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"}
@@ -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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"}