summaryrefslogtreecommitdiff
path: root/packages/core/src/services/shellExecutionService.test.ts
diff options
context:
space:
mode:
authorAbhi <[email protected]>2025-08-17 00:02:54 -0400
committerGitHub <[email protected]>2025-08-17 04:02:54 +0000
commit33b9bdb11e9371dfa6891ba1be47a12b958f493d (patch)
tree46ac192df7dd2aeaf35cb5eef5c121bc5decada9 /packages/core/src/services/shellExecutionService.test.ts
parente7dbc607a598c5270507d0ce7d55a3c98dcb0c0c (diff)
feat(cli): Introduce arguments for shell execution in custom commands (#5966)
Diffstat (limited to 'packages/core/src/services/shellExecutionService.test.ts')
-rw-r--r--packages/core/src/services/shellExecutionService.test.ts19
1 files changed, 16 insertions, 3 deletions
diff --git a/packages/core/src/services/shellExecutionService.test.ts b/packages/core/src/services/shellExecutionService.test.ts
index 2fe51a5e..47df12e8 100644
--- a/packages/core/src/services/shellExecutionService.test.ts
+++ b/packages/core/src/services/shellExecutionService.test.ts
@@ -10,6 +10,16 @@ vi.mock('child_process', () => ({
spawn: mockSpawn,
}));
+const mockGetShellConfiguration = vi.hoisted(() => vi.fn());
+let mockIsWindows = false;
+
+vi.mock('../utils/shell-utils.js', () => ({
+ getShellConfiguration: mockGetShellConfiguration,
+ get isWindows() {
+ return mockIsWindows;
+ },
+}));
+
import EventEmitter from 'events';
import { Readable } from 'stream';
import { type ChildProcess } from 'child_process';
@@ -43,18 +53,21 @@ describe('ShellExecutionService', () => {
vi.clearAllMocks();
mockIsBinary.mockReturnValue(false);
- mockPlatform.mockReturnValue('linux');
+
+ mockGetShellConfiguration.mockReturnValue({
+ executable: 'bash',
+ argsPrefix: ['-c'],
+ });
+ mockIsWindows = false;
onOutputEventMock = vi.fn();
mockChildProcess = new EventEmitter() as EventEmitter &
Partial<ChildProcess>;
- // FIX: Cast simple EventEmitters to the expected stream type.
mockChildProcess.stdout = new EventEmitter() as Readable;
mockChildProcess.stderr = new EventEmitter() as Readable;
mockChildProcess.kill = vi.fn();
- // FIX: Use Object.defineProperty to set the readonly 'pid' property.
Object.defineProperty(mockChildProcess, 'pid', {
value: 12345,
configurable: true,