Skip to content

Fix attachVS when used for debugging integration tests#15451

Merged
nohwnd merged 1 commit into
microsoft:mainfrom
nohwnd:fix-attach-vs
Mar 9, 2026
Merged

Fix attachVS when used for debugging integration tests#15451
nohwnd merged 1 commit into
microsoft:mainfrom
nohwnd:fix-attach-vs

Conversation

@nohwnd
Copy link
Copy Markdown
Member

@nohwnd nohwnd commented Mar 9, 2026

Description

You can specify
image

DebugVSTestConsole = true and similar values to data source attributes to debug tests in integration tests, avoiding manually juggling the projects etc.

This fixes how we resolve attach vs to automatically attach back to VS.

Copilot AI review requested due to automatic review settings March 9, 2026 10:59
@nohwnd
Copy link
Copy Markdown
Member Author

nohwnd commented Mar 9, 2026

copilot is working on documenting this.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes how integration tests resolve and pass the AttachVS executable path so VS can auto-attach when debugging vstest.console from data-driven integration tests.

Changes:

  • Add a project reference to AttachVS from the TestUtilities project so the executable can be built/copied alongside tests.
  • Set VSTEST_DEBUG_ATTACHVS_PATH in IntegrationTestBase when debug settings are enabled, pointing to AttachVS.exe in the calling assembly’s output directory.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
test/Microsoft.TestPlatform.TestUtilities/Microsoft.TestPlatform.TestUtilities.csproj References AttachVS so the executable can be produced/available for integration-test debugging.
test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs Injects VSTEST_DEBUG_ATTACHVS_PATH based on the calling assembly’s output location.

Comment thread test/Microsoft.TestPlatform.TestUtilities/IntegrationTestBase.cs
Copilot AI added a commit that referenced this pull request Mar 9, 2026
Co-authored-by: nohwnd <5735905+nohwnd@users.noreply.github.com>
@nohwnd nohwnd enabled auto-merge (squash) March 9, 2026 11:22
@nohwnd nohwnd merged commit 94e4e42 into microsoft:main Mar 9, 2026
7 checks passed
nohwnd added a commit that referenced this pull request Mar 9, 2026
* Initial plan

* Apply PR #15451 fix and document integration test debugging

Co-authored-by: nohwnd <5735905+nohwnd@users.noreply.github.com>

* Apply suggestions from code review

* Update docs/contribute.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/contribute.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: nohwnd <5735905+nohwnd@users.noreply.github.com>
Co-authored-by: Jakub Jareš <me@jakubjares.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This was referenced May 26, 2026
github-actions Bot added a commit to secana/PeNet that referenced this pull request May 28, 2026
Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest)
from 18.5.1 to 18.6.0.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.NET.Test.Sdk's
releases](https://github.com/microsoft/vstest/releases)._

## 18.6.0

## What's Changed
* Revert removal of Video Recorder by @​nohwnd in
microsoft/vstest#15336
* Speed up blame by filtering non-.NET processes from dump collection by
@​nohwnd in microsoft/vstest#15518
* Add README.md to NuGet packages by @​nohwnd in
microsoft/vstest#15550
* Report child process info on connection timeout by @​nohwnd in
microsoft/vstest#15603


### Changes to tests and infra
* Brand as 18.6 by @​nohwnd in
microsoft/vstest#15423
* Upgrading code coverage version to 18.5.1, by @​fhnaseer in
microsoft/vstest#15422
* Updating System.Collections.Immutable to 9.0.11 by @​MSLukeWest in
microsoft/vstest#15425
* Fix attachVS when used for debugging integration tests by @​nohwnd in
microsoft/vstest#15451
* Replace dotnet.config, with global.json by @​nohwnd in
microsoft/vstest#15449
* Document debugging integration tests with AttachVS by @​Copilot in
microsoft/vstest#15452
* Fix stack overflow tests by @​nohwnd in
microsoft/vstest#15461
* Make TestAssets.sln buildable locally by @​Youssef1313 in
microsoft/vstest#15466
* Try filtering out tests by @​nohwnd in
microsoft/vstest#15463
* Build just once when tfms run in parallel by @​nohwnd in
microsoft/vstest#15465
* Review simplify compatibility sources, deduplicate tests by @​nohwnd
in microsoft/vstest#15472
* Cleanup dead TRX code by @​Youssef1313 in
microsoft/vstest#15474
* Update .NET runtimes to 8.0.25, 9.0.14, and 10.0.4 by @​nohwnd in
microsoft/vstest#15481
* Compat matrix checker by @​nohwnd in
microsoft/vstest#15480
* Add trx analysis skill by @​nohwnd in
microsoft/vstest#15486
* Split integration tests to single tfm and multi tfm project by
@​nohwnd in microsoft/vstest#15484
* Update matrix by @​nohwnd in
microsoft/vstest#15477
* Break infinite restore loop in VS by @​nohwnd in
microsoft/vstest#15503
* Use global package cache for build, and local for running integration
tests by @​nohwnd in microsoft/vstest#15500
* Update contributing by @​nohwnd in
microsoft/vstest#15505
* Reduce test wall-clock time by increasing minThreads by @​drognanar in
microsoft/vstest#15502
* Indicator flakiness by @​nohwnd in
microsoft/vstest#15513
* Fix ci build by @​nohwnd in
microsoft/vstest#15515
* Fix thread safety issues by @​Evangelink in
microsoft/vstest#15512
* Optimize DotnetSDKSimulation_PostProcessing test (163s → 61s) by
@​nohwnd in microsoft/vstest#15516
* Build isolated test assets for single TFM instead of 7 by @​nohwnd in
microsoft/vstest#15517
* Remove unused dependencies from Library.IntegrationTests by @​nohwnd
in microsoft/vstest#15527
* Remove printing _attachments content to console by @​nohwnd in
microsoft/vstest#15520
* Add Linux/macOS test filtering guide to CONTRIBUTING.md by @​nohwnd in
microsoft/vstest#15521
* Change integration test parallelization from ClassLevel to MethodLevel
by @​nohwnd in microsoft/vstest#15526
* Unify target framework checks with IsNetFrameworkTarget/IsNetTarget by
@​nohwnd in microsoft/vstest#15523
* Add unattended work instructions to copilot-instructions.md by
@​nohwnd in microsoft/vstest#15531
* Reduce code style rule severity from warning to suggestion by @​nohwnd
in microsoft/vstest#15522
* Remove Debug/Release line number branching from tests by @​nohwnd in
microsoft/vstest#15519
* Revise unattended work instructions in copilot-instructions.md by
@​nohwnd in microsoft/vstest#15532
* Improve CompatibilityRowsBuilder error message with diagnostic details
by @​nohwnd in microsoft/vstest#15529
* docs: add git worktree and upstream sync workflow to
copilot-instructions.md by @​nohwnd in
microsoft/vstest#15538
* Add VSIX runner to smoke tests by @​nohwnd in
microsoft/vstest#15541
* Remove deprecated WebTest and TMI test methods by @​nohwnd in
microsoft/vstest#15525
* Fix compatibility test failures for legacy vstest.console and MSTest
adapter by @​nohwnd in microsoft/vstest#15534
* Convert TestPlatform.sln to slnx format by @​nohwnd in
microsoft/vstest#15551
* Convert test/TestAssets .sln files to .slnx format by @​nohwnd in
microsoft/vstest#15557
 ... (truncated)

Commits viewable in [compare
view](microsoft/vstest@v18.5.1...v18.6.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.NET.Test.Sdk&package-manager=nuget&previous-version=18.5.1&new-version=18.6.0)](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 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>
This was referenced May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants