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.
- package/CHANGELOG.md +23 -0
- package/README-zh.md +1291 -0
- package/README.md +3 -1
- package/dist/package.json +4 -2
- package/dist/src/adapters/linux-adapter.d.ts +17 -4
- package/dist/src/adapters/linux-adapter.d.ts.map +1 -1
- package/dist/src/adapters/linux-adapter.js +28 -11
- package/dist/src/adapters/linux-adapter.js.map +1 -1
- package/dist/src/adapters/macos-adapter.d.ts +17 -4
- package/dist/src/adapters/macos-adapter.d.ts.map +1 -1
- package/dist/src/adapters/macos-adapter.js +28 -11
- package/dist/src/adapters/macos-adapter.js.map +1 -1
- package/dist/src/adapters/windows-adapter.d.ts +13 -2
- package/dist/src/adapters/windows-adapter.d.ts.map +1 -1
- package/dist/src/adapters/windows-adapter.js +26 -3
- package/dist/src/adapters/windows-adapter.js.map +1 -1
- package/dist/src/monitors/process-monitor.d.ts +17 -4
- package/dist/src/monitors/process-monitor.d.ts.map +1 -1
- package/dist/src/monitors/process-monitor.js +30 -4
- package/dist/src/monitors/process-monitor.js.map +1 -1
- package/dist/src/utils/process-killer.d.ts +38 -0
- package/dist/src/utils/process-killer.d.ts.map +1 -0
- package/dist/src/utils/process-killer.js +96 -0
- package/dist/src/utils/process-killer.js.map +1 -0
- package/package.json +4 -2
- package/dist/.tsbuildinfo +0 -1
- package/dist/test/config/test-config.d.ts +0 -301
- package/dist/test/config/test-config.d.ts.map +0 -1
- package/dist/test/config/test-config.js +0 -235
- package/dist/test/config/test-config.js.map +0 -1
- package/dist/test/platform/linux.test.d.ts +0 -6
- package/dist/test/platform/linux.test.d.ts.map +0 -1
- package/dist/test/platform/linux.test.js +0 -307
- package/dist/test/platform/linux.test.js.map +0 -1
- package/dist/test/platform/macos.test.d.ts +0 -6
- package/dist/test/platform/macos.test.d.ts.map +0 -1
- package/dist/test/platform/macos.test.js +0 -276
- package/dist/test/platform/macos.test.js.map +0 -1
- package/dist/test/platform/windows.test.d.ts +0 -6
- package/dist/test/platform/windows.test.d.ts.map +0 -1
- package/dist/test/platform/windows.test.js +0 -320
- package/dist/test/platform/windows.test.js.map +0 -1
- package/dist/test/unit/adapters/adapter-factory.test.d.ts +0 -2
- package/dist/test/unit/adapters/adapter-factory.test.d.ts.map +0 -1
- package/dist/test/unit/adapters/adapter-factory.test.js +0 -147
- package/dist/test/unit/adapters/adapter-factory.test.js.map +0 -1
- package/dist/test/unit/adapters/linux-adapter.test.d.ts +0 -2
- package/dist/test/unit/adapters/linux-adapter.test.d.ts.map +0 -1
- package/dist/test/unit/adapters/linux-adapter.test.js +0 -280
- package/dist/test/unit/adapters/linux-adapter.test.js.map +0 -1
- package/dist/test/unit/adapters/macos-adapter.test.d.ts +0 -2
- package/dist/test/unit/adapters/macos-adapter.test.d.ts.map +0 -1
- package/dist/test/unit/adapters/macos-adapter.test.js +0 -237
- package/dist/test/unit/adapters/macos-adapter.test.js.map +0 -1
- package/dist/test/unit/adapters/windows-adapter.test.d.ts +0 -2
- package/dist/test/unit/adapters/windows-adapter.test.d.ts.map +0 -1
- package/dist/test/unit/adapters/windows-adapter.test.js +0 -111
- package/dist/test/unit/adapters/windows-adapter.test.js.map +0 -1
- package/dist/test/unit/core/base-monitor.test.d.ts +0 -2
- package/dist/test/unit/core/base-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/core/base-monitor.test.js +0 -188
- package/dist/test/unit/core/base-monitor.test.js.map +0 -1
- package/dist/test/unit/core/cache-manager.test.d.ts +0 -6
- package/dist/test/unit/core/cache-manager.test.d.ts.map +0 -1
- package/dist/test/unit/core/cache-manager.test.js +0 -127
- package/dist/test/unit/core/cache-manager.test.js.map +0 -1
- package/dist/test/unit/core/platform-adapter.test.d.ts +0 -2
- package/dist/test/unit/core/platform-adapter.test.d.ts.map +0 -1
- package/dist/test/unit/core/platform-adapter.test.js +0 -186
- package/dist/test/unit/core/platform-adapter.test.js.map +0 -1
- package/dist/test/unit/index.test.d.ts +0 -2
- package/dist/test/unit/index.test.d.ts.map +0 -1
- package/dist/test/unit/index.test.js +0 -183
- package/dist/test/unit/index.test.js.map +0 -1
- package/dist/test/unit/monitors/cpu-monitor.test.d.ts +0 -2
- package/dist/test/unit/monitors/cpu-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/cpu-monitor.test.js +0 -337
- package/dist/test/unit/monitors/cpu-monitor.test.js.map +0 -1
- package/dist/test/unit/monitors/disk-monitor.test.d.ts +0 -2
- package/dist/test/unit/monitors/disk-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/disk-monitor.test.js +0 -46
- package/dist/test/unit/monitors/disk-monitor.test.js.map +0 -1
- package/dist/test/unit/monitors/memory-monitor.test.d.ts +0 -2
- package/dist/test/unit/monitors/memory-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/memory-monitor.test.js +0 -142
- package/dist/test/unit/monitors/memory-monitor.test.js.map +0 -1
- package/dist/test/unit/monitors/network-monitor.test.d.ts +0 -2
- package/dist/test/unit/monitors/network-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/network-monitor.test.js +0 -22
- package/dist/test/unit/monitors/network-monitor.test.js.map +0 -1
- package/dist/test/unit/monitors/process-monitor.test.d.ts +0 -2
- package/dist/test/unit/monitors/process-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/process-monitor.test.js +0 -165
- package/dist/test/unit/monitors/process-monitor.test.js.map +0 -1
- package/dist/test/unit/monitors/system-monitor-macos.test.d.ts +0 -2
- package/dist/test/unit/monitors/system-monitor-macos.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/system-monitor-macos.test.js +0 -115
- package/dist/test/unit/monitors/system-monitor-macos.test.js.map +0 -1
- package/dist/test/unit/monitors/system-monitor.test.d.ts +0 -2
- package/dist/test/unit/monitors/system-monitor.test.d.ts.map +0 -1
- package/dist/test/unit/monitors/system-monitor.test.js +0 -70
- package/dist/test/unit/monitors/system-monitor.test.js.map +0 -1
- package/dist/test/unit/types/common.test.d.ts +0 -6
- package/dist/test/unit/types/common.test.d.ts.map +0 -1
- package/dist/test/unit/types/common.test.js +0 -139
- package/dist/test/unit/types/common.test.js.map +0 -1
- package/dist/test/unit/types/config.test.d.ts +0 -2
- package/dist/test/unit/types/config.test.d.ts.map +0 -1
- package/dist/test/unit/types/config.test.js +0 -9
- package/dist/test/unit/types/config.test.js.map +0 -1
- package/dist/test/unit/types/errors.test.d.ts +0 -6
- package/dist/test/unit/types/errors.test.d.ts.map +0 -1
- package/dist/test/unit/types/errors.test.js +0 -184
- package/dist/test/unit/types/errors.test.js.map +0 -1
- package/dist/test/unit/types/index.test.d.ts +0 -2
- package/dist/test/unit/types/index.test.d.ts.map +0 -1
- package/dist/test/unit/types/index.test.js +0 -39
- package/dist/test/unit/types/index.test.js.map +0 -1
- package/dist/test/unit/types/monitors.test.d.ts +0 -2
- package/dist/test/unit/types/monitors.test.d.ts.map +0 -1
- package/dist/test/unit/types/monitors.test.js +0 -9
- package/dist/test/unit/types/monitors.test.js.map +0 -1
- package/dist/test/unit/types/platform.test.d.ts +0 -2
- package/dist/test/unit/types/platform.test.d.ts.map +0 -1
- package/dist/test/unit/types/platform.test.js +0 -9
- package/dist/test/unit/types/platform.test.js.map +0 -1
- package/dist/test/unit/utils/command-executor.test.d.ts +0 -6
- package/dist/test/unit/utils/command-executor.test.d.ts.map +0 -1
- package/dist/test/unit/utils/command-executor.test.js +0 -190
- package/dist/test/unit/utils/command-executor.test.js.map +0 -1
- package/dist/test/unit/utils/platform-specific.test.d.ts +0 -2
- package/dist/test/unit/utils/platform-specific.test.d.ts.map +0 -1
- package/dist/test/unit/utils/platform-specific.test.js +0 -32
- package/dist/test/unit/utils/platform-specific.test.js.map +0 -1
- package/dist/test/utils/platform-specific.d.ts +0 -139
- package/dist/test/utils/platform-specific.d.ts.map +0 -1
- package/dist/test/utils/platform-specific.js +0 -306
- package/dist/test/utils/platform-specific.js.map +0 -1
- package/dist/test/utils/test-base.d.ts +0 -157
- package/dist/test/utils/test-base.d.ts.map +0 -1
- package/dist/test/utils/test-base.js +0 -316
- package/dist/test/utils/test-base.js.map +0 -1
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* 错误处理单元测试
|
|
4
|
-
* 测试错误类型、错误码和错误处理机制
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const chai_1 = require("chai");
|
|
8
|
-
const errors_1 = require("../../../src/types/errors");
|
|
9
|
-
describe('Error Handling Unit Tests', function () {
|
|
10
|
-
describe('ErrorCode枚举', function () {
|
|
11
|
-
it('应该包含所有预期的错误码', function () {
|
|
12
|
-
const expectedCodes = [
|
|
13
|
-
'PLATFORM_NOT_SUPPORTED',
|
|
14
|
-
'COMMAND_FAILED',
|
|
15
|
-
'PARSE_ERROR',
|
|
16
|
-
'PERMISSION_DENIED',
|
|
17
|
-
'TIMEOUT',
|
|
18
|
-
'INVALID_CONFIG',
|
|
19
|
-
'NOT_AVAILABLE',
|
|
20
|
-
'FILE_NOT_FOUND',
|
|
21
|
-
'NETWORK_ERROR'
|
|
22
|
-
];
|
|
23
|
-
expectedCodes.forEach(code => {
|
|
24
|
-
(0, chai_1.expect)(errors_1.ErrorCode).to.have.property(code);
|
|
25
|
-
(0, chai_1.expect)(errors_1.ErrorCode[code]).to.be.a('string');
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
it('错误码应该是字符串类型', function () {
|
|
29
|
-
Object.values(errors_1.ErrorCode).forEach(code => {
|
|
30
|
-
(0, chai_1.expect)(code).to.be.a('string');
|
|
31
|
-
(0, chai_1.expect)(code.length).to.be.greaterThan(0);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('MonitorError创建', function () {
|
|
36
|
-
it('应该能够创建基本的MonitorError', function () {
|
|
37
|
-
const error = new errors_1.MonitorError('Test error message', errors_1.ErrorCode.COMMAND_FAILED, 'test-platform');
|
|
38
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.COMMAND_FAILED);
|
|
39
|
-
(0, chai_1.expect)(error.message).to.equal('Test error message');
|
|
40
|
-
(0, chai_1.expect)(error.platform).to.equal('test-platform');
|
|
41
|
-
(0, chai_1.expect)(error.name).to.equal('MonitorError');
|
|
42
|
-
(0, chai_1.expect)(error).to.be.instanceof(Error);
|
|
43
|
-
});
|
|
44
|
-
it('应该能够创建包含详细信息的MonitorError', function () {
|
|
45
|
-
const details = {
|
|
46
|
-
command: 'ps aux',
|
|
47
|
-
exitCode: 1,
|
|
48
|
-
stderr: 'Permission denied'
|
|
49
|
-
};
|
|
50
|
-
const error = new errors_1.MonitorError('Failed to execute command', errors_1.ErrorCode.PERMISSION_DENIED, 'linux', details);
|
|
51
|
-
(0, chai_1.expect)(error.details).to.deep.equal(details);
|
|
52
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.PERMISSION_DENIED);
|
|
53
|
-
(0, chai_1.expect)(error.platform).to.equal('linux');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('静态工厂方法', function () {
|
|
57
|
-
it('应该能够创建平台不支持错误', function () {
|
|
58
|
-
const error = errors_1.MonitorError.createPlatformNotSupported('win32', 'temperature');
|
|
59
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.PLATFORM_NOT_SUPPORTED);
|
|
60
|
-
(0, chai_1.expect)(error.platform).to.equal('win32');
|
|
61
|
-
(0, chai_1.expect)(error.message).to.include('temperature');
|
|
62
|
-
(0, chai_1.expect)(error.details).to.have.property('feature', 'temperature');
|
|
63
|
-
});
|
|
64
|
-
it('应该能够创建命令执行失败错误', function () {
|
|
65
|
-
const error = errors_1.MonitorError.createCommandFailed('linux', 'ps aux', { exitCode: 1 });
|
|
66
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.COMMAND_FAILED);
|
|
67
|
-
(0, chai_1.expect)(error.platform).to.equal('linux');
|
|
68
|
-
(0, chai_1.expect)(error.message).to.include('ps aux');
|
|
69
|
-
(0, chai_1.expect)(error.details).to.have.property('command', 'ps aux');
|
|
70
|
-
(0, chai_1.expect)(error.details).to.have.property('exitCode', 1);
|
|
71
|
-
});
|
|
72
|
-
it('应该能够创建解析错误', function () {
|
|
73
|
-
const error = errors_1.MonitorError.createParseError('darwin', 'invalid data', 'malformed JSON');
|
|
74
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.PARSE_ERROR);
|
|
75
|
-
(0, chai_1.expect)(error.platform).to.equal('darwin');
|
|
76
|
-
(0, chai_1.expect)(error.message).to.include('malformed JSON');
|
|
77
|
-
(0, chai_1.expect)(error.details).to.have.property('data', 'invalid data');
|
|
78
|
-
(0, chai_1.expect)(error.details).to.have.property('reason', 'malformed JSON');
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
describe('错误序列化', function () {
|
|
82
|
-
it('应该能够序列化为JSON', function () {
|
|
83
|
-
const error = new errors_1.MonitorError('Serialization test', errors_1.ErrorCode.COMMAND_FAILED, 'test', { extra: 'data' });
|
|
84
|
-
const json = error.toJSON();
|
|
85
|
-
(0, chai_1.expect)(json).to.have.property('name', 'MonitorError');
|
|
86
|
-
(0, chai_1.expect)(json).to.have.property('message', 'Serialization test');
|
|
87
|
-
(0, chai_1.expect)(json).to.have.property('code', errors_1.ErrorCode.COMMAND_FAILED);
|
|
88
|
-
(0, chai_1.expect)(json).to.have.property('platform', 'test');
|
|
89
|
-
(0, chai_1.expect)(json).to.have.property('details');
|
|
90
|
-
(0, chai_1.expect)(json.details).to.deep.equal({ extra: 'data' });
|
|
91
|
-
});
|
|
92
|
-
it('应该能够完整序列化到JSON字符串', function () {
|
|
93
|
-
const error = new errors_1.MonitorError('JSON string test', errors_1.ErrorCode.TIMEOUT, 'network');
|
|
94
|
-
const jsonString = JSON.stringify(error);
|
|
95
|
-
const parsed = JSON.parse(jsonString);
|
|
96
|
-
(0, chai_1.expect)(parsed.name).to.equal('MonitorError');
|
|
97
|
-
(0, chai_1.expect)(parsed.message).to.equal('JSON string test');
|
|
98
|
-
(0, chai_1.expect)(parsed.code).to.equal(errors_1.ErrorCode.TIMEOUT);
|
|
99
|
-
(0, chai_1.expect)(parsed.platform).to.equal('network');
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
describe('错误比较和匹配', function () {
|
|
103
|
-
it('应该能够比较错误类型', function () {
|
|
104
|
-
const error1 = new errors_1.MonitorError('First error', errors_1.ErrorCode.TIMEOUT, 'cpu');
|
|
105
|
-
const error2 = new errors_1.MonitorError('Second error', errors_1.ErrorCode.TIMEOUT, 'memory');
|
|
106
|
-
const error3 = new errors_1.MonitorError('Third error', errors_1.ErrorCode.PERMISSION_DENIED, 'cpu');
|
|
107
|
-
(0, chai_1.expect)(error1.code).to.equal(error2.code);
|
|
108
|
-
(0, chai_1.expect)(error1.code).to.not.equal(error3.code);
|
|
109
|
-
(0, chai_1.expect)(error1.platform).to.equal(error3.platform);
|
|
110
|
-
(0, chai_1.expect)(error1.platform).to.not.equal(error2.platform);
|
|
111
|
-
});
|
|
112
|
-
it('应该能够匹配错误模式', function () {
|
|
113
|
-
const errors = [
|
|
114
|
-
new errors_1.MonitorError('CPU timeout', errors_1.ErrorCode.TIMEOUT, 'cpu'),
|
|
115
|
-
new errors_1.MonitorError('Memory access denied', errors_1.ErrorCode.PERMISSION_DENIED, 'memory'),
|
|
116
|
-
new errors_1.MonitorError('Disk command failed', errors_1.ErrorCode.COMMAND_FAILED, 'disk'),
|
|
117
|
-
new errors_1.MonitorError('Network timeout', errors_1.ErrorCode.TIMEOUT, 'network')
|
|
118
|
-
];
|
|
119
|
-
// 找出所有超时错误
|
|
120
|
-
const timeoutErrors = errors.filter(error => error.code === errors_1.ErrorCode.TIMEOUT);
|
|
121
|
-
(0, chai_1.expect)(timeoutErrors).to.have.length(2);
|
|
122
|
-
// 找出所有CPU相关错误
|
|
123
|
-
const cpuErrors = errors.filter(error => error.platform === 'cpu');
|
|
124
|
-
(0, chai_1.expect)(cpuErrors).to.have.length(1);
|
|
125
|
-
(0, chai_1.expect)(cpuErrors[0].code).to.equal(errors_1.ErrorCode.TIMEOUT);
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
describe('边界情况', function () {
|
|
129
|
-
it('应该处理空消息', function () {
|
|
130
|
-
const error = new errors_1.MonitorError('', errors_1.ErrorCode.PARSE_ERROR, 'test');
|
|
131
|
-
(0, chai_1.expect)(error.message).to.equal('');
|
|
132
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.PARSE_ERROR);
|
|
133
|
-
});
|
|
134
|
-
it('应该处理特殊字符', function () {
|
|
135
|
-
const specialMessage = 'Error with 特殊字符 and émojis 🚫';
|
|
136
|
-
const error = new errors_1.MonitorError(specialMessage, errors_1.ErrorCode.INVALID_CONFIG, 'test');
|
|
137
|
-
(0, chai_1.expect)(error.message).to.equal(specialMessage);
|
|
138
|
-
});
|
|
139
|
-
it('应该处理长错误消息', function () {
|
|
140
|
-
const longMessage = 'A'.repeat(1000);
|
|
141
|
-
const error = new errors_1.MonitorError(longMessage, errors_1.ErrorCode.COMMAND_FAILED, 'test');
|
|
142
|
-
(0, chai_1.expect)(error.message).to.equal(longMessage);
|
|
143
|
-
(0, chai_1.expect)(error.message.length).to.equal(1000);
|
|
144
|
-
});
|
|
145
|
-
it('应该处理复杂的详细信息对象', function () {
|
|
146
|
-
const complexDetails = {
|
|
147
|
-
nested: {
|
|
148
|
-
object: true,
|
|
149
|
-
array: [1, 2, 3],
|
|
150
|
-
null_value: null,
|
|
151
|
-
undefined_value: undefined
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
(0, chai_1.expect)(() => {
|
|
155
|
-
new errors_1.MonitorError('Complex details', errors_1.ErrorCode.INVALID_CONFIG, 'test', complexDetails);
|
|
156
|
-
}).to.not.throw();
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe('错误继承', function () {
|
|
160
|
-
it('应该正确继承Error类', function () {
|
|
161
|
-
const error = new errors_1.MonitorError('Inheritance test', errors_1.ErrorCode.COMMAND_FAILED, 'test');
|
|
162
|
-
(0, chai_1.expect)(error).to.be.instanceof(Error);
|
|
163
|
-
(0, chai_1.expect)(error).to.be.instanceof(errors_1.MonitorError);
|
|
164
|
-
(0, chai_1.expect)(error.name).to.equal('MonitorError');
|
|
165
|
-
(0, chai_1.expect)(error.stack).to.be.a('string');
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
describe('多语言错误消息', function () {
|
|
169
|
-
it('应该支持不同语言的错误消息', function () {
|
|
170
|
-
const messages = {
|
|
171
|
-
en: 'File not found',
|
|
172
|
-
zh: '文件未找到',
|
|
173
|
-
ja: 'ファイルが見つかりません',
|
|
174
|
-
fr: 'Fichier non trouvé'
|
|
175
|
-
};
|
|
176
|
-
Object.entries(messages).forEach(([lang, message]) => {
|
|
177
|
-
const error = new errors_1.MonitorError(message, errors_1.ErrorCode.FILE_NOT_FOUND, 'file-system');
|
|
178
|
-
(0, chai_1.expect)(error.message).to.equal(message);
|
|
179
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.FILE_NOT_FOUND);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
//# sourceMappingURL=errors.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../../test/unit/types/errors.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/types/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const chai_1 = require("chai");
|
|
27
|
-
const Types = __importStar(require("../../../src/types"));
|
|
28
|
-
describe('类型聚合导出:types/index.ts', () => {
|
|
29
|
-
it('暴露 ErrorCode 与 MonitorError', () => {
|
|
30
|
-
(0, chai_1.expect)(Types.ErrorCode).to.have.property('PLATFORM_NOT_SUPPORTED');
|
|
31
|
-
(0, chai_1.expect)(typeof Types.MonitorError).to.equal('function');
|
|
32
|
-
});
|
|
33
|
-
it('导出 DataSize 等常用类型', () => {
|
|
34
|
-
(0, chai_1.expect)(typeof Types.DataSize).to.equal('function');
|
|
35
|
-
const size = new Types.DataSize(1024);
|
|
36
|
-
(0, chai_1.expect)(size.toKB()).to.equal(1);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../test/unit/types/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8B;AAE9B,0DAA4C;AAE5C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,IAAA,aAAM,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACnE,IAAA,aAAM,EAAC,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,IAAA,aAAM,EAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/types/monitors.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const chai_1 = require("chai");
|
|
4
|
-
describe('类型定义:monitors.ts', () => {
|
|
5
|
-
it('编译期断言通过即可视为成功', () => {
|
|
6
|
-
(0, chai_1.expect)(true).to.be.true;
|
|
7
|
-
});
|
|
8
|
-
});
|
|
9
|
-
//# sourceMappingURL=monitors.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.test.js","sourceRoot":"","sources":["../../../../test/unit/types/monitors.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAoC9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/types/platform.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const chai_1 = require("chai");
|
|
4
|
-
describe('类型定义:platform.ts', () => {
|
|
5
|
-
it('编译期断言通过即可视为成功', () => {
|
|
6
|
-
(0, chai_1.expect)(true).to.be.true;
|
|
7
|
-
});
|
|
8
|
-
});
|
|
9
|
-
//# sourceMappingURL=platform.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.test.js","sourceRoot":"","sources":["../../../../test/unit/types/platform.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAiC9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/utils/command-executor.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* CommandExecutor单元测试
|
|
4
|
-
* 测试命令执行器的核心功能和错误处理
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const chai_1 = require("chai");
|
|
8
|
-
const command_executor_1 = require("../../../src/utils/command-executor");
|
|
9
|
-
const errors_1 = require("../../../src/types/errors");
|
|
10
|
-
describe('CommandExecutor Unit Tests', function () {
|
|
11
|
-
let executor;
|
|
12
|
-
beforeEach(function () {
|
|
13
|
-
executor = new command_executor_1.CommandExecutor('test-platform', {
|
|
14
|
-
timeout: 5000,
|
|
15
|
-
encoding: 'utf8'
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('基本命令执行', function () {
|
|
19
|
-
it('应该能够执行简单的系统命令', async function () {
|
|
20
|
-
// 使用跨平台兼容的命令
|
|
21
|
-
const command = process.platform === 'win32' ? 'echo hello' : 'echo "hello"';
|
|
22
|
-
const result = await executor.execute(command);
|
|
23
|
-
(0, chai_1.expect)(result.stdout.trim()).to.equal('hello');
|
|
24
|
-
(0, chai_1.expect)(result.stderr).to.equal('');
|
|
25
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
26
|
-
(0, chai_1.expect)(result.platform).to.equal('test-platform');
|
|
27
|
-
(0, chai_1.expect)(result.command).to.equal(command);
|
|
28
|
-
(0, chai_1.expect)(result.executionTime).to.be.a('number');
|
|
29
|
-
});
|
|
30
|
-
it('应该正确处理命令执行失败', async function () {
|
|
31
|
-
try {
|
|
32
|
-
await executor.execute('nonexistent-command-12345');
|
|
33
|
-
// 如果没有抛出错误,则测试失败
|
|
34
|
-
chai_1.expect.fail('应该抛出错误');
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
(0, chai_1.expect)(error).to.be.an('error');
|
|
38
|
-
// 检查是否是MonitorError
|
|
39
|
-
if (error.code) {
|
|
40
|
-
(0, chai_1.expect)(error.code).to.be.oneOf(['COMMAND_FAILED', 'FILE_NOT_FOUND']);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
it('应该正确处理有stderr输出但成功的命令', async function () {
|
|
45
|
-
// 某些命令会向stderr输出信息但仍然成功
|
|
46
|
-
const command = process.platform === 'win32'
|
|
47
|
-
? 'echo error>&2 & echo success'
|
|
48
|
-
: 'echo "error" >&2; echo "success"';
|
|
49
|
-
const result = await executor.execute(command);
|
|
50
|
-
(0, chai_1.expect)(result.stdout.trim()).to.include('success');
|
|
51
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
describe('超时处理', function () {
|
|
55
|
-
it('应该在超时后终止命令', async function () {
|
|
56
|
-
this.timeout(3000); // 设置测试超时
|
|
57
|
-
const shortTimeout = new command_executor_1.CommandExecutor('test-platform', { timeout: 100 });
|
|
58
|
-
// 创建一个会运行较长时间的命令
|
|
59
|
-
const command = process.platform === 'win32'
|
|
60
|
-
? 'ping -n 10 127.0.0.1'
|
|
61
|
-
: 'sleep 5';
|
|
62
|
-
try {
|
|
63
|
-
await shortTimeout.execute(command);
|
|
64
|
-
chai_1.expect.fail('应该抛出超时错误');
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
(0, chai_1.expect)(error).to.be.an('error');
|
|
68
|
-
if (error.code) {
|
|
69
|
-
(0, chai_1.expect)(error.code).to.equal('TIMEOUT');
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('输出处理', function () {
|
|
75
|
-
it('应该正确处理大量输出', async function () {
|
|
76
|
-
// 生成大量输出的命令
|
|
77
|
-
const command = process.platform === 'win32'
|
|
78
|
-
? 'for /L %i in (1,1,10) do @echo Line %i'
|
|
79
|
-
: 'for i in {1..10}; do echo "Line $i"; done';
|
|
80
|
-
const result = await executor.execute(command);
|
|
81
|
-
const lines = result.stdout.trim().split('\n');
|
|
82
|
-
(0, chai_1.expect)(lines.length).to.be.at.least(5); // 至少有一些行
|
|
83
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
84
|
-
});
|
|
85
|
-
it('应该正确处理空输出', async function () {
|
|
86
|
-
const command = process.platform === 'win32' ? 'echo.' : 'true';
|
|
87
|
-
const result = await executor.execute(command);
|
|
88
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
describe('平台特定命令', function () {
|
|
92
|
-
it('应该能够执行平台特定的系统信息命令', async function () {
|
|
93
|
-
let command;
|
|
94
|
-
switch (process.platform) {
|
|
95
|
-
case 'darwin':
|
|
96
|
-
command = 'uname -s';
|
|
97
|
-
break;
|
|
98
|
-
case 'linux':
|
|
99
|
-
command = 'uname -s';
|
|
100
|
-
break;
|
|
101
|
-
case 'win32':
|
|
102
|
-
command = 'ver';
|
|
103
|
-
break;
|
|
104
|
-
default:
|
|
105
|
-
this.skip();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
const result = await executor.execute(command);
|
|
109
|
-
(0, chai_1.expect)(result.stdout).to.be.a('string');
|
|
110
|
-
(0, chai_1.expect)(result.stdout.length).to.be.greaterThan(0);
|
|
111
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
describe('配置选项', function () {
|
|
115
|
-
it('应该使用自定义配置', async function () {
|
|
116
|
-
const customExecutor = new command_executor_1.CommandExecutor('custom-platform', {
|
|
117
|
-
timeout: 1000,
|
|
118
|
-
encoding: 'utf8'
|
|
119
|
-
});
|
|
120
|
-
const command = process.platform === 'win32' ? 'echo test' : 'echo "test"';
|
|
121
|
-
const result = await customExecutor.execute(command);
|
|
122
|
-
(0, chai_1.expect)(result.stdout.trim()).to.equal('test');
|
|
123
|
-
(0, chai_1.expect)(result.platform).to.equal('custom-platform');
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
describe('并发执行', function () {
|
|
127
|
-
it('应该能够并发执行多个命令', async function () {
|
|
128
|
-
const commands = [
|
|
129
|
-
process.platform === 'win32' ? 'echo 1' : 'echo "1"',
|
|
130
|
-
process.platform === 'win32' ? 'echo 2' : 'echo "2"',
|
|
131
|
-
process.platform === 'win32' ? 'echo 3' : 'echo "3"'
|
|
132
|
-
];
|
|
133
|
-
const promises = commands.map(cmd => executor.execute(cmd));
|
|
134
|
-
const results = await Promise.all(promises);
|
|
135
|
-
results.forEach((result, index) => {
|
|
136
|
-
(0, chai_1.expect)(result.stdout.trim()).to.equal((index + 1).toString());
|
|
137
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
describe('流式执行', function () {
|
|
142
|
-
it('应该在禁用 shell 时正确处理包含空格的命令', async function () {
|
|
143
|
-
const script = 'console.log("stream output")';
|
|
144
|
-
const command = executor.buildCommand(process.execPath, ['-e', script]);
|
|
145
|
-
const chunks = [];
|
|
146
|
-
const result = await executor.executeStream(command, (data) => {
|
|
147
|
-
chunks.push(data);
|
|
148
|
-
}, { shell: false });
|
|
149
|
-
(0, chai_1.expect)(result.exitCode).to.equal(0);
|
|
150
|
-
(0, chai_1.expect)(chunks.join('')).to.contain('stream output');
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
describe('CommandExecutor — Deno 兼容性:非标准异常处理', function () {
|
|
155
|
-
it('T023: 应将字符串类型的非标准异常统一捕获为 MonitorError(COMMAND_FAILED)', async function () {
|
|
156
|
-
const executor = new command_executor_1.CommandExecutor('test-platform');
|
|
157
|
-
const internal = executor;
|
|
158
|
-
// 模拟 Deno 兼容层抛出非 Error 实例(字符串)
|
|
159
|
-
internal.executeWithTimeout = async () => {
|
|
160
|
-
// eslint-disable-next-line @typescript-eslint/no-throw-literal
|
|
161
|
-
throw 'Deno compat layer: exec failed unexpectedly';
|
|
162
|
-
};
|
|
163
|
-
try {
|
|
164
|
-
await executor.execute('echo test');
|
|
165
|
-
chai_1.expect.fail('应该抛出错误');
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
(0, chai_1.expect)(error).to.be.instanceOf(errors_1.MonitorError);
|
|
169
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.COMMAND_FAILED);
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
it('T023: 应将自定义对象类型的非标准异常统一捕获为 MonitorError(COMMAND_FAILED)', async function () {
|
|
173
|
-
const executor = new command_executor_1.CommandExecutor('test-platform');
|
|
174
|
-
const internal = executor;
|
|
175
|
-
// 模拟 Deno 兼容层抛出普通对象(非 Error 实例)
|
|
176
|
-
internal.executeWithTimeout = async () => {
|
|
177
|
-
// eslint-disable-next-line @typescript-eslint/no-throw-literal
|
|
178
|
-
throw { message: 'DENO_EXEC_ERROR', code: 'ERR_DENO_COMPAT' };
|
|
179
|
-
};
|
|
180
|
-
try {
|
|
181
|
-
await executor.execute('echo test');
|
|
182
|
-
chai_1.expect.fail('应该抛出错误');
|
|
183
|
-
}
|
|
184
|
-
catch (error) {
|
|
185
|
-
(0, chai_1.expect)(error).to.be.instanceOf(errors_1.MonitorError);
|
|
186
|
-
(0, chai_1.expect)(error.code).to.equal(errors_1.ErrorCode.COMMAND_FAILED);
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
//# sourceMappingURL=command-executor.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.test.js","sourceRoot":"","sources":["../../../../test/unit/utils/command-executor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform-specific.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/utils/platform-specific.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const chai_1 = require("chai");
|
|
4
|
-
const platform_specific_1 = require("../../utils/platform-specific");
|
|
5
|
-
describe('CrossPlatformValidator.validateSystemInfo', () => {
|
|
6
|
-
it('应该验证包含核心字段的macOS系统信息', () => {
|
|
7
|
-
const info = {
|
|
8
|
-
hostname: 'MacBook-Pro',
|
|
9
|
-
platform: 'darwin',
|
|
10
|
-
release: '23.4.0',
|
|
11
|
-
version: 'macOS 14.4',
|
|
12
|
-
arch: 'arm64',
|
|
13
|
-
uptime: 3600000,
|
|
14
|
-
uptimeSeconds: 3600,
|
|
15
|
-
bootTime: Date.now() - 3600000,
|
|
16
|
-
loadAverage: {
|
|
17
|
-
load1: 1.2,
|
|
18
|
-
load5: 0.8,
|
|
19
|
-
load15: 0.5
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
(0, chai_1.expect)(platform_specific_1.CrossPlatformValidator.validateSystemInfo(info)).to.be.true;
|
|
23
|
-
});
|
|
24
|
-
it('缺少必要字段时应该验证失败', () => {
|
|
25
|
-
const invalidInfo = {
|
|
26
|
-
platform: 'darwin',
|
|
27
|
-
release: '23.4.0'
|
|
28
|
-
};
|
|
29
|
-
(0, chai_1.expect)(platform_specific_1.CrossPlatformValidator.validateSystemInfo(invalidInfo)).to.be.false;
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=platform-specific.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform-specific.test.js","sourceRoot":"","sources":["../../../../test/unit/utils/platform-specific.test.ts"],"names":[],"mappings":";;AAAA,+BAA6B;AAE7B,qEAAsE;AAEtE,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAQ;YAChB,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAQ;YAC/B,WAAW,EAAE;gBACX,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;aACZ;SACF,CAAA;QAED,IAAA,aAAM,EAAC,0CAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,WAAW,GAAG;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;SAClB,CAAA;QAED,IAAA,aAAM,EAAC,0CAAsB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAA;IAC5E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|