Tighten bash shell option handling (#12532)

This commit is contained in:
cornmander
2025-11-04 11:11:29 -05:00
committed by GitHub
parent 96d7eb2966
commit b8b6620365
4 changed files with 108 additions and 10 deletions
@@ -186,7 +186,10 @@ describe('ShellExecutionService', () => {
expect(mockPtySpawn).toHaveBeenCalledWith(
'bash',
['-c', 'ls -l'],
[
'-c',
'shopt -u promptvars nullglob extglob nocaseglob dotglob; ls -l',
],
expect.any(Object),
);
expect(result.exitCode).toBe(0);
@@ -539,7 +542,10 @@ describe('ShellExecutionService', () => {
expect(mockPtySpawn).toHaveBeenCalledWith(
'bash',
['-c', 'ls "foo bar"'],
[
'-c',
'shopt -u promptvars nullglob extglob nocaseglob dotglob; ls "foo bar"',
],
expect.any(Object),
);
});
@@ -691,7 +697,10 @@ describe('ShellExecutionService child_process fallback', () => {
expect(mockCpSpawn).toHaveBeenCalledWith(
'bash',
['-c', 'ls -l'],
[
'-c',
'shopt -u promptvars nullglob extglob nocaseglob dotglob; ls -l',
],
expect.objectContaining({ shell: false, detached: true }),
);
expect(result.exitCode).toBe(0);
@@ -981,7 +990,10 @@ describe('ShellExecutionService child_process fallback', () => {
expect(mockCpSpawn).toHaveBeenCalledWith(
'bash',
['-c', 'ls "foo bar"'],
[
'-c',
'shopt -u promptvars nullglob extglob nocaseglob dotglob; ls "foo bar"',
],
expect.objectContaining({
shell: false,
detached: true,