-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Bug: Symlinks in Testing #22658
Comments
Proposal for Fix (pytest)On further investigation I have determined a potential fix to this issue. Below I have outlined how this fix may work as some decisions need to be made around the design and implementation. As described in the issue description above, the problem stems from the extension running a python subprocess with the symlink as the cwd. The subprocess resolves the cwd to the target when it runs so the subprocess (pytest) has no knowledge it was even started in symlink directory. A fix for this would be to used the Specifics
Outstanding questions:These require exploration and invite user input.
Required Engineering:
Final question how many people who face this issue use unittest and couldn't use pytest. Looking for numbers here to determine the priority of unittest vs pytest for symlinks. Unittest will require a different solution and I have not investigated the complexity of this. |
I followed the conversation in #22518 to this point, and this "symlink" issue seems to be my problem as well. Apart from a virtual "+1", I'm not sure I have much to add except that my symlink is outside / above the repository in which I'm working and is a symlink into an AWS EFS mount point. If I open VS code into my python package subdirectory of my repo using the symlink-to-EFS path, it will not run tests. If I open directly against the mount point in /mnt/efs, it does seem to run the tests correctly. |
Hi @alanwilter, thanks for the update. The fix for symlinks hasn't been merged yet but it is almost done! I will let you know when it is merged in so you can try it in insiders, thanks! |
fixes #22658 also implements switching to arg mapping which is this issue here: #22076 --------- Co-authored-by: Karthik Nadig <[email protected]>
Merge pull request #395 from posit-dev/merge/v2024.2.0 Merge upstream: `v2024.2.0` -------------------- Commit message for posit-dev/positron-python@7d85a51: ignore pyright errors in ms testing files -------------------- Commit message for posit-dev/positron-python@f9a3259: Bump flask from 3.0.1 to 3.0.2 (posit-dev/positron-python#354) Bumps [flask](https://github.com/pallets/flask) from 3.0.1 to 3.0.2. - [Release notes](https://github.com/pallets/flask/releases) - [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst) - [Commits](pallets/flask@3.0.1...3.0.2) --- updated-dependencies: - dependency-name: flask dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@ea812a4: Bump ipywidgets from 8.1.1 to 8.1.2 (posit-dev/positron-python#368) Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.1.1 to 8.1.2. - [Release notes](https://github.com/jupyter-widgets/ipywidgets/releases) - [Commits](jupyter-widgets/ipywidgets@8.1.1...8.1.2) --- updated-dependencies: - dependency-name: ipywidgets dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Isabel Zimmerman <[email protected]> -------------------- Commit message for posit-dev/positron-python@e3a5399: Bump pyright from 1.1.349 to 1.1.351 (posit-dev/positron-python#379) Bumps [pyright](https://github.com/RobertCraigie/pyright-python) from 1.1.349 to 1.1.351. - [Release notes](https://github.com/RobertCraigie/pyright-python/releases) - [Commits](RobertCraigie/pyright-python@v1.1.349...v1.1.351) --- updated-dependencies: - dependency-name: pyright dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@2eeb677: Bump polars from 0.20.6 to 0.20.11 (posit-dev/positron-python#394) Bumps [polars](https://github.com/pola-rs/polars) from 0.20.6 to 0.20.11. - [Release notes](https://github.com/pola-rs/polars/releases) - [Commits](pola-rs/polars@py-0.20.6...py-0.20.11) --- updated-dependencies: - dependency-name: polars dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@573d9fd: Bump ipykernel from 6.29.0 to 6.29.3 (posit-dev/positron-python#390) Bumps [ipykernel](https://github.com/ipython/ipykernel) from 6.29.0 to 6.29.3. - [Release notes](https://github.com/ipython/ipykernel/releases) - [Changelog](https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md) - [Commits](ipython/ipykernel@v6.29.0...v6.29.3) --- updated-dependencies: - dependency-name: ipykernel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@334b383: update package.json -------------------- Commit message for posit-dev/positron-python@7ce08b1: Merge tag 'v2024.2.0' into merge/v2024.2.0 -------------------- Commit message for posit-dev/positron-python@063ba15: Finalized-release-2024.2.0 (posit-dev/positron-python#22996) Finalized release 2024.2.0: removing -rc -------------------- Commit message for posit-dev/positron-python@3eef025: Bump release 2024.2 (posit-dev/positron-python#22972) Bump release 2024.2 -------------------- Commit message for posit-dev/positron-python@1fbd77b: skip tests, pytest upstream regression (posit-dev/positron-python#22974) Short-term fix to stop CI from failing due to a regression upstream from pytest. See issue for details: microsoft/vscode-python#22965. -------------------- Commit message for microsoft/vscode-python@4fca030: Adding GDPR tag for isFirstSession (microsoft/vscode-python#22955) -------------------- Commit message for microsoft/vscode-python@ba94553: Modify telemetry to contain trigger time as property (microsoft/vscode-python#22941) -------------------- Commit message for microsoft/vscode-python@178a0b2: Fix bug with symlink for pytest execution (microsoft/vscode-python#22952) Fixes microsoft/vscode-python#22938 -------------------- Commit message for microsoft/vscode-python@bae7d40: Update vscode-tas-client version (microsoft/vscode-python#22876) -------------------- Commit message for microsoft/vscode-python@75ed73e: Fix Bug with Pytest when using symlinked workspaces (microsoft/vscode-python#22885) fixes microsoft/vscode-python#22658 also implements switching to arg mapping which is this issue here: microsoft/vscode-python#22076 --------- Co-authored-by: Karthik Nadig <[email protected]> -------------------- Commit message for microsoft/vscode-python@e53651d: Prevent first Python command being lost (microsoft/vscode-python#22902) Fixes: microsoft/vscode-python#22673 Fixes: microsoft/vscode-python#22545 Fixes: microsoft/vscode-python#22691 Making best effort to address issue where very first command sent to REPL via Terminal gets ignored, or gets pasted both in Terminal and in REPL. With the fix, we observe whether Python REPL is launched in Terminal via VS Code's `onDidWriteTerminalData` and send the command, or wait three seconds as a fallback mechanism. These two combined together will significantly reduce or resolve all-together the chance of very first command being swollen up or gets pasted twice in Terminal and REPL previously where it did not have context of whether Python REPL instance have started inside the Terminal or not. -------------------- Commit message for microsoft/vscode-python@a60fbd5: Add GDPR tags for new Pylance properties (microsoft/vscode-python#22922) -------------------- Commit message for microsoft/vscode-python@aff0b05: Use python debugger in testing (microsoft/vscode-python#22903) closed: microsoft/vscode-python-debugger#174 -------------------- Commit message for microsoft/vscode-python@84734a8: Updating installed extensions section of README.md (microsoft/vscode-python#22893) Adding the Python Debugger to the installed extensions section of the README. -------------------- Commit message for microsoft/vscode-python@2159238: Bump actions/setup-python from 4 to 5 in /.github/actions/build-vsix (microsoft/vscode-python#22602) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h2>What's Changed</h2> <p>In scope of this release, we update node version runtime from node16 to node20 (<a href="https://redirect.github.com/actions/setup-python/pull/772">actions/setup-python#772</a>). Besides, we update dependencies to the latest versions.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0">https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0</a></p> <h2>v4.8.0</h2> <h2>What's Changed</h2> <p>In scope of this release we added support for GraalPy (<a href="https://redirect.github.com/actions/setup-python/pull/694">actions/setup-python#694</a>). You can use this snippet to set up GraalPy:</p> <pre lang="yaml"><code>steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 'graalpy-22.3' - run: python my_script.py </code></pre> <p>Besides, the release contains such changes as:</p> <ul> <li>Trim python version when reading from file by <a href="https://github.com/FerranPares"><code>@FerranPares</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/628">actions/setup-python#628</a></li> <li>Use non-deprecated versions in examples by <a href="https://github.com/jeffwidman"><code>@jeffwidman</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/724">actions/setup-python#724</a></li> <li>Change deprecation comment to past tense by <a href="https://github.com/jeffwidman"><code>@jeffwidman</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/723">actions/setup-python#723</a></li> <li>Bump <code>@babel/traverse</code> from 7.9.0 to 7.23.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/743">actions/setup-python#743</a></li> <li>advanced-usage.md: Encourage the use actions/checkout@v4 by <a href="https://github.com/cclauss"><code>@cclauss</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/729">actions/setup-python#729</a></li> <li>Examples now use checkout@v4 by <a href="https://github.com/simonw"><code>@simonw</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/738">actions/setup-python#738</a></li> <li>Update actions/checkout to v4 by <a href="https://github.com/dmitry-shibanov"><code>@dmitry-shibanov</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/761">actions/setup-python#761</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/FerranPares"><code>@FerranPares</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/628">actions/setup-python#628</a></li> <li><a href="https://github.com/timfel"><code>@timfel</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/694">actions/setup-python#694</a></li> <li><a href="https://github.com/jeffwidman"><code>@jeffwidman</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/724">actions/setup-python#724</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4...v4.8.0">https://github.com/actions/setup-python/compare/v4...v4.8.0</a></p> <h2>v4.7.1</h2> <h2>What's Changed</h2> <ul> <li>Bump word-wrap from 1.2.3 to 1.2.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/702">actions/setup-python#702</a></li> <li>Add range validation for toml files by <a href="https://github.com/dmitry-shibanov"><code>@dmitry-shibanov</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/726">actions/setup-python#726</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4...v4.7.1">https://github.com/actions/setup-python/compare/v4...v4.7.1</a></p> <h2>v4.7.0</h2> <p>In scope of this release, the support for reading python version from pyproject.toml was added (<a href="https://redirect.github.com/actions/setup-python/pull/669">actions/setup-python#669</a>).</p> <pre lang="yaml"><code> - name: Setup Python uses: actions/setup-python@v4 </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-python/commit/0a5c61591373683505ea898e09a3ea4f39ef2b9c"><code>0a5c615</code></a> Update action to node20 (<a href="https://redirect.github.com/actions/setup-python/issues/772">#772</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/0ae58361cdfd39e2950bed97a1e26aa20c3d8955"><code>0ae5836</code></a> Add example of GraalPy to docs (<a href="https://redirect.github.com/actions/setup-python/issues/773">#773</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/b64ffcaf5b410884ad320a9cfac8866006a109aa"><code>b64ffca</code></a> update actions/checkout to v4 (<a href="https://redirect.github.com/actions/setup-python/issues/761">#761</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/8d2896179abf658742de432b3f203d2c2d86a587"><code>8d28961</code></a> Examples now use checkout@v4 (<a href="https://redirect.github.com/actions/setup-python/issues/738">#738</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/7bc6abb01e0555719edc2dbca70a2fde309e5e56"><code>7bc6abb</code></a> advanced-usage.md: Encourage the use actions/checkout@v4 (<a href="https://redirect.github.com/actions/setup-python/issues/729">#729</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/e8111cec9d3dc15220d8a3b638f08419f57b906a"><code>e8111ce</code></a> Bump <code>@babel/traverse</code> from 7.9.0 to 7.23.2 (<a href="https://redirect.github.com/actions/setup-python/issues/743">#743</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/a00ea43da65e7c04d2bdae58b3afecd77057eb9e"><code>a00ea43</code></a> add fix for graalpy ci (<a href="https://redirect.github.com/actions/setup-python/issues/741">#741</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/8635b1ccc5934e73ed3510980fd2e7790b85839b"><code>8635b1c</code></a> Change deprecation comment to past tense (<a href="https://redirect.github.com/actions/setup-python/issues/723">#723</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/f6cc428f535856f9c23558d01765a42a4d6cf758"><code>f6cc428</code></a> Use non-deprecated versions in examples (<a href="https://redirect.github.com/actions/setup-python/issues/724">#724</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/5f2af211d616f86005883b44826180b21abb4060"><code>5f2af21</code></a> Add GraalPy support (<a href="https://redirect.github.com/actions/setup-python/issues/694">#694</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-python/compare/v4...v5">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for microsoft/vscode-python@83cf53b: Add "isMeasurement" for LANGUAGE_SERVER_TRIGGER_DURATION (microsoft/vscode-python#22912) cc/ @cwebster-99 -------------------- Commit message for microsoft/vscode-python@7be33eb: Add more shell integration sequences to check for (microsoft/vscode-python#22911) Based on discussion with Daniel For microsoft/vscode-python#22440 -------------------- Commit message for microsoft/vscode-python@6838ccf: Do not activate microvenv if terminal.activateEnvironment is set to false and when not in terminal experiment (microsoft/vscode-python#22909) -------------------- Commit message for microsoft/vscode-python@2dc158e: Log options being passed when using environment collection APIs (microsoft/vscode-python#22907) For microsoft/vscode-python#22899 -------------------- Commit message for microsoft/vscode-python@5f971ae: Prepend `PATH` both at shell integration and process creation (microsoft/vscode-python#22905) -------------------- Commit message for microsoft/vscode-python@5174d5c: Improve shell integration reliability for zsh (microsoft/vscode-python#22891) Closes microsoft/vscode-python#22881 If status changes, re-run activation. Also persist once we know shell integration works for a shell. -------------------- Commit message for microsoft/vscode-python@b0c34e3: Add UnicodeDecodeError catching (microsoft/vscode-python#22873) Resolve `UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 48995: unexpected end of data` Co-authored-by: Aydar Kamaltdinov <[email protected]> -------------------- Commit message for microsoft/vscode-python@8496dfe: Remove experimental flag for create env prompt (microsoft/vscode-python#22892) Remove experimental flag for `python.createEnvironment.trigger`. -------------------- Commit message for microsoft/vscode-python@c4c05a6: update tree comparison for tests to be order independent for children (microsoft/vscode-python#22832) following the introduction of pytest 8, the order in which children were listed changed. Since the order is not important, this updates the tests to make the tests not consider order of children when comparing actual and expected outcomes of test runs. -------------------- Commit message for microsoft/vscode-python@4030717: Use terminal data write event to figure out whether shell integration is working (microsoft/vscode-python#22872) Closes microsoft/vscode-python#22439 Blocked on microsoft/vscode#204616 -------------------- Commit message for microsoft/vscode-python@d674a17: Fix Run Recent Command Caching Issue (microsoft/vscode-python#22867) Resolves: microsoft/vscode-python#22811 Fixing caching issue where users were experiencing cached success/failure decoration that were impacted when using `Terminal: Run Recent Command` on success/failure commands -------------------- Commit message for microsoft/vscode-python@c0bf1b7: Improve time taken to trigger language server startup once extension activation is triggered (microsoft/vscode-python#22514) For microsoft/vscode-python#22146 Improves time taken to trigger language server startup once extension activation is triggered - Do not block discovery on windows registry - Do not blocking auto-selection on validation of all interpreters - Make Windows Path locator faster -------------------- Commit message for microsoft/vscode-python@20c1a10: Log when running Python file (microsoft/vscode-python#22851) For microsoft/vscode-python#22711 -------------------- Commit message for microsoft/vscode-python@8aaa70e: Fix venv activation for cshell (microsoft/vscode-python#22852) Closes microsoft/vscode-python#22822 Use current shell to figure out whether shell integration is working, even when using fallback shell for getting environment variables. -------------------- Commit message for microsoft/vscode-python@1626c46: Do not run commands to check whether shell integration is working (microsoft/vscode-python#22850) Closes microsoft/vscode-python#22774 closes microsoft/vscode-python#22743 -------------------- Commit message for microsoft/vscode-python@13a6727: include multiple pytest versions in PR check (microsoft/vscode-python#22813) update PR check workflow to include testing Python tests against 3 versions of pytest: pre-release, stable release, and oldest supported version. --------- Co-authored-by: Karthik Nadig <[email protected]> -------------------- Commit message for microsoft/vscode-python@6e8c56c: Bump dev version 2024.1 (microsoft/vscode-python#22805) Lead-authored-by: Kartik Raj <[email protected]> Co-authored-by: Aydar Kamaltdinov <[email protected]> Co-authored-by: paulacamargo25 <[email protected]> Co-authored-by: Luciana Abud <[email protected]> Co-authored-by: Courtney Webster <[email protected]> Co-authored-by: Anthony Kim <[email protected]> Co-authored-by: Isabel Zimmerman <[email protected]> Co-authored-by: Eleanor Boyd <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: GitHub <[email protected]>
Merge pull request #395 from posit-dev/merge/v2024.2.0 Merge upstream: `v2024.2.0` -------------------- Commit message for posit-dev/positron-python@7d85a51: ignore pyright errors in ms testing files -------------------- Commit message for posit-dev/positron-python@f9a3259: Bump flask from 3.0.1 to 3.0.2 (posit-dev/positron-python#354) Bumps [flask](https://github.com/pallets/flask) from 3.0.1 to 3.0.2. - [Release notes](https://github.com/pallets/flask/releases) - [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst) - [Commits](pallets/flask@3.0.1...3.0.2) --- updated-dependencies: - dependency-name: flask dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@ea812a4: Bump ipywidgets from 8.1.1 to 8.1.2 (posit-dev/positron-python#368) Bumps [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) from 8.1.1 to 8.1.2. - [Release notes](https://github.com/jupyter-widgets/ipywidgets/releases) - [Commits](jupyter-widgets/ipywidgets@8.1.1...8.1.2) --- updated-dependencies: - dependency-name: ipywidgets dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Isabel Zimmerman <[email protected]> -------------------- Commit message for posit-dev/positron-python@e3a5399: Bump pyright from 1.1.349 to 1.1.351 (posit-dev/positron-python#379) Bumps [pyright](https://github.com/RobertCraigie/pyright-python) from 1.1.349 to 1.1.351. - [Release notes](https://github.com/RobertCraigie/pyright-python/releases) - [Commits](RobertCraigie/pyright-python@v1.1.349...v1.1.351) --- updated-dependencies: - dependency-name: pyright dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@2eeb677: Bump polars from 0.20.6 to 0.20.11 (posit-dev/positron-python#394) Bumps [polars](https://github.com/pola-rs/polars) from 0.20.6 to 0.20.11. - [Release notes](https://github.com/pola-rs/polars/releases) - [Commits](pola-rs/polars@py-0.20.6...py-0.20.11) --- updated-dependencies: - dependency-name: polars dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@573d9fd: Bump ipykernel from 6.29.0 to 6.29.3 (posit-dev/positron-python#390) Bumps [ipykernel](https://github.com/ipython/ipykernel) from 6.29.0 to 6.29.3. - [Release notes](https://github.com/ipython/ipykernel/releases) - [Changelog](https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md) - [Commits](ipython/ipykernel@v6.29.0...v6.29.3) --- updated-dependencies: - dependency-name: ipykernel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for posit-dev/positron-python@334b383: update package.json -------------------- Commit message for posit-dev/positron-python@7ce08b1: Merge tag 'v2024.2.0' into merge/v2024.2.0 -------------------- Commit message for posit-dev/positron-python@063ba15: Finalized-release-2024.2.0 (posit-dev/positron-python#22996) Finalized release 2024.2.0: removing -rc -------------------- Commit message for posit-dev/positron-python@3eef025: Bump release 2024.2 (posit-dev/positron-python#22972) Bump release 2024.2 -------------------- Commit message for posit-dev/positron-python@1fbd77b: skip tests, pytest upstream regression (posit-dev/positron-python#22974) Short-term fix to stop CI from failing due to a regression upstream from pytest. See issue for details: microsoft/vscode-python#22965. -------------------- Commit message for microsoft/vscode-python@4fca030: Adding GDPR tag for isFirstSession (microsoft/vscode-python#22955) -------------------- Commit message for microsoft/vscode-python@ba94553: Modify telemetry to contain trigger time as property (microsoft/vscode-python#22941) -------------------- Commit message for microsoft/vscode-python@178a0b2: Fix bug with symlink for pytest execution (microsoft/vscode-python#22952) Fixes microsoft/vscode-python#22938 -------------------- Commit message for microsoft/vscode-python@bae7d40: Update vscode-tas-client version (microsoft/vscode-python#22876) -------------------- Commit message for microsoft/vscode-python@75ed73e: Fix Bug with Pytest when using symlinked workspaces (microsoft/vscode-python#22885) fixes microsoft/vscode-python#22658 also implements switching to arg mapping which is this issue here: microsoft/vscode-python#22076 --------- Co-authored-by: Karthik Nadig <[email protected]> -------------------- Commit message for microsoft/vscode-python@e53651d: Prevent first Python command being lost (microsoft/vscode-python#22902) Fixes: microsoft/vscode-python#22673 Fixes: microsoft/vscode-python#22545 Fixes: microsoft/vscode-python#22691 Making best effort to address issue where very first command sent to REPL via Terminal gets ignored, or gets pasted both in Terminal and in REPL. With the fix, we observe whether Python REPL is launched in Terminal via VS Code's `onDidWriteTerminalData` and send the command, or wait three seconds as a fallback mechanism. These two combined together will significantly reduce or resolve all-together the chance of very first command being swollen up or gets pasted twice in Terminal and REPL previously where it did not have context of whether Python REPL instance have started inside the Terminal or not. -------------------- Commit message for microsoft/vscode-python@a60fbd5: Add GDPR tags for new Pylance properties (microsoft/vscode-python#22922) -------------------- Commit message for microsoft/vscode-python@aff0b05: Use python debugger in testing (microsoft/vscode-python#22903) closed: microsoft/vscode-python-debugger#174 -------------------- Commit message for microsoft/vscode-python@84734a8: Updating installed extensions section of README.md (microsoft/vscode-python#22893) Adding the Python Debugger to the installed extensions section of the README. -------------------- Commit message for microsoft/vscode-python@2159238: Bump actions/setup-python from 4 to 5 in /.github/actions/build-vsix (microsoft/vscode-python#22602) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h2>What's Changed</h2> <p>In scope of this release, we update node version runtime from node16 to node20 (<a href="https://redirect.github.com/actions/setup-python/pull/772">actions/setup-python#772</a>). Besides, we update dependencies to the latest versions.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0">https://github.com/actions/setup-python/compare/v4.8.0...v5.0.0</a></p> <h2>v4.8.0</h2> <h2>What's Changed</h2> <p>In scope of this release we added support for GraalPy (<a href="https://redirect.github.com/actions/setup-python/pull/694">actions/setup-python#694</a>). You can use this snippet to set up GraalPy:</p> <pre lang="yaml"><code>steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 'graalpy-22.3' - run: python my_script.py </code></pre> <p>Besides, the release contains such changes as:</p> <ul> <li>Trim python version when reading from file by <a href="https://github.com/FerranPares"><code>@FerranPares</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/628">actions/setup-python#628</a></li> <li>Use non-deprecated versions in examples by <a href="https://github.com/jeffwidman"><code>@jeffwidman</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/724">actions/setup-python#724</a></li> <li>Change deprecation comment to past tense by <a href="https://github.com/jeffwidman"><code>@jeffwidman</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/723">actions/setup-python#723</a></li> <li>Bump <code>@babel/traverse</code> from 7.9.0 to 7.23.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/743">actions/setup-python#743</a></li> <li>advanced-usage.md: Encourage the use actions/checkout@v4 by <a href="https://github.com/cclauss"><code>@cclauss</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/729">actions/setup-python#729</a></li> <li>Examples now use checkout@v4 by <a href="https://github.com/simonw"><code>@simonw</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/738">actions/setup-python#738</a></li> <li>Update actions/checkout to v4 by <a href="https://github.com/dmitry-shibanov"><code>@dmitry-shibanov</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/761">actions/setup-python#761</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/FerranPares"><code>@FerranPares</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/628">actions/setup-python#628</a></li> <li><a href="https://github.com/timfel"><code>@timfel</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/694">actions/setup-python#694</a></li> <li><a href="https://github.com/jeffwidman"><code>@jeffwidman</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/724">actions/setup-python#724</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4...v4.8.0">https://github.com/actions/setup-python/compare/v4...v4.8.0</a></p> <h2>v4.7.1</h2> <h2>What's Changed</h2> <ul> <li>Bump word-wrap from 1.2.3 to 1.2.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/702">actions/setup-python#702</a></li> <li>Add range validation for toml files by <a href="https://github.com/dmitry-shibanov"><code>@dmitry-shibanov</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/726">actions/setup-python#726</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v4...v4.7.1">https://github.com/actions/setup-python/compare/v4...v4.7.1</a></p> <h2>v4.7.0</h2> <p>In scope of this release, the support for reading python version from pyproject.toml was added (<a href="https://redirect.github.com/actions/setup-python/pull/669">actions/setup-python#669</a>).</p> <pre lang="yaml"><code> - name: Setup Python uses: actions/setup-python@v4 </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-python/commit/0a5c61591373683505ea898e09a3ea4f39ef2b9c"><code>0a5c615</code></a> Update action to node20 (<a href="https://redirect.github.com/actions/setup-python/issues/772">#772</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/0ae58361cdfd39e2950bed97a1e26aa20c3d8955"><code>0ae5836</code></a> Add example of GraalPy to docs (<a href="https://redirect.github.com/actions/setup-python/issues/773">#773</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/b64ffcaf5b410884ad320a9cfac8866006a109aa"><code>b64ffca</code></a> update actions/checkout to v4 (<a href="https://redirect.github.com/actions/setup-python/issues/761">#761</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/8d2896179abf658742de432b3f203d2c2d86a587"><code>8d28961</code></a> Examples now use checkout@v4 (<a href="https://redirect.github.com/actions/setup-python/issues/738">#738</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/7bc6abb01e0555719edc2dbca70a2fde309e5e56"><code>7bc6abb</code></a> advanced-usage.md: Encourage the use actions/checkout@v4 (<a href="https://redirect.github.com/actions/setup-python/issues/729">#729</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/e8111cec9d3dc15220d8a3b638f08419f57b906a"><code>e8111ce</code></a> Bump <code>@babel/traverse</code> from 7.9.0 to 7.23.2 (<a href="https://redirect.github.com/actions/setup-python/issues/743">#743</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/a00ea43da65e7c04d2bdae58b3afecd77057eb9e"><code>a00ea43</code></a> add fix for graalpy ci (<a href="https://redirect.github.com/actions/setup-python/issues/741">#741</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/8635b1ccc5934e73ed3510980fd2e7790b85839b"><code>8635b1c</code></a> Change deprecation comment to past tense (<a href="https://redirect.github.com/actions/setup-python/issues/723">#723</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/f6cc428f535856f9c23558d01765a42a4d6cf758"><code>f6cc428</code></a> Use non-deprecated versions in examples (<a href="https://redirect.github.com/actions/setup-python/issues/724">#724</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/5f2af211d616f86005883b44826180b21abb4060"><code>5f2af21</code></a> Add GraalPy support (<a href="https://redirect.github.com/actions/setup-python/issues/694">#694</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-python/compare/v4...v5">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -------------------- Commit message for microsoft/vscode-python@83cf53b: Add "isMeasurement" for LANGUAGE_SERVER_TRIGGER_DURATION (microsoft/vscode-python#22912) cc/ @cwebster-99 -------------------- Commit message for microsoft/vscode-python@7be33eb: Add more shell integration sequences to check for (microsoft/vscode-python#22911) Based on discussion with Daniel For microsoft/vscode-python#22440 -------------------- Commit message for microsoft/vscode-python@6838ccf: Do not activate microvenv if terminal.activateEnvironment is set to false and when not in terminal experiment (microsoft/vscode-python#22909) -------------------- Commit message for microsoft/vscode-python@2dc158e: Log options being passed when using environment collection APIs (microsoft/vscode-python#22907) For microsoft/vscode-python#22899 -------------------- Commit message for microsoft/vscode-python@5f971ae: Prepend `PATH` both at shell integration and process creation (microsoft/vscode-python#22905) -------------------- Commit message for microsoft/vscode-python@5174d5c: Improve shell integration reliability for zsh (microsoft/vscode-python#22891) Closes microsoft/vscode-python#22881 If status changes, re-run activation. Also persist once we know shell integration works for a shell. -------------------- Commit message for microsoft/vscode-python@b0c34e3: Add UnicodeDecodeError catching (microsoft/vscode-python#22873) Resolve `UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 48995: unexpected end of data` Co-authored-by: Aydar Kamaltdinov <[email protected]> -------------------- Commit message for microsoft/vscode-python@8496dfe: Remove experimental flag for create env prompt (microsoft/vscode-python#22892) Remove experimental flag for `python.createEnvironment.trigger`. -------------------- Commit message for microsoft/vscode-python@c4c05a6: update tree comparison for tests to be order independent for children (microsoft/vscode-python#22832) following the introduction of pytest 8, the order in which children were listed changed. Since the order is not important, this updates the tests to make the tests not consider order of children when comparing actual and expected outcomes of test runs. -------------------- Commit message for microsoft/vscode-python@4030717: Use terminal data write event to figure out whether shell integration is working (microsoft/vscode-python#22872) Closes microsoft/vscode-python#22439 Blocked on microsoft/vscode#204616 -------------------- Commit message for microsoft/vscode-python@d674a17: Fix Run Recent Command Caching Issue (microsoft/vscode-python#22867) Resolves: microsoft/vscode-python#22811 Fixing caching issue where users were experiencing cached success/failure decoration that were impacted when using `Terminal: Run Recent Command` on success/failure commands -------------------- Commit message for microsoft/vscode-python@c0bf1b7: Improve time taken to trigger language server startup once extension activation is triggered (microsoft/vscode-python#22514) For microsoft/vscode-python#22146 Improves time taken to trigger language server startup once extension activation is triggered - Do not block discovery on windows registry - Do not blocking auto-selection on validation of all interpreters - Make Windows Path locator faster -------------------- Commit message for microsoft/vscode-python@20c1a10: Log when running Python file (microsoft/vscode-python#22851) For microsoft/vscode-python#22711 -------------------- Commit message for microsoft/vscode-python@8aaa70e: Fix venv activation for cshell (microsoft/vscode-python#22852) Closes microsoft/vscode-python#22822 Use current shell to figure out whether shell integration is working, even when using fallback shell for getting environment variables. -------------------- Commit message for microsoft/vscode-python@1626c46: Do not run commands to check whether shell integration is working (microsoft/vscode-python#22850) Closes microsoft/vscode-python#22774 closes microsoft/vscode-python#22743 -------------------- Commit message for microsoft/vscode-python@13a6727: include multiple pytest versions in PR check (microsoft/vscode-python#22813) update PR check workflow to include testing Python tests against 3 versions of pytest: pre-release, stable release, and oldest supported version. --------- Co-authored-by: Karthik Nadig <[email protected]> -------------------- Commit message for microsoft/vscode-python@6e8c56c: Bump dev version 2024.1 (microsoft/vscode-python#22805) Lead-authored-by: Kartik Raj <[email protected]> Co-authored-by: Aydar Kamaltdinov <[email protected]> Co-authored-by: paulacamargo25 <[email protected]> Co-authored-by: Luciana Abud <[email protected]> Co-authored-by: Courtney Webster <[email protected]> Co-authored-by: Anthony Kim <[email protected]> Co-authored-by: Isabel Zimmerman <[email protected]> Co-authored-by: Eleanor Boyd <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: GitHub <[email protected]>
Hello everyone! I have made another fix to resolve this for scenarios where the workspace folder is not a symlink but the parent is. Please let me know if anyone sees problems if they try it on the newest version of insiders and the extension! |
Please see the first comment on this issue for the proposed solution.
Description of Issue:
In investigating the symlink issue affecting Python testing in VS Code, I uncovered several contributing factors. The problem begins during the test discovery phase: the Python extension initiates a subprocess which uses the symlink as its current working directory (since the symlink or at least a path relative to the symlink workspace is set as the cwd). Then when node calls the python subprocess which run pytest discovery, Node resolves the symlink cwd to target path. This means the subprocess which pytest run on is on the target path of the symlinked workspace. Consequently, when the PyTest extension is activated, it encounters already-resolved symlinks. This leads to the collection of test data with paths relative to the symlink's target value, not its relative location. These paths are then utilized to populate the Test Explorer in VS Code. As a result, when a user attempts to open a file from the Test Explorer, VS Code erroneously navigates to the target path which is incorrect for the workspace since it is workspace opened at the location of a symlink. Also each test then has its path set as the target path to its file, instead of the symlink, meaning the test is no longer associated with the given workspace it is in.
Given these findings, a design decision is needed to address and rectify the symlink issue in the context of testing within VS Code. This decision will determine the most effective solution or workaround to ensure accurate and efficient test handling.
I will explore how other symlink items are handled in vscode but some ideas include:
Test Case Design:
Below are the steps to make this problem occur for testing and as an example:
parent
target_folder
with tests such astest_example.py
(a file with a test inside)ln -s target_folder symlink_to_target_folder
symlink_to_target_folder
can be done withcode symlink_to_target_folder
in terminaltarget_folder
instead ofsymlink_to_target_folder
in the test explorer viewNotable Code:
const proc = spawn(file, args, spawnOptions);
whenspawnOptions
in rawProcessApis.ts has a valuecwd
. On thisspawn
call, the symlink is resolved.here run requests are evaluated and tests included in the request and checked against known workspace folder to gather correct workspaces. This does not work correctly for symlinks. Code in controller.ts
fs.lstatSync(workspaceFolderPath).isSymbolicLink();
a way to check if a given workspace folder is a symlink, possible addition to the code.The text was updated successfully, but these errors were encountered: