Commit Graph

18 Commits

Author SHA1 Message Date
Daniel Imms
87dc506eca Ensure data events are flushed before execution end fires
Fixes #241592
2025-02-24 07:30:40 -08:00
Benjamin Pasero
c66aef66c1 terminal - skip flaky tests (#241678) 2025-02-24 08:41:24 +01:00
Daniel Imms
55feb94b29 Ensure terminal data is segmented by C and D sequences
The tests failed because on mac the 633;C and 633;D events both appear in the
same event. The change ensures we match globally on the regex and cleans up
handling of multiple events. This went from failing consistently to passing
consistently on my mac.

Fixes #241592
2025-02-23 07:38:50 -08:00
Benjamin Pasero
8b14930e34 unblock build (skip tests) (#241619) 2025-02-23 07:30:07 +01:00
Benjamin Pasero
904587908c unblock build (skip tests) (#241591) 2025-02-22 11:30:12 -08:00
Anthony Kim
f99c5c64bc Expose shell's environment - fish shell (#240971)
* start working on fish, save progress, still lots TODO

* modify proposed.terminalShellEnv.d.ts

* remember we dont have acccess to nonce in .fish script

* save progress, adding isTrusted

* two arrays approach in fish

* provide EnvClear for fish, other shell as well.

* fix tests

* REMOVE TWO ARRAYS METHOD, always send all env

* remove deprecated comments

* remove junk get ready for review

* dont import vscode in terminal/common/capabilities.ts

* take feedback => pass in Clear as part of EnvSingleStart

* add env clear argument to SI.zsh

* update one more place to prevent vscode import

* mandatory flag description?? discuss this

* make things right
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>

* comment out test code

* use mapsStrictEqualIgnoreOrder instead of equals

* ready to go
2025-02-20 19:42:48 +01:00
Anthony Kim
35b2db3ed1 Bring back expose shell's environment - bash (#237844)
* bring back expose shell's environment bash

* I want to see why the test is failing the build

* Pass test, disable it until we enable for stable

---------

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
2025-01-14 10:15:46 -08:00
Aiday Marlen Kyzy
69d97b0773 Revert "Expose shell's environment - bash " (#237791)
Revert "Expose shell's environment - bash  (#237602)"

This reverts commit e6805d7927.
2025-01-13 10:54:20 +01:00
Anthony Kim
e6805d7927 Expose shell's environment - bash (#237602)
* start terminal shell env proposed

* fix typo

* progress on shellEnvDetectionCapability, mainThreadTerminalSI

* update IShellEnvDetectionCapability interface

* touch up on $shellEnvChange

* adjust IShellEnvDetectionCapability

* properly listen to envChangeEvent
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>

* Serialize env map, expose on exthost

* start adding to zsh script

* receive environment variable in extension host, properly escape "
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>

* clean up

* Add TODO: properly escape double quotes, figure out why JSON parse fails for bash

Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>

* Fix nonce check, ignore PS1 for now in bash

* Add some simple PS1 string tests to deserializeMessage

* New approach of sending env entries separately

* be able to get EnvSingleVar

* few comments

* add function signature for start, set, end environment var

* implement EnvStart, EnvEntry, EnvEnd for single env entry

* deserialize env value for EnvEntry

* Remove unncessary comments

* only leave pwsh in this PR and exclude other shells

* keep exlcuding other shell env - only pwsh should remain

* Update src/vs/workbench/api/common/extHostTerminalShellIntegration.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/contrib/terminal/common/scripts/shellIntegration.ps1

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/api/common/extHostTerminalShellIntegration.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/api/common/extHost.protocol.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/capabilities/capabilities.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* add comment for ShellEnvDetection

* change envs in shellEnvDetectionCapability to env

* Mention escaping character for EnvJSON similar to commandLine

* Do not fire env event if env has not changed

* add link to CommandLine

* follow main branch format so I avoid merge conflict

* remove resolved TODO

* Update src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/xterm/shellIntegrationAddon.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* use vscode object equals

* add zsh update_env for shellIntegration-zsh.sh

* add EnvStart, EnvEntry, EnvEnd

* why doesnt if [ "$__vsc_stable" = "0" ]; work

* add test to check shellPath

* stop messing with formatting

* try to be more detail in testing

* clean up

* dont change the format

* properly use stable/insider flag so update_env on insiders

* modify test after feedback

* rename to *EnvironmentSingleVar and make it transactional via _pending env

* add docs for *EnvSingle and update bash script to conform to *EnvSingle

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>

* remove _env.clear from start and make _env non-readonly

* Update src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.ts

---------

Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
2025-01-10 16:22:07 -08:00
Daniel Imms
2bcd6c467e Retry executeCommand integration test on failure
It's unclear how this happened and seems like a very rare flake.
2025-01-08 09:16:51 -08:00
Daniel Imms
b2dc7fddf2 Fix failing test on macOS
Started failing with #232968
2024-11-04 05:31:10 -08:00
Daniel Imms
957cc73060 Disable whole suite 2024-07-11 16:04:59 -07:00
Daniel Imms
f46e27c6f7 Disable executeCommand test
Looking into this exact thing later in #221399 anyway
2024-07-11 15:55:57 -07:00
Daniel Imms
d95fae2e2d Fix flaky integration tests on mac 2024-05-01 13:22:17 -07:00
Daniel Imms
762cbd66a8 More logging, disable on Windows 2024-04-16 15:26:45 -07:00
Daniel Imms
f18f406e30 Improve assertions 2024-04-16 15:06:34 -07:00
Daniel Imms
fa1e2afd99 Set SI to enabled in integration tests 2024-04-15 08:53:11 -07:00
Daniel Imms
6162e457e3 Add shellIntegration ext api integration tests
Part of #145234
2024-04-12 12:21:09 -07:00