Skip to content

Using the Pester Codelens changes the directory in the integrated terminal #3259

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
JustinGrote opened this issue Mar 27, 2021 · 2 comments · Fixed by #3852
Closed

Using the Pester Codelens changes the directory in the integrated terminal #3259

JustinGrote opened this issue Mar 27, 2021 · 2 comments · Fixed by #3852
Labels
Area-Debugging Issue-Bug A bug to squash. Up for Grabs Will shepherd PRs.

Comments

@JustinGrote
Copy link
Collaborator

JustinGrote commented Mar 27, 2021

Issue Description

When using the codelens "Run Tests" or "Debug Tests", the integrated terminal working directly immediately changes to the folder where the test is located before running PesterStub.ps1. It should stay in the context that it was in and just run the pester stub.

It is very annoying to have to change back to the directory I was in every time I click "Run Test" or "Debug Test"

Demo (Note the path change before InvokePesterStub even starts):

Capture

Relevant Log Line

{"command":"launch","arguments":{"request":"launch","type":"PowerShell","name":"PowerShell Launch Pester Tests","script":"c:\\Users\\JGrote\\.vscode-insiders\\extensions\\ms-vscode.powershell-preview-2021.2.1\\InvokePesterStub.ps1","args":["-ScriptPath","'c:\\Users\\JGrote\\Projects\\SecretManagement.KeePass\\SecretManagement.KeePass\\SecretManagement.KeePass.Extension\\Tests\\Get-Secret.Tests.ps1'","-LineNumber","18","-MinimumVersion5","-Output","'Detailed'"],"internalConsoleOptions":"neverOpen","noDebug":true,"createTemporaryIntegratedConsole":false,"cwd":"c:\\Users\\JGrote\\Projects\\SecretManagement.KeePass\\SecretManagement.KeePass\\SecretManagement.KeePass.Extension\\Tests","__sessionId":"567e23ce-85e3-4c74-a7e5-7261a0da3ac7"},"type":"request","seq":2}

Relevant (?) Code:

cwd:
currentDocument.isUntitled
? vscode.workspace.rootPath
: path.dirname(currentDocument.fileName),
};

Recommendation

I'm assuming the CWD on the debug adapter request is what is changing the directory, though I am not sure. Since we are sending full paths in the InvokePesterStub request, the CWD should either not be set (if that will signal to PSES to use the existing directory, not sure?), or set to the current directory of the integrated terminal.

Adjusting this code will not affect the Run Code (F8) and other sections, which I assume it was copied from.

Willing to PR if flagged as up-for-graps.

Attached Logs

EditorServices.zip

Follow the instructions in the README about
capturing and sending logs.

Environment Information

Visual Studio Code

Name Version
Operating System Windows_NT x64 10.0.19043
VSCode 1.55.0-insider
PowerShell Extension Version 2021.2.1

PowerShell Information

Name Value
PSVersion 7.1.1
PSEdition Core
GitCommitId 7.1.1
OS Microsoft Windows 10.0.19043
Platform Win32NT
PSCompatibleVersions 1.0 2.0 3.0 4.0 5.0 5.1.10032.0 6.0.0 6.1.0 6.2.0 7.0.0 7.1.1
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0

Visual Studio Code Extensions

Visual Studio Code Extensions(Click to Expand)
Extension Author Version
azure-account ms-vscode 0.9.7
better-align wwm 1.1.6
bracket-pair-colorizer-2 CoenraadS 0.2.0
change-case hjdarnel 1.0.2
emojisense bierner 0.8.0
errorlens usernamehw 3.2.5
even-better-toml tamasfe 0.11.1
filter-lines earshinov 0.2.0
gistfs vsls-contrib 0.2.6
git-graph mhutchie 1.29.0
gitlens eamodio 11.3.0
gitmoji-vscode Vtrois 1.0.5
indent-rainbow oderwat 7.5.0
markdown-checkbox bierner 0.1.3
powershell-preview ms-vscode 2021.2.1
quicktype quicktype 12.0.46
remote-containers ms-vscode-remote 0.165.1
remote-ssh-nightly ms-vscode-remote 2021.3.36900
TabOut albert 0.2.0
todo-tree Gruntfuggly 0.0.208
vscode-azureresourcegroups ms-azuretools 0.3.0
vscode-bicep ms-azuretools 0.3.126
vscode-docker ms-azuretools 1.11.0
vscode-dotnet-runtime ms-dotnettools 1.0.0
vscode-drawio hediet 1.4.0
vscode-github-actions cschleiden 0.17.0
vscode-icons vscode-icons-team 11.2.0
vscode-opennewinstance chrisdias 0.0.7
vscode-peacock johnpapa 3.9.1
vscode-pull-request-github GitHub 0.24.0
vscode-sort-json richie5um2 1.20.0
vscode-yaml redhat 0.17.0
vsliveshare ms-vsliveshare 1.0.4018
vsliveshare-audio ms-vsliveshare 0.1.91
@ghost ghost added the Needs: Triage Maintainer attention needed! label Mar 27, 2021
@SydneyhSmith SydneyhSmith added Area-Debugging Issue-Bug A bug to squash. Up for Grabs Will shepherd PRs. and removed Needs: Triage Maintainer attention needed! labels Mar 30, 2021
@SydneyhSmith
Copy link
Collaborator

Thanks for the detailed bug report @JustinGrote

@andyleejordan
Copy link
Member

Willing to PR if flagged as up-for-graps.

Flagged! Would love to merge a PR to fix this, as it looks to be a rather annoying bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Debugging Issue-Bug A bug to squash. Up for Grabs Will shepherd PRs.
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants