Skip to content

Conversation

max-charlamb
Copy link
Member

@max-charlamb max-charlamb commented Aug 28, 2025

This pull request reorganizes and improves the project and build configuration, with a particular focus on test infrastructure and project structure. The changes streamline how test projects are referenced and built, clarify property settings for packaging and shipping, and update solution/project references to reflect a new directory structure for test assets.

Project and Build Configuration Improvements:

  • Added a new dirs.proj traversal project that includes all main diagnostic tool projects and conditionally includes test projects, improving build orchestration and clarity.
    • Added generate-slnx.ps1 script which generates an ephemeral dirs.slnx file which can be opened in VS/VSCode.
    • Updated start-vs.cmd script to automatically call generate-slnx.ps1 if dirs.slnx does not exist.
  • Updated Directory.Build.props to set IsShipping and IsPackable to false by default, and suppress warnings about packing non-packable projects, ensuring that internal/test projects are not accidentally shipped or packed.
  • Added architecture-specific properties for test .NET install roots and registry roots, improving test environment configuration for different target architectures.

Test Infrastructure and Project Structure:

  • Added add_subdirectory(tests) to CMakeLists.txt to ensure that test projects are included in native builds.
  • Corrected a path in THIRD-PARTY-NOTICES.TXT to point to the new location of the Xunit.Extensions code under tests/Microsoft.Diagnostics.TestHelpers, reflecting the directory reorganization.edited version of Move tests and test debuggees to repo root 'tests' directory #5469

** Follow-up Items**

  • Change test project names to be uniform
  • Debugger.Tests.Versions.txt should be in the artifacts tree and drive when runtimes are installed on helix

@max-charlamb max-charlamb marked this pull request as ready for review August 28, 2025 21:46
@max-charlamb max-charlamb requested a review from a team as a code owner August 28, 2025 21:46
@max-charlamb max-charlamb changed the title Prepare tests to run on helix Move tests and test debuggees to repo root 'tests' directory Aug 28, 2025
steveisok
steveisok previously approved these changes Aug 29, 2025
@max-charlamb max-charlamb changed the title Move tests and test debuggees to repo root 'tests' directory Organize tests under src/tests Oct 9, 2025
@max-charlamb max-charlamb changed the title Organize tests under src/tests Organize tests under src/tests Oct 9, 2025
@max-charlamb max-charlamb changed the title Organize tests under src/tests Consolidate tests under src/tests Oct 9, 2025

# Determine local dotnet path (must exist)
$scriptRoot = Split-Path -Parent $MyInvocation.MyCommand.Path
$localDotNet = Join-Path $scriptRoot "../.dotnet"
Copy link
Member

Choose a reason for hiding this comment

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

Use the dotnet script - it guarantees that we download it if it's not there. It hadnles the bootstrap for you. It also handles the case where we don't need to download it if the user has it installed globally.

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.

5 participants