diff --git a/.gitignore b/.gitignore index 74094e8ce1..f4dfe3f130 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ .vs/ *.VC.db .venv/ +build.slnx # Build results [Aa]rtifacts/ diff --git a/Directory.Build.props b/Directory.Build.props index 10415c69c4..b180e2e33e 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,8 +9,11 @@ Latest 4 true + false true <_SkipUpgradeNetAnalyzersNuGetWarning>true + false + false @@ -67,4 +70,13 @@ net8.0 + + $(RepoRoot).dotnet-test\ + HKEY_LOCAL_MACHINE\SOFTWARE + + + + $(RepoRoot).dotnet-test\x86\ + HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node + diff --git a/THIRD-PARTY-NOTICES.TXT b/THIRD-PARTY-NOTICES.TXT index 3bf4c6fc0c..da0d78931d 100644 --- a/THIRD-PARTY-NOTICES.TXT +++ b/THIRD-PARTY-NOTICES.TXT @@ -1559,7 +1559,7 @@ SOFTWARE. ------------------------------------------------- -Source in src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/* is largely derived from source +Source in src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/* is largely derived from source source found at https://github.com/xunit/samples.xunit. This set of code is covered by the following license: diff --git a/build.proj b/build.proj new file mode 100644 index 0000000000..b6269051a3 --- /dev/null +++ b/build.proj @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/debuggees.slnx b/debuggees.slnx deleted file mode 100644 index 4c7e2688af..0000000000 --- a/debuggees.slnx +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/diagnostics.slnx b/diagnostics.slnx deleted file mode 100644 index 7ff2a2aee8..0000000000 --- a/diagnostics.slnx +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/documentation/building/windows-instructions.md b/documentation/building/windows-instructions.md index 09587a36e3..888caaf75c 100644 --- a/documentation/building/windows-instructions.md +++ b/documentation/building/windows-instructions.md @@ -108,3 +108,14 @@ To test the resulting SOS: ```bat test.cmd ``` + +## Loading solution file + +For a better dev inner loop experience, generate the `build.slnx` file using + +```pwsh +# Ensure local .dotnet is bootstrapped first (run build.cmd once if new clone) +./eng/generate-slnx.ps1 +``` + +then load the file into either VS or VSCode. diff --git a/eng/Build.props b/eng/Build.props index 61f52242a2..5046cae3ab 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -1,12 +1,14 @@ + + + - + - - \ No newline at end of file + diff --git a/eng/InstallRuntimes.proj b/eng/InstallRuntimes.proj index d817ad01f9..1e2b86ccca 100644 --- a/eng/InstallRuntimes.proj +++ b/eng/InstallRuntimes.proj @@ -22,16 +22,6 @@ $([MSBuild]::NormalizePath('$(LiveRuntimeDir)')) - - $(RepoRoot).dotnet-test\ - HKEY_LOCAL_MACHINE\SOFTWARE - - - - $(RepoRoot).dotnet-test\x86\ - HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node - - -NoPath -SkipNonVersionedFiles -Architecture $(TargetArch) -InstallDir $(DotNetInstallRoot) $([MSBuild]::NormalizeDirectory('$(DotNetInstallRoot)', 'shared', 'Microsoft.NETCore.App', '$(MicrosoftNETCoreAppRefVersion)')) diff --git a/eng/build.ps1 b/eng/build.ps1 index 15f2d14f7e..effd57112b 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -8,6 +8,7 @@ Param( [switch] $privatebuild, [switch] $ci, [switch][Alias('bl')]$binaryLog, + [switch] $skiptest, [switch] $skipmanaged, [switch] $skipnative, [switch] $bundletools, @@ -67,6 +68,10 @@ if (-not $skipnative) { # Install sdk for building, restore and build managed components. if (-not $skipmanaged) { + if ($skiptest) { + $remainingargs = "/p:SkipTests=true " + $remainingargs + } + Invoke-Expression "& `"$engroot\common\build.ps1`" -configuration $configuration -verbosity $verbosity $bl /p:TargetOS=$os /p:TargetArch=$architecture /p:TestArchitectures=$architecture $remainingargs" if ($lastExitCode -ne 0) { @@ -111,7 +116,8 @@ if ($test) { /p:DotnetRuntimeDownloadVersion="$dotnetruntimedownloadversion" ` /p:RuntimeSourceFeed="$runtimesourcefeed" ` /p:RuntimeSourceFeedKey="$runtimesourcefeedkey" ` - /p:LiveRuntimeDir="$liveRuntimeDir" + /p:LiveRuntimeDir="$liveRuntimeDir" ` + /p:IsTestRun=true if ($lastExitCode -ne 0) { exit $lastExitCode diff --git a/eng/build.sh b/eng/build.sh index e84a3eb197..1372352f6b 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -29,6 +29,7 @@ __SkipGenerateVersion=0 __InstallRuntimes=0 __PrivateBuild=0 __Test=0 +__TestBuild=1 __UnprocessedBuildArgs= __UseCdac=0 __LiveRuntimeDir= @@ -105,6 +106,10 @@ handle_arguments() { __Test=1 ;; + skiptest|-skiptest) + __TestBuild=0 + ;; + usecdac|-usecdac) __UseCdac=1 ;; @@ -219,6 +224,11 @@ if [[ "$__ManagedBuild" == 1 ]]; then # __CommonMSBuildArgs contains TargetOS property echo "Commencing managed build for $__BuildType in $__RootBinDir/bin" + + if [[ "$__TestBuild" != 1 ]]; then + __ManagedBuildArgs="$__ManagedBuildArgs /p:SkipTests=true" + fi + "$__RepoRootDir/eng/common/build.sh" \ --configuration "$__BuildType" \ /p:TargetArch="$__TargetArch" \ @@ -251,7 +261,7 @@ if [[ "$__InstallRuntimes" == 1 || "$__PrivateBuild" == 1 ]]; then /p:TargetArch="$__TargetArch" \ /p:TargetRid="$__TargetRid" \ /p:TestArchitectures="$__TargetArch" \ - /p:LiveRuntimeDir="$__LiveRuntimeDir" + /p:LiveRuntimeDir="$__LiveRuntimeDir" fi # @@ -314,6 +324,8 @@ if [[ "$__Test" == 1 ]]; then /p:RuntimeSourceFeed="$__RuntimeSourceFeed" \ /p:RuntimeSourceFeedKey="$__RuntimeSourceFeedKey" \ /p:LiveRuntimeDir="$__LiveRuntimeDir" \ + /p:IsTestRun=true \ + $__ManagedBuildArgs \ $__CommonMSBuildArgs if [ $? != 0 ]; then diff --git a/eng/generate-slnx.ps1 b/eng/generate-slnx.ps1 new file mode 100644 index 0000000000..b3ba58c748 --- /dev/null +++ b/eng/generate-slnx.ps1 @@ -0,0 +1,112 @@ +#!/usr/bin/env pwsh + +<# +.SYNOPSIS + Generates and migrates Visual Studio solution files for the diagnostics repository. + +.DESCRIPTION + This script generates solution files using SlnGen tool and migrates the legacy + build.sln file to the new .slnx format, then cleans up the old file. + +.EXAMPLE + .\generate-slnx.ps1 +#> + +[CmdletBinding()] +param() + +Set-StrictMode -Version Latest +$ErrorActionPreference = "Stop" + +# Determine local dotnet path (must exist) +$scriptRoot = Split-Path -Parent $MyInvocation.MyCommand.Path +$localDotNet = Join-Path $scriptRoot "../.dotnet" +$dotnetExe = Join-Path $localDotNet "dotnet.exe" +if (-not (Test-Path $dotnetExe)) { + Write-Host "[ERROR] Local dotnet not found at $dotnetExe" -ForegroundColor Red + Write-Host "Ensure .dotnet is bootstrapped (e.g. run build/restore scripts) before running this generator." -ForegroundColor Yellow + exit 1 +} + +function Write-Step { + param([string]$Message) + Write-Host "==> $Message" -ForegroundColor Cyan +} + +function Write-Success { + param([string]$Message) + Write-Host "[SUCCESS] $Message" -ForegroundColor Green +} + +function Write-Warning { + param([string]$Message) + Write-Host "[WARNING] $Message" -ForegroundColor Yellow +} + +function Write-ErrorMessage { + param([string]$Message) + Write-Host "[ERROR] $Message" -ForegroundColor Red +} + +try { + Write-Host "Diagnostics Solution Generator" -ForegroundColor Magenta + Write-Host "==============================" -ForegroundColor Magenta + + # Step 1: Generate solution files with SlnGen + Write-Step "Generating solution files with SlnGen..." + try { + # Use local dotnet to execute SlnGen tool + & $dotnetExe tool exec Microsoft.VisualStudio.SlnGen.Tool --collapsefolders true --folders true --launch false + $slngenExit = $LASTEXITCODE + if ($slngenExit -ne 0) { + throw "SlnGen tool exited with non-zero exit code $slngenExit" + } + Write-Success "Solution files generated successfully" + } + catch { + Write-ErrorMessage "Failed to generate solution files with SlnGen" + Write-Host "Error details: $($_.Exception.Message)" -ForegroundColor Red + exit 1 + } + + # Step 2: Check if build.sln exists before migration + if (Test-Path "build.sln") { + Write-Step "Migrating build.sln to new format..." + try { + & $dotnetExe sln build.sln migrate + $migrateExit = $LASTEXITCODE + if ($migrateExit -ne 0) { throw "dotnet sln migrate exited with $migrateExit" } + Write-Success "Migration completed successfully" + } + catch { + Write-ErrorMessage "Failed to migrate build.sln" + Write-Host "Error details: $($_.Exception.Message)" -ForegroundColor Red + Write-Warning "Continuing with cleanup..." + } + + # Step 3: Clean up old solution file + Write-Step "Cleaning up old build.sln file..." + try { + Remove-Item "build.sln" -Force + Write-Success "Old solution file removed" + } + catch { + Write-Warning "Could not remove build.sln: $($_.Exception.Message)" + Write-Host "You may need to remove it manually" -ForegroundColor Yellow + } + } + else { + Write-Warning "build.sln not found, skipping migration step" + } + + Write-Host "" + Write-Success "Solution generation and migration completed successfully!" + Write-Host "You can now open the generated build.slnx files in Visual Studio." -ForegroundColor Gray +} +catch { + Write-ErrorMessage "Script execution failed with unexpected error" + Write-Host "Error details: $($_.Exception.Message)" -ForegroundColor Red + Write-Host "Stack trace:" -ForegroundColor Gray + Write-Host $_.ScriptStackTrace -ForegroundColor Gray + exit 1 +} diff --git a/eng/pipelines/build.yml b/eng/pipelines/build.yml index ba061cc2f2..e29e275e45 100644 --- a/eng/pipelines/build.yml +++ b/eng/pipelines/build.yml @@ -130,7 +130,8 @@ jobs: - _PhaseName: ${{ coalesce(parameters.name, parameters.osGroup) }}_${{ config.architecture }}_${{ config.configuration }} - _Pipeline_StreamDumpDir: $(Build.SourcesDirectory)/artifacts/tmp/${{ config.configuration }}/streams - - _TestArgs: '-test' + - _RunTestArgs: '-test' + - _BuildTestArgs: '' - _Cross: '' - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: @@ -142,10 +143,10 @@ jobs: 'error, testOnly and buildOnly cannot be true at the same time': error - ${{ if eq(parameters.testOnly, 'true') }}: - - _TestArgs: '-test -skipnative' + - _BuildTestArgs: '-skipnative' - ${{ if or(eq(parameters.buildOnly, 'true'), eq(parameters.isCodeQLRun, 'true')) }}: - - _TestArgs: '' + - _BuildTestArgs: '-skiptest' # For testing msrc's and service releases. The RuntimeSourceVersion is either "default" or the service release version to test - _InternalInstallArgs: '' @@ -185,18 +186,28 @@ jobs: -binaryLog -configuration ${{ config.configuration }} -architecture ${{ config.architecture }} - $(_TestArgs) + $(_BuildTestArgs) $(_Cross) $(_InternalInstallArgs) /p:OfficialBuildId=$(BUILD.BUILDNUMBER) ${{ if eq(parameters.testOnly, 'true') }}: - displayName: Test - ${{ elseif eq(parameters.buildOnly, 'true') }}: - displayName: Build + displayName: Build Tests ${{ else }}: - displayName: Build / Test + displayName: Build condition: succeeded() + - ${{ if and(ne(parameters.isCodeQLRun, 'true'), ne(parameters.buildOnly, 'true')) }}: + - script: $(_buildScript) + -ci + -binaryLog + -configuration ${{ config.configuration }} + -architecture ${{ config.architecture }} + $(_RunTestArgs) + $(_InternalInstallArgs) + /p:OfficialBuildId=$(BUILD.BUILDNUMBER) + displayName: Run Tests + condition: succeeded() + - ${{ if eq(parameters.isCodeQLRun, 'true') }}: - task: CodeQL3000Finalize@0 displayName: CodeQL Finalize diff --git a/eng/testsos.cmd b/eng/testsos.cmd index 949e583534..640638a32d 100644 --- a/eng/testsos.cmd +++ b/eng/testsos.cmd @@ -1 +1 @@ -%~dp0..\.dotnet\dotnet.exe test --no-build --logger "console;verbosity=detailed" %~dp0..\src\SOS\SOS.UnitTests\SOS.UnitTests.csproj +%~dp0..\.dotnet\dotnet.exe test --no-build --logger "console;verbosity=detailed" %~dp0..\src\tests\SOS.UnitTests\SOS.UnitTests.csproj diff --git a/eng/testsos.sh b/eng/testsos.sh index 273455e2fd..aa911d7a16 100755 --- a/eng/testsos.sh +++ b/eng/testsos.sh @@ -14,4 +14,4 @@ done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" export LLDB_PATH=/usr/bin/lldb -$scriptroot/../.dotnet/dotnet test --no-build --logger "console;verbosity=detailed" $scriptroot/../src/SOS/SOS.UnitTests/SOS.UnitTests.csproj +$scriptroot/../.dotnet/dotnet test --no-build --logger "console;verbosity=detailed" $scriptroot/../src/tests/SOS.UnitTests/SOS.UnitTests.csproj diff --git a/eng/testsoscdac.cmd b/eng/testsoscdac.cmd index 17f025b0c8..c499ffaecb 100644 --- a/eng/testsoscdac.cmd +++ b/eng/testsoscdac.cmd @@ -1,2 +1,2 @@ set SOS_TEST_CDAC=true -%~dp0..\.dotnet\dotnet.exe test --no-build --logger "console;verbosity=detailed" %~dp0..\src\SOS\SOS.UnitTests\SOS.UnitTests.csproj --filter "Category=CDACCompatible" +%~dp0..\.dotnet\dotnet.exe test --no-build --logger "console;verbosity=detailed" %~dp0..\src\tests\SOS.UnitTests\SOS.UnitTests.csproj --filter "Category=CDACCompatible" diff --git a/eng/testsoscdac.sh b/eng/testsoscdac.sh index 4bad4dd7b4..bafe751021 100644 --- a/eng/testsoscdac.sh +++ b/eng/testsoscdac.sh @@ -15,4 +15,4 @@ done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" export LLDB_PATH=/usr/bin/lldb export SOS_TEST_CDAC=true -$scriptroot/../.dotnet/dotnet test --no-build --logger "console;verbosity=detailed" $scriptroot/../src/SOS/SOS.UnitTests/SOS.UnitTests.csproj --filter "Category=CDACCompatible" +$scriptroot/../.dotnet/dotnet test --no-build --logger "console;verbosity=detailed" $scriptroot/../src/tests/SOS.UnitTests/SOS.UnitTests.csproj --filter "Category=CDACCompatible" diff --git a/generate-slnx.ps1 b/generate-slnx.ps1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/global.json b/global.json index 8662fee20c..3cf65e2ca3 100644 --- a/global.json +++ b/global.json @@ -17,6 +17,7 @@ }, "msbuild-sdks": { "Microsoft.Build.NoTargets": "3.5.0", + "Microsoft.Build.Traversal": "3.4.0", "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25476.104" } } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bcc839a522..9cc90dbd49 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,3 +7,4 @@ endif (CLR_CMAKE_HOST_UNIX) add_subdirectory(shared) add_subdirectory(SOS) add_subdirectory(dbgshim) +add_subdirectory(tests) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index c2d80f41ed..228d65b259 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,11 +2,9 @@ - false - false true - true true + true $(ArtifactsDir)bundledtools/ diff --git a/src/SOS/CMakeLists.txt b/src/SOS/CMakeLists.txt index 901a26e428..63bf347e73 100644 --- a/src/SOS/CMakeLists.txt +++ b/src/SOS/CMakeLists.txt @@ -7,16 +7,9 @@ endif(CLR_CMAKE_HOST_UNIX) # lldbplugin doesn't build with these options if(CLR_CMAKE_HOST_WIN32) message(STATUS "CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION: ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}") - message(STATUS "VSInstallDir: $ENV{VSInstallDir}") include_directories("$ENV{VSInstallDir}/DIA SDK/include") - add_compile_options(/Zl) # omit default library name in .OBJ - - add_subdirectory(runcommand) - if(NOT CLR_CMAKE_TARGET_ARCH_ARM) - add_subdirectory(SOS.UnitTests/Debuggees/DesktopClrHost) - endif(NOT CLR_CMAKE_TARGET_ARCH_ARM) endif(CLR_CMAKE_HOST_WIN32) add_compile_definitions(STRESS_LOG_ANALYZER) diff --git a/src/dirs.proj b/src/dirs.proj new file mode 100644 index 0000000000..eb520de8f2 --- /dev/null +++ b/src/dirs.proj @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 0000000000..3800b3ca02 --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,8 @@ +include(${CLR_SHARED_DIR}/shared.cmake) + +if(CLR_CMAKE_HOST_WIN32) + add_subdirectory(runcommand) + if(NOT CLR_CMAKE_TARGET_ARCH_ARM) + add_subdirectory(DesktopClrHost) + endif(NOT CLR_CMAKE_TARGET_ARCH_ARM) +endif(CLR_CMAKE_HOST_WIN32) diff --git a/src/tests/CommonTestRunner/CommonTestRunner.csproj b/src/tests/CommonTestRunner/CommonTestRunner.csproj index 6d70ad1ad7..5ce6ada4c6 100644 --- a/src/tests/CommonTestRunner/CommonTestRunner.csproj +++ b/src/tests/CommonTestRunner/CommonTestRunner.csproj @@ -6,7 +6,13 @@ - + + + + + + + diff --git a/src/tests/CommonTestRunner/ConfigFiles/Unix/Debugger.Tests.Config.txt b/src/tests/CommonTestRunner/ConfigFiles/Unix/Debugger.Tests.Config.txt index e168348f44..b356ab7e65 100644 --- a/src/tests/CommonTestRunner/ConfigFiles/Unix/Debugger.Tests.Config.txt +++ b/src/tests/CommonTestRunner/ConfigFiles/Unix/Debugger.Tests.Config.txt @@ -8,7 +8,7 @@ $(RootBinDir)/TestResults/$(TargetConfiguration)/common.unittests_$(Timestamp) ProjectK - $(RepoRootDir)/src/tests + $(RepoRootDir)/src/tests/CommonTestRunner/Debuggees $(RepoRootDir)/eng/AuxMsbuildFiles cli sdk.prebuilt diff --git a/src/tests/CommonTestRunner/ConfigFiles/Windows/Debugger.Tests.Config.txt b/src/tests/CommonTestRunner/ConfigFiles/Windows/Debugger.Tests.Config.txt index e3a408fbbf..5a588bc466 100644 --- a/src/tests/CommonTestRunner/ConfigFiles/Windows/Debugger.Tests.Config.txt +++ b/src/tests/CommonTestRunner/ConfigFiles/Windows/Debugger.Tests.Config.txt @@ -9,7 +9,7 @@ $(RootBinDir)\TestResults\$(TargetConfiguration)\common.unittests_$(Timestamp) ProjectK - $(RepoRootDir)\src\tests + $(RepoRootDir)\src\tests\CommonTestRunner\Debuggees $(RepoRootDir)\eng\AuxMsbuildFiles sdk.prebuilt $(RootBinDir) diff --git a/src/SOS/SOS.UnitTests/Debuggees/Directory.Build.props b/src/tests/CommonTestRunner/Debuggees/Directory.Build.props similarity index 67% rename from src/SOS/SOS.UnitTests/Debuggees/Directory.Build.props rename to src/tests/CommonTestRunner/Debuggees/Directory.Build.props index 55c701fd8e..0a9a25f5ef 100644 --- a/src/SOS/SOS.UnitTests/Debuggees/Directory.Build.props +++ b/src/tests/CommonTestRunner/Debuggees/Directory.Build.props @@ -1,12 +1,12 @@ - - + false full true false + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'debuggees', '$(MSBuildProjectName)', '$(Configuration)')) diff --git a/src/tests/EventPipeTracee/CustomMetrics.cs b/src/tests/CommonTestRunner/Debuggees/EventPipeTracee/CustomMetrics.cs similarity index 100% rename from src/tests/EventPipeTracee/CustomMetrics.cs rename to src/tests/CommonTestRunner/Debuggees/EventPipeTracee/CustomMetrics.cs diff --git a/src/tests/EventPipeTracee/DuplicateNameMetrics.cs b/src/tests/CommonTestRunner/Debuggees/EventPipeTracee/DuplicateNameMetrics.cs similarity index 100% rename from src/tests/EventPipeTracee/DuplicateNameMetrics.cs rename to src/tests/CommonTestRunner/Debuggees/EventPipeTracee/DuplicateNameMetrics.cs diff --git a/src/tests/EventPipeTracee/EventPipeTracee.csproj b/src/tests/CommonTestRunner/Debuggees/EventPipeTracee/EventPipeTracee.csproj similarity index 82% rename from src/tests/EventPipeTracee/EventPipeTracee.csproj rename to src/tests/CommonTestRunner/Debuggees/EventPipeTracee/EventPipeTracee.csproj index 39e40b1eea..3a7e162fd1 100644 --- a/src/tests/EventPipeTracee/EventPipeTracee.csproj +++ b/src/tests/CommonTestRunner/Debuggees/EventPipeTracee/EventPipeTracee.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/tests/EventPipeTracee/Program.cs b/src/tests/CommonTestRunner/Debuggees/EventPipeTracee/Program.cs similarity index 100% rename from src/tests/EventPipeTracee/Program.cs rename to src/tests/CommonTestRunner/Debuggees/EventPipeTracee/Program.cs diff --git a/src/tests/ExitCodeTracee/ExitCodeTracee.csproj b/src/tests/CommonTestRunner/Debuggees/ExitCodeTracee/ExitCodeTracee.csproj similarity index 100% rename from src/tests/ExitCodeTracee/ExitCodeTracee.csproj rename to src/tests/CommonTestRunner/Debuggees/ExitCodeTracee/ExitCodeTracee.csproj diff --git a/src/tests/ExitCodeTracee/Program.cs b/src/tests/CommonTestRunner/Debuggees/ExitCodeTracee/Program.cs similarity index 100% rename from src/tests/ExitCodeTracee/Program.cs rename to src/tests/CommonTestRunner/Debuggees/ExitCodeTracee/Program.cs diff --git a/src/tests/StackTracee/Program.cs b/src/tests/CommonTestRunner/Debuggees/StackTracee/Program.cs similarity index 100% rename from src/tests/StackTracee/Program.cs rename to src/tests/CommonTestRunner/Debuggees/StackTracee/Program.cs diff --git a/src/tests/StackTracee/StackTracee.csproj b/src/tests/CommonTestRunner/Debuggees/StackTracee/StackTracee.csproj similarity index 100% rename from src/tests/StackTracee/StackTracee.csproj rename to src/tests/CommonTestRunner/Debuggees/StackTracee/StackTracee.csproj diff --git a/src/tests/Tracee/Program.cs b/src/tests/CommonTestRunner/Debuggees/Tracee/Program.cs similarity index 100% rename from src/tests/Tracee/Program.cs rename to src/tests/CommonTestRunner/Debuggees/Tracee/Program.cs diff --git a/src/tests/Tracee/Tracee.csproj b/src/tests/CommonTestRunner/Debuggees/Tracee/Tracee.csproj similarity index 100% rename from src/tests/Tracee/Tracee.csproj rename to src/tests/CommonTestRunner/Debuggees/Tracee/Tracee.csproj diff --git a/src/tests/DacCompareNativeTypes/DwarfParse.cs b/src/tests/DacCompareNativeTypes/DwarfParse.cs index 0e3ca4e13f..65de722ed4 100644 --- a/src/tests/DacCompareNativeTypes/DwarfParse.cs +++ b/src/tests/DacCompareNativeTypes/DwarfParse.cs @@ -36,7 +36,7 @@ private static void FinishType(Type type) { if (type.Parent != null) { - Match typeMatch = typeRegEx.Match(type.SourceLine); + Match typeMatch = typeRegEx.Match(type.SourceLine ?? string.Empty); if (typeMatch.Success) { diff --git a/src/tests/DbgShim.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt b/src/tests/DbgShim.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt index 9370ae5607..61fc2a88f5 100644 --- a/src/tests/DbgShim.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt +++ b/src/tests/DbgShim.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt @@ -3,14 +3,13 @@ $(RepoRootDir)\.dotnet-test $(RepoRootDir)\.dotnet-test\x86 - $(RepoRootDir)\artifacts $(RootBinDir)\bin\Windows_NT.$(TargetArchitecture).$(TargetConfiguration) $(RootBinDir)\TestResults\$(TargetConfiguration)\dbgshim.unittests_$(Timestamp) ProjectK - $(RepoRootDir)\src\tests\DbgShim.UnitTests\Debuggees $(RepoRootDir)\eng\AuxMsbuildFiles + $(RepoRootDir)\src\tests\DbgShim.UnitTests\Debuggees cli SimpleDebuggee diff --git a/src/tests/DbgShim.UnitTests/DbgShim.UnitTests.csproj b/src/tests/DbgShim.UnitTests/DbgShim.UnitTests.csproj index 7af9023141..6d26a932eb 100644 --- a/src/tests/DbgShim.UnitTests/DbgShim.UnitTests.csproj +++ b/src/tests/DbgShim.UnitTests/DbgShim.UnitTests.csproj @@ -5,15 +5,20 @@ true $(OutputPath)$(TargetFramework)\Debugger.Tests.Common.txt 1.0.351101 + true + true + true - + + + - - + + @@ -27,16 +32,6 @@ - - - - - - - - - - @@ -75,7 +70,7 @@ - + diff --git a/src/tests/DbgShim.UnitTests/Debuggees/Directory.Build.props b/src/tests/DbgShim.UnitTests/Debuggees/Directory.Build.props index 99ff5a2abb..0a9a25f5ef 100644 --- a/src/tests/DbgShim.UnitTests/Debuggees/Directory.Build.props +++ b/src/tests/DbgShim.UnitTests/Debuggees/Directory.Build.props @@ -1,4 +1,16 @@ - + + + false + full + true + false + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'debuggees', '$(MSBuildProjectName)', '$(Configuration)')) + + + + + + diff --git a/src/SOS/SOS.UnitTests/Debuggees/DesktopClrHost/CMakeLists.txt b/src/tests/DesktopClrHost/CMakeLists.txt similarity index 93% rename from src/SOS/SOS.UnitTests/Debuggees/DesktopClrHost/CMakeLists.txt rename to src/tests/DesktopClrHost/CMakeLists.txt index 567493fa1e..0c2facfd78 100644 --- a/src/SOS/SOS.UnitTests/Debuggees/DesktopClrHost/CMakeLists.txt +++ b/src/tests/DesktopClrHost/CMakeLists.txt @@ -2,11 +2,12 @@ project(DesktopClrHost) set(CMAKE_INCLUDE_CURRENT_DIR ON) -include_directories(inc) include_directories("$ENV{VSInstallDir}/DIA SDK/include") add_definitions(-DUSE_STL) +add_compile_options(/Zl) # omit default library name in .OBJ + set(DESKTOPCLRHOST_SOURCES DesktopClrHost.cpp ) diff --git a/src/SOS/SOS.UnitTests/Debuggees/DesktopClrHost/DesktopClrHost.cpp b/src/tests/DesktopClrHost/DesktopClrHost.cpp similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DesktopClrHost/DesktopClrHost.cpp rename to src/tests/DesktopClrHost/DesktopClrHost.cpp diff --git a/src/tests/Directory.Build.props b/src/tests/Directory.Build.props index e36d68d633..b5ed35f629 100644 --- a/src/tests/Directory.Build.props +++ b/src/tests/Directory.Build.props @@ -1,3 +1,32 @@ - + + + + + + true + true + + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng', 'AuxMsbuildFiles')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'Debuggees')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'debuggees')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'packages')) + $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'Debugger.Tests.Versions.txt')) + + + + $(RepoRoot) + $(DotNetInstallRoot) + $(NuGetPackageRoot) + $(AuxMSBuildRootDir) + $(ArtifactsBinDir) + $(ArtifactsBinNativeDir) + + + + true + true + diff --git a/src/tests/Directory.Build.targets b/src/tests/Directory.Build.targets new file mode 100644 index 0000000000..230e2a65a1 --- /dev/null +++ b/src/tests/Directory.Build.targets @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/tests/Grape/Grape.csproj b/src/tests/Grape/Grape.csproj index f37e603eb4..4507fc0cd5 100644 --- a/src/tests/Grape/Grape.csproj +++ b/src/tests/Grape/Grape.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/tests/Microsoft.Diagnostics.DebugServices.UnitTests/Microsoft.Diagnostics.DebugServices.UnitTests.csproj b/src/tests/Microsoft.Diagnostics.DebugServices.UnitTests/Microsoft.Diagnostics.DebugServices.UnitTests.csproj index c6efc5cfd9..2d462fbe2d 100644 --- a/src/tests/Microsoft.Diagnostics.DebugServices.UnitTests/Microsoft.Diagnostics.DebugServices.UnitTests.csproj +++ b/src/tests/Microsoft.Diagnostics.DebugServices.UnitTests/Microsoft.Diagnostics.DebugServices.UnitTests.csproj @@ -6,28 +6,20 @@ 1.0.351101 true + true + true + - - - - - - - - - - - - - - - + + + + diff --git a/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/EventLogsPipelineUnitTests.cs b/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/EventLogsPipelineUnitTests.cs index c8ed1e4f24..b087b93833 100644 --- a/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/EventLogsPipelineUnitTests.cs +++ b/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/EventLogsPipelineUnitTests.cs @@ -278,9 +278,9 @@ private static void ValidateLoggerRemoteCategoryWarningMessage(StreamReader read Assert.Equal("Warning", result.LogLevel); Assert.Equal(7, result.EventId); Assert.Equal("AnotherEventId", result.EventName); - Assert.Equal(0, result.Scopes.Count); + Assert.Empty(result.Scopes); //We are expecting only the original format - Assert.Equal(1, result.Arguments.Count); + Assert.Single(result.Arguments); } private static void ValidateAppLoggerCategoryInformationMessage(StreamReader reader) @@ -294,9 +294,9 @@ private static void ValidateAppLoggerCategoryInformationMessage(StreamReader rea Assert.Equal("Information", result.LogLevel); Assert.Equal(0, result.EventId); Assert.Equal(string.Empty, result.EventName); - Assert.Equal(0, result.Scopes.Count); + Assert.Empty(result.Scopes); //We are expecting only the original format - Assert.Equal(1, result.Arguments.Count); + Assert.Single(result.Arguments); } private static void ValidateAppLoggerCategoryWarningMessage(StreamReader reader) @@ -310,9 +310,9 @@ private static void ValidateAppLoggerCategoryWarningMessage(StreamReader reader) Assert.Equal("Warning", result.LogLevel); Assert.Equal(5, result.EventId); Assert.Equal("WarningEventId", result.EventName); - Assert.Equal(0, result.Scopes.Count); + Assert.Empty(result.Scopes); //We are expecting only the original format - Assert.Equal(1, result.Arguments.Count); + Assert.Single(result.Arguments); } private static void ValidateAppLoggerCategoryErrorMessage(StreamReader reader) @@ -326,9 +326,9 @@ private static void ValidateAppLoggerCategoryErrorMessage(StreamReader reader) Assert.Equal("Error", result.LogLevel); Assert.Equal(0, result.EventId); Assert.Equal(string.Empty, result.EventName); - Assert.Equal(0, result.Scopes.Count); + Assert.Empty(result.Scopes); //We are expecting only the original format - Assert.Equal(1, result.Arguments.Count); + Assert.Single(result.Arguments); } private static void Validate(IDictionary values, params (string key, object value)[] expectedValues) diff --git a/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/Microsoft.Diagnostics.Monitoring.EventPipe.UnitTests.csproj b/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/Microsoft.Diagnostics.Monitoring.EventPipe.UnitTests.csproj index 8f50320f25..9968f7be5a 100644 --- a/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/Microsoft.Diagnostics.Monitoring.EventPipe.UnitTests.csproj +++ b/src/tests/Microsoft.Diagnostics.Monitoring.EventPipe/Microsoft.Diagnostics.Monitoring.EventPipe.UnitTests.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/src/tests/Microsoft.Diagnostics.Monitoring/Microsoft.Diagnostics.Monitoring.UnitTests.csproj b/src/tests/Microsoft.Diagnostics.Monitoring/Microsoft.Diagnostics.Monitoring.UnitTests.csproj index 599592baf7..cb4fccd10c 100644 --- a/src/tests/Microsoft.Diagnostics.Monitoring/Microsoft.Diagnostics.Monitoring.UnitTests.csproj +++ b/src/tests/Microsoft.Diagnostics.Monitoring/Microsoft.Diagnostics.Monitoring.UnitTests.csproj @@ -5,9 +5,9 @@ - - - + + + diff --git a/src/tests/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.UnitTests.csproj b/src/tests/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.UnitTests.csproj index 0737076d0e..6bc2cd68c9 100644 --- a/src/tests/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.UnitTests.csproj +++ b/src/tests/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.UnitTests.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/src/Microsoft.Diagnostics.TestHelpers/AcquireDotNetTestStep.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/AcquireDotNetTestStep.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/AcquireDotNetTestStep.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/AcquireDotNetTestStep.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/AssertX.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/AssertX.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/AssertX.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/AssertX.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/BaseDebuggeeCompiler.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/BaseDebuggeeCompiler.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/BaseDebuggeeCompiler.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/BaseDebuggeeCompiler.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/CliDebuggeeCompiler.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/CliDebuggeeCompiler.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/CliDebuggeeCompiler.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/CliDebuggeeCompiler.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/ConsoleTestOutputHelper.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/ConsoleTestOutputHelper.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/ConsoleTestOutputHelper.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/ConsoleTestOutputHelper.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/CsprojBuildDebuggeeTestStep.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/CsprojBuildDebuggeeTestStep.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/CsprojBuildDebuggeeTestStep.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/CsprojBuildDebuggeeTestStep.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/DebuggeeCompiler.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/DebuggeeCompiler.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/DebuggeeCompiler.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/DebuggeeCompiler.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/FileTestOutputHelper.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/FileTestOutputHelper.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/FileTestOutputHelper.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/FileTestOutputHelper.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/IProcessLogger.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/IProcessLogger.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/IProcessLogger.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/IProcessLogger.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/IndentedTestOutputHelper.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/IndentedTestOutputHelper.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/IndentedTestOutputHelper.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/IndentedTestOutputHelper.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/LoggingListener.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/LoggingListener.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/LoggingListener.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/LoggingListener.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Microsoft.Diagnostics.TestHelpers.csproj b/src/tests/Microsoft.Diagnostics.TestHelpers/Microsoft.Diagnostics.TestHelpers.csproj similarity index 73% rename from src/Microsoft.Diagnostics.TestHelpers/Microsoft.Diagnostics.TestHelpers.csproj rename to src/tests/Microsoft.Diagnostics.TestHelpers/Microsoft.Diagnostics.TestHelpers.csproj index 4e3df14e84..a9fb05848e 100644 --- a/src/Microsoft.Diagnostics.TestHelpers/Microsoft.Diagnostics.TestHelpers.csproj +++ b/src/tests/Microsoft.Diagnostics.TestHelpers/Microsoft.Diagnostics.TestHelpers.csproj @@ -19,7 +19,7 @@ - - + + diff --git a/src/Microsoft.Diagnostics.TestHelpers/MultiplexTestOutputHelper.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/MultiplexTestOutputHelper.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/MultiplexTestOutputHelper.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/MultiplexTestOutputHelper.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/PrebuiltDebuggeeCompiler.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/PrebuiltDebuggeeCompiler.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/PrebuiltDebuggeeCompiler.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/PrebuiltDebuggeeCompiler.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/ProcessRunner.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/ProcessRunner.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/ProcessRunner.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/ProcessRunner.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/RemoteExecutorHelper.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/RemoteExecutorHelper.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/RemoteExecutorHelper.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/RemoteExecutorHelper.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/SdkPrebuiltDebuggeeCompiler.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/SdkPrebuiltDebuggeeCompiler.cs similarity index 83% rename from src/Microsoft.Diagnostics.TestHelpers/SdkPrebuiltDebuggeeCompiler.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/SdkPrebuiltDebuggeeCompiler.cs index ebc4105d43..1caef7c7a0 100644 --- a/src/Microsoft.Diagnostics.TestHelpers/SdkPrebuiltDebuggeeCompiler.cs +++ b/src/tests/Microsoft.Diagnostics.TestHelpers/SdkPrebuiltDebuggeeCompiler.cs @@ -26,14 +26,14 @@ public SdkPrebuiltDebuggeeCompiler(TestConfiguration config, string debuggeeName // The layout is how the current .NET Core SDK layouts the binaries out: // Source Path: //[] - // Binary Path: /bin/// - // Binary Exe Path: /bin////.dll + // Binary Path: /bin/debuggees/// + // Binary Exe Path: /bin/debuggees////.dll _sourcePath = Path.Combine(config.DebuggeeSourceRoot, debuggeeName); if (Directory.Exists(Path.Combine(_sourcePath, debuggeeName))) { _sourcePath = Path.Combine(_sourcePath, debuggeeName); } - _binaryPath = Path.Combine(config.DebuggeeBuildRoot, "bin", debuggeeName, config.TargetConfiguration, config.BuildProjectFramework); + _binaryPath = Path.Combine(config.DebuggeeBuildRoot, "bin", "debuggees", debuggeeName, config.TargetConfiguration, config.BuildProjectFramework); _binaryExePath = Path.Combine(_binaryPath, debuggeeName) + (config.IsDesktop ? ".exe" : ".dll"); } diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestConfiguration.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestConfiguration.cs similarity index 99% rename from src/Microsoft.Diagnostics.TestHelpers/TestConfiguration.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestConfiguration.cs index 01821e3244..5d3fc3436b 100644 --- a/src/Microsoft.Diagnostics.TestHelpers/TestConfiguration.cs +++ b/src/tests/Microsoft.Diagnostics.TestHelpers/TestConfiguration.cs @@ -80,7 +80,8 @@ private void ParseConfigFile(string path) ["TargetRid"] = GetRid(), ["TargetArchitecture"] = OS.TargetArchitecture.ToString().ToLowerInvariant(), ["NuGetPackageCacheDir"] = nugetPackages, - ["TestCDAC"] = Environment.GetEnvironmentVariable("SOS_TEST_CDAC") + ["TestCDAC"] = Environment.GetEnvironmentVariable("SOS_TEST_CDAC"), + ["DotNetRoot"] = Environment.GetEnvironmentVariable("DOTNET_ROOT"), }; if (OS.Kind == OSKind.Windows) { diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataReader.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataReader.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataReader.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataReader.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataWriter.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataWriter.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataWriter.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestDataWriter.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestHost/TestDump.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestDump.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestHost/TestDump.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestDump.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestHost/TestHost.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestHost.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestHost/TestHost.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestHost/TestHost.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestOutputProcessLogger.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestOutputProcessLogger.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestOutputProcessLogger.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestOutputProcessLogger.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestRunner.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestRunner.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestRunner.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestRunner.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/TestStep.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/TestStep.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/TestStep.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/TestStep.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkipTestException.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkipTestException.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkipTestException.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkipTestException.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactAttribute.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactAttribute.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactAttribute.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactAttribute.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactDiscoverer.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactDiscoverer.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactDiscoverer.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactDiscoverer.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactMessageBus.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactMessageBus.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactMessageBus.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactMessageBus.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactTestCase.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactTestCase.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactTestCase.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableFactTestCase.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryAttribute.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryAttribute.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryAttribute.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryAttribute.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryDiscoverer.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryDiscoverer.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryDiscoverer.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryDiscoverer.cs diff --git a/src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryTestCase.cs b/src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryTestCase.cs similarity index 100% rename from src/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryTestCase.cs rename to src/tests/Microsoft.Diagnostics.TestHelpers/Xunit.Extensions/SkippableTheoryTestCase.cs diff --git a/src/tests/Microsoft.FileFormats.UnitTests/Microsoft.FileFormats.UnitTests.csproj b/src/tests/Microsoft.FileFormats.UnitTests/Microsoft.FileFormats.UnitTests.csproj index 35b78f4be7..33032a7996 100644 --- a/src/tests/Microsoft.FileFormats.UnitTests/Microsoft.FileFormats.UnitTests.csproj +++ b/src/tests/Microsoft.FileFormats.UnitTests/Microsoft.FileFormats.UnitTests.csproj @@ -3,6 +3,16 @@ $(NetCoreAppMinTargetFramework) ;1591;1701 + + + + + + + + + + @@ -57,10 +67,4 @@ PreserveNewest - - - - - - diff --git a/src/tests/Microsoft.SymbolStore.UnitTests/Microsoft.SymbolStore.UnitTests.csproj b/src/tests/Microsoft.SymbolStore.UnitTests/Microsoft.SymbolStore.UnitTests.csproj index b3a103a3fa..32816c8a84 100644 --- a/src/tests/Microsoft.SymbolStore.UnitTests/Microsoft.SymbolStore.UnitTests.csproj +++ b/src/tests/Microsoft.SymbolStore.UnitTests/Microsoft.SymbolStore.UnitTests.csproj @@ -5,15 +5,11 @@ - - - - - + - + @@ -21,6 +17,14 @@ + + + + + + + + PreserveNewest diff --git a/src/SOS/SOS.UnitTests/ConfigFiles/Unix/Debugger.Tests.Config.txt b/src/tests/SOS.UnitTests/ConfigFiles/Unix/Debugger.Tests.Config.txt similarity index 98% rename from src/SOS/SOS.UnitTests/ConfigFiles/Unix/Debugger.Tests.Config.txt rename to src/tests/SOS.UnitTests/ConfigFiles/Unix/Debugger.Tests.Config.txt index 336715b0ff..0bf9b6591d 100644 --- a/src/SOS/SOS.UnitTests/ConfigFiles/Unix/Debugger.Tests.Config.txt +++ b/src/tests/SOS.UnitTests/ConfigFiles/Unix/Debugger.Tests.Config.txt @@ -13,7 +13,7 @@ ProjectK - $(RepoRootDir)/src/SOS/SOS.UnitTests/Scripts + $(RepoRootDir)/src/tests/SOS.UnitTests/Scripts $(RepoRootDir)/artifacts $(RootBinDir)/bin/$(OS).$(TargetArchitecture).$(TargetConfiguration) $(RootBinDir)/TestResults/$(TargetConfiguration)/sos.unittests_$(Timestamp) @@ -28,7 +28,7 @@ true false - $(RepoRootDir)/src/SOS/SOS.UnitTests/Debuggees + $(RepoRootDir)/src/tests/SOS.UnitTests/Debuggees $(RepoRootDir)/eng/AuxMsbuildFiles sdk.prebuilt $(RootBinDir) diff --git a/src/SOS/SOS.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt b/src/tests/SOS.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt similarity index 97% rename from src/SOS/SOS.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt rename to src/tests/SOS.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt index 885c235399..e4fa224fcc 100644 --- a/src/SOS/SOS.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt +++ b/src/tests/SOS.UnitTests/ConfigFiles/Windows/Debugger.Tests.Config.txt @@ -13,7 +13,7 @@ $(RepoRootDir)\.dotnet-test\x86 - $(RepoRootDir)\src\SOS\SOS.UnitTests\Scripts + $(RepoRootDir)\src\tests\SOS.UnitTests\Scripts $(RepoRootDir)\artifacts $(RootBinDir)\bin\Windows_NT.$(TargetArchitecture).$(TargetConfiguration) $(RootBinDir)\TestResults\$(TargetConfiguration)\sos.unittests_$(Timestamp) @@ -38,7 +38,7 @@ $(WinDir)\Microsoft.Net\Framework64\v4.0.30319\ $(WinDir)\Microsoft.Net\Framework\v4.0.30319\ - $(RepoRootDir)\src\SOS\SOS.UnitTests\Debuggees + $(RepoRootDir)\src\tests\SOS.UnitTests\Debuggees $(RepoRootDir)\eng\AuxMsbuildFiles sdk.prebuilt $(RootBinDir) @@ -202,7 +202,7 @@ SOS.DualRuntimes -ms -timeout 10 - $(RootBinDir)\bin\SymbolTestDll\$(TargetConfiguration)\$(DesktopFramework)\SymbolTestDll.dll SymbolTestDll.TestClass ThrowException + $(RootBinDir)\bin\debuggees\SymbolTestDll\$(TargetConfiguration)\$(DesktopFramework)\SymbolTestDll.dll SymbolTestDll.TestClass ThrowException diff --git a/src/tests/SOS.UnitTests/Debuggees/Directory.Build.props b/src/tests/SOS.UnitTests/Debuggees/Directory.Build.props new file mode 100644 index 0000000000..0a9a25f5ef --- /dev/null +++ b/src/tests/SOS.UnitTests/Debuggees/Directory.Build.props @@ -0,0 +1,16 @@ + + + + + false + full + true + false + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'debuggees', '$(MSBuildProjectName)', '$(Configuration)')) + + + + + + + diff --git a/src/SOS/SOS.UnitTests/Debuggees/DivZero/DivZero.cs b/src/tests/SOS.UnitTests/Debuggees/DivZero/DivZero.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DivZero/DivZero.cs rename to src/tests/SOS.UnitTests/Debuggees/DivZero/DivZero.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/DivZero/DivZero.csproj b/src/tests/SOS.UnitTests/Debuggees/DivZero/DivZero.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DivZero/DivZero.csproj rename to src/tests/SOS.UnitTests/Debuggees/DivZero/DivZero.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/DotnetDumpCommands/DotnetDumpCommands.csproj b/src/tests/SOS.UnitTests/Debuggees/DotnetDumpCommands/DotnetDumpCommands.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DotnetDumpCommands/DotnetDumpCommands.csproj rename to src/tests/SOS.UnitTests/Debuggees/DotnetDumpCommands/DotnetDumpCommands.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/DotnetDumpCommands/Program.cs b/src/tests/SOS.UnitTests/Debuggees/DotnetDumpCommands/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DotnetDumpCommands/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/DotnetDumpCommands/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/DumpGCData/DumpGCData.csproj b/src/tests/SOS.UnitTests/Debuggees/DumpGCData/DumpGCData.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DumpGCData/DumpGCData.csproj rename to src/tests/SOS.UnitTests/Debuggees/DumpGCData/DumpGCData.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/DumpGCData/Program.cs b/src/tests/SOS.UnitTests/Debuggees/DumpGCData/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DumpGCData/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/DumpGCData/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/DynamicMethod/DynamicMethod.csproj b/src/tests/SOS.UnitTests/Debuggees/DynamicMethod/DynamicMethod.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DynamicMethod/DynamicMethod.csproj rename to src/tests/SOS.UnitTests/Debuggees/DynamicMethod/DynamicMethod.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/DynamicMethod/Program.cs b/src/tests/SOS.UnitTests/Debuggees/DynamicMethod/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/DynamicMethod/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/DynamicMethod/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/FindRootsOlderGeneration.csproj b/src/tests/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/FindRootsOlderGeneration.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/FindRootsOlderGeneration.csproj rename to src/tests/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/FindRootsOlderGeneration.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/Program.cs b/src/tests/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/FindRootsOlderGeneration/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/GCPOH/GCPOH.cs b/src/tests/SOS.UnitTests/Debuggees/GCPOH/GCPOH.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/GCPOH/GCPOH.cs rename to src/tests/SOS.UnitTests/Debuggees/GCPOH/GCPOH.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/GCPOH/GCPOH.csproj b/src/tests/SOS.UnitTests/Debuggees/GCPOH/GCPOH.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/GCPOH/GCPOH.csproj rename to src/tests/SOS.UnitTests/Debuggees/GCPOH/GCPOH.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/GCWhere/GCWhere.cs b/src/tests/SOS.UnitTests/Debuggees/GCWhere/GCWhere.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/GCWhere/GCWhere.cs rename to src/tests/SOS.UnitTests/Debuggees/GCWhere/GCWhere.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/GCWhere/GCWhere.csproj b/src/tests/SOS.UnitTests/Debuggees/GCWhere/GCWhere.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/GCWhere/GCWhere.csproj rename to src/tests/SOS.UnitTests/Debuggees/GCWhere/GCWhere.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/LineNums/LineNums.csproj b/src/tests/SOS.UnitTests/Debuggees/LineNums/LineNums.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/LineNums/LineNums.csproj rename to src/tests/SOS.UnitTests/Debuggees/LineNums/LineNums.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/LineNums/Program.cs b/src/tests/SOS.UnitTests/Debuggees/LineNums/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/LineNums/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/LineNums/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.cs b/src/tests/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.cs rename to src/tests/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.csproj b/src/tests/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.csproj rename to src/tests/SOS.UnitTests/Debuggees/NestedExceptionTest/NestedExceptionTest.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/Overflow/Overflow.cs b/src/tests/SOS.UnitTests/Debuggees/Overflow/Overflow.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/Overflow/Overflow.cs rename to src/tests/SOS.UnitTests/Debuggees/Overflow/Overflow.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/Overflow/Overflow.csproj b/src/tests/SOS.UnitTests/Debuggees/Overflow/Overflow.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/Overflow/Overflow.csproj rename to src/tests/SOS.UnitTests/Debuggees/Overflow/Overflow.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.cs b/src/tests/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.cs rename to src/tests/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.csproj b/src/tests/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.csproj rename to src/tests/SOS.UnitTests/Debuggees/ReflectionTest/ReflectionTest.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.cs b/src/tests/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.cs rename to src/tests/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.csproj b/src/tests/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.csproj rename to src/tests/SOS.UnitTests/Debuggees/SimpleThrow/SimpleThrow.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/SimpleThrow/UserObject.cs b/src/tests/SOS.UnitTests/Debuggees/SimpleThrow/UserObject.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SimpleThrow/UserObject.cs rename to src/tests/SOS.UnitTests/Debuggees/SimpleThrow/UserObject.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp.slnx b/src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp.slnx similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp.slnx rename to src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp.slnx diff --git a/src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.cs b/src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.cs rename to src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.csproj b/src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.csproj rename to src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestApp/SymbolTestApp.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/SymbolTestDll.csproj b/src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/SymbolTestDll.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/SymbolTestDll.csproj rename to src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/SymbolTestDll.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/TestClass.cs b/src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/TestClass.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/TestClass.cs rename to src/tests/SOS.UnitTests/Debuggees/SymbolTestApp/SymbolTestDll/TestClass.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserLibrary.csproj b/src/tests/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserLibrary.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserLibrary.csproj rename to src/tests/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserLibrary.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserTask.cs b/src/tests/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserTask.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserTask.cs rename to src/tests/SOS.UnitTests/Debuggees/TaskNestedException/RandomUserLibrary/RandomUserTask.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException.slnx b/src/tests/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException.slnx similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException.slnx rename to src/tests/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException.slnx diff --git a/src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.cs b/src/tests/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.cs rename to src/tests/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.csproj b/src/tests/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.csproj rename to src/tests/SOS.UnitTests/Debuggees/TaskNestedException/TaskNestedException/TaskNestedException.csproj diff --git a/src/SOS/lldbplugin.tests/TestDebuggee/Test.cs b/src/tests/SOS.UnitTests/Debuggees/TestDebuggee/Test.cs similarity index 100% rename from src/SOS/lldbplugin.tests/TestDebuggee/Test.cs rename to src/tests/SOS.UnitTests/Debuggees/TestDebuggee/Test.cs diff --git a/src/SOS/lldbplugin.tests/TestDebuggee/TestDebuggee.csproj b/src/tests/SOS.UnitTests/Debuggees/TestDebuggee/TestDebuggee.csproj similarity index 100% rename from src/SOS/lldbplugin.tests/TestDebuggee/TestDebuggee.csproj rename to src/tests/SOS.UnitTests/Debuggees/TestDebuggee/TestDebuggee.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/Program.cs b/src/tests/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/VarargPInvokeInteropMD.csproj b/src/tests/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/VarargPInvokeInteropMD.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/VarargPInvokeInteropMD.csproj rename to src/tests/SOS.UnitTests/Debuggees/VarargPInvokeInteropMD/VarargPInvokeInteropMD.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/WebApp3/Program.cs b/src/tests/SOS.UnitTests/Debuggees/WebApp3/Program.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/WebApp3/Program.cs rename to src/tests/SOS.UnitTests/Debuggees/WebApp3/Program.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/WebApp3/Properties/launchSettings.json b/src/tests/SOS.UnitTests/Debuggees/WebApp3/Properties/launchSettings.json similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/WebApp3/Properties/launchSettings.json rename to src/tests/SOS.UnitTests/Debuggees/WebApp3/Properties/launchSettings.json diff --git a/src/SOS/SOS.UnitTests/Debuggees/WebApp3/Startup.cs b/src/tests/SOS.UnitTests/Debuggees/WebApp3/Startup.cs similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/WebApp3/Startup.cs rename to src/tests/SOS.UnitTests/Debuggees/WebApp3/Startup.cs diff --git a/src/SOS/SOS.UnitTests/Debuggees/WebApp3/WebApp3.csproj b/src/tests/SOS.UnitTests/Debuggees/WebApp3/WebApp3.csproj similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/WebApp3/WebApp3.csproj rename to src/tests/SOS.UnitTests/Debuggees/WebApp3/WebApp3.csproj diff --git a/src/SOS/SOS.UnitTests/Debuggees/WebApp3/appsettings.Development.json b/src/tests/SOS.UnitTests/Debuggees/WebApp3/appsettings.Development.json similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/WebApp3/appsettings.Development.json rename to src/tests/SOS.UnitTests/Debuggees/WebApp3/appsettings.Development.json diff --git a/src/SOS/SOS.UnitTests/Debuggees/WebApp3/appsettings.json b/src/tests/SOS.UnitTests/Debuggees/WebApp3/appsettings.json similarity index 100% rename from src/SOS/SOS.UnitTests/Debuggees/WebApp3/appsettings.json rename to src/tests/SOS.UnitTests/Debuggees/WebApp3/appsettings.json diff --git a/src/SOS/SOS.UnitTests/DumpGenerationFixture.cs b/src/tests/SOS.UnitTests/DumpGenerationFixture.cs similarity index 100% rename from src/SOS/SOS.UnitTests/DumpGenerationFixture.cs rename to src/tests/SOS.UnitTests/DumpGenerationFixture.cs diff --git a/src/SOS/SOS.UnitTests/SOS.UnitTests.csproj b/src/tests/SOS.UnitTests/SOS.UnitTests.csproj similarity index 85% rename from src/SOS/SOS.UnitTests/SOS.UnitTests.csproj rename to src/tests/SOS.UnitTests/SOS.UnitTests.csproj index c0ab49ec2d..bea650de36 100644 --- a/src/SOS/SOS.UnitTests/SOS.UnitTests.csproj +++ b/src/tests/SOS.UnitTests/SOS.UnitTests.csproj @@ -4,7 +4,9 @@ false ;1591;1701 $(DefineConstants);CORE_CLR + true true + true $(OutputPath)$(TargetFramework)\Debugger.Tests.Common.txt @@ -26,16 +28,13 @@ + - - - - - - + + diff --git a/src/SOS/SOS.UnitTests/SOS.cs b/src/tests/SOS.UnitTests/SOS.cs similarity index 99% rename from src/SOS/SOS.UnitTests/SOS.cs rename to src/tests/SOS.UnitTests/SOS.cs index 3a66a4046f..a4fa145545 100644 --- a/src/SOS/SOS.UnitTests/SOS.cs +++ b/src/tests/SOS.UnitTests/SOS.cs @@ -680,7 +680,7 @@ public async Task LLDBPluginTests(TestConfiguration config) string repoRootDir = TestConfiguration.MakeCanonicalPath(config.AllSettings["RepoRootDir"]); // Get test python script path - string scriptDir = Path.Combine(repoRootDir, "src", "SOS", "lldbplugin.tests"); + string scriptDir = Path.Combine(repoRootDir, "src", "tests", "lldbplugin.tests"); arguments.Append(Path.Combine(scriptDir, "test_libsosplugin.py")); arguments.Append(' '); diff --git a/src/SOS/SOS.UnitTests/SOSRunner.cs b/src/tests/SOS.UnitTests/SOSRunner.cs similarity index 100% rename from src/SOS/SOS.UnitTests/SOSRunner.cs rename to src/tests/SOS.UnitTests/SOSRunner.cs diff --git a/src/SOS/SOS.UnitTests/Scripts/ClrStackWithNumberOfFrames.script b/src/tests/SOS.UnitTests/Scripts/ClrStackWithNumberOfFrames.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/ClrStackWithNumberOfFrames.script rename to src/tests/SOS.UnitTests/Scripts/ClrStackWithNumberOfFrames.script diff --git a/src/SOS/SOS.UnitTests/Scripts/ConcurrentDictionaries.script b/src/tests/SOS.UnitTests/Scripts/ConcurrentDictionaries.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/ConcurrentDictionaries.script rename to src/tests/SOS.UnitTests/Scripts/ConcurrentDictionaries.script diff --git a/src/SOS/SOS.UnitTests/Scripts/DivZero.script b/src/tests/SOS.UnitTests/Scripts/DivZero.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/DivZero.script rename to src/tests/SOS.UnitTests/Scripts/DivZero.script diff --git a/src/SOS/SOS.UnitTests/Scripts/DualRuntimes.script b/src/tests/SOS.UnitTests/Scripts/DualRuntimes.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/DualRuntimes.script rename to src/tests/SOS.UnitTests/Scripts/DualRuntimes.script diff --git a/src/SOS/SOS.UnitTests/Scripts/DumpGCData.script b/src/tests/SOS.UnitTests/Scripts/DumpGCData.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/DumpGCData.script rename to src/tests/SOS.UnitTests/Scripts/DumpGCData.script diff --git a/src/SOS/SOS.UnitTests/Scripts/DumpGen.script b/src/tests/SOS.UnitTests/Scripts/DumpGen.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/DumpGen.script rename to src/tests/SOS.UnitTests/Scripts/DumpGen.script diff --git a/src/SOS/SOS.UnitTests/Scripts/DynamicMethod.script b/src/tests/SOS.UnitTests/Scripts/DynamicMethod.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/DynamicMethod.script rename to src/tests/SOS.UnitTests/Scripts/DynamicMethod.script diff --git a/src/SOS/SOS.UnitTests/Scripts/FindRootsOlderGeneration.script b/src/tests/SOS.UnitTests/Scripts/FindRootsOlderGeneration.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/FindRootsOlderGeneration.script rename to src/tests/SOS.UnitTests/Scripts/FindRootsOlderGeneration.script diff --git a/src/SOS/SOS.UnitTests/Scripts/GCPOH.script b/src/tests/SOS.UnitTests/Scripts/GCPOH.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/GCPOH.script rename to src/tests/SOS.UnitTests/Scripts/GCPOH.script diff --git a/src/SOS/SOS.UnitTests/Scripts/GCTests.script b/src/tests/SOS.UnitTests/Scripts/GCTests.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/GCTests.script rename to src/tests/SOS.UnitTests/Scripts/GCTests.script diff --git a/src/SOS/SOS.UnitTests/Scripts/LineNums.script b/src/tests/SOS.UnitTests/Scripts/LineNums.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/LineNums.script rename to src/tests/SOS.UnitTests/Scripts/LineNums.script diff --git a/src/SOS/SOS.UnitTests/Scripts/NestedExceptionTest.script b/src/tests/SOS.UnitTests/Scripts/NestedExceptionTest.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/NestedExceptionTest.script rename to src/tests/SOS.UnitTests/Scripts/NestedExceptionTest.script diff --git a/src/SOS/SOS.UnitTests/Scripts/OtherCommands.script b/src/tests/SOS.UnitTests/Scripts/OtherCommands.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/OtherCommands.script rename to src/tests/SOS.UnitTests/Scripts/OtherCommands.script diff --git a/src/SOS/SOS.UnitTests/Scripts/Overflow.script b/src/tests/SOS.UnitTests/Scripts/Overflow.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/Overflow.script rename to src/tests/SOS.UnitTests/Scripts/Overflow.script diff --git a/src/SOS/SOS.UnitTests/Scripts/Reflection.script b/src/tests/SOS.UnitTests/Scripts/Reflection.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/Reflection.script rename to src/tests/SOS.UnitTests/Scripts/Reflection.script diff --git a/src/SOS/SOS.UnitTests/Scripts/SimpleThrow.script b/src/tests/SOS.UnitTests/Scripts/SimpleThrow.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/SimpleThrow.script rename to src/tests/SOS.UnitTests/Scripts/SimpleThrow.script diff --git a/src/SOS/SOS.UnitTests/Scripts/StackAndOtherTests.script b/src/tests/SOS.UnitTests/Scripts/StackAndOtherTests.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/StackAndOtherTests.script rename to src/tests/SOS.UnitTests/Scripts/StackAndOtherTests.script diff --git a/src/SOS/SOS.UnitTests/Scripts/StackTests.script b/src/tests/SOS.UnitTests/Scripts/StackTests.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/StackTests.script rename to src/tests/SOS.UnitTests/Scripts/StackTests.script diff --git a/src/SOS/SOS.UnitTests/Scripts/StackTraceFaultingExceptionFrame.script b/src/tests/SOS.UnitTests/Scripts/StackTraceFaultingExceptionFrame.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/StackTraceFaultingExceptionFrame.script rename to src/tests/SOS.UnitTests/Scripts/StackTraceFaultingExceptionFrame.script diff --git a/src/SOS/SOS.UnitTests/Scripts/StackTraceSoftwareExceptionFrame.script b/src/tests/SOS.UnitTests/Scripts/StackTraceSoftwareExceptionFrame.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/StackTraceSoftwareExceptionFrame.script rename to src/tests/SOS.UnitTests/Scripts/StackTraceSoftwareExceptionFrame.script diff --git a/src/SOS/SOS.UnitTests/Scripts/TaskNestedException.script b/src/tests/SOS.UnitTests/Scripts/TaskNestedException.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/TaskNestedException.script rename to src/tests/SOS.UnitTests/Scripts/TaskNestedException.script diff --git a/src/SOS/SOS.UnitTests/Scripts/TestExtensions.script b/src/tests/SOS.UnitTests/Scripts/TestExtensions.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/TestExtensions.script rename to src/tests/SOS.UnitTests/Scripts/TestExtensions.script diff --git a/src/SOS/SOS.UnitTests/Scripts/VarargPInvokeInteropMD.script b/src/tests/SOS.UnitTests/Scripts/VarargPInvokeInteropMD.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/VarargPInvokeInteropMD.script rename to src/tests/SOS.UnitTests/Scripts/VarargPInvokeInteropMD.script diff --git a/src/SOS/SOS.UnitTests/Scripts/WebApp.script b/src/tests/SOS.UnitTests/Scripts/WebApp.script similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/WebApp.script rename to src/tests/SOS.UnitTests/Scripts/WebApp.script diff --git a/src/SOS/SOS.UnitTests/Scripts/lldbhelper.py b/src/tests/SOS.UnitTests/Scripts/lldbhelper.py similarity index 100% rename from src/SOS/SOS.UnitTests/Scripts/lldbhelper.py rename to src/tests/SOS.UnitTests/Scripts/lldbhelper.py diff --git a/src/tests/TestExtension/TestExtension.csproj b/src/tests/TestExtension/TestExtension.csproj index 3db8fe9c15..2bfb58c4ec 100644 --- a/src/tests/TestExtension/TestExtension.csproj +++ b/src/tests/TestExtension/TestExtension.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/tests/TestHelpers/TestHelpers.csproj b/src/tests/TestHelpers/TestHelpers.csproj index 3ad5a576f6..78c0d0a8b0 100644 --- a/src/tests/TestHelpers/TestHelpers.csproj +++ b/src/tests/TestHelpers/TestHelpers.csproj @@ -5,6 +5,6 @@ - + diff --git a/src/tests/dirs.proj b/src/tests/dirs.proj new file mode 100644 index 0000000000..bcaa2a305a --- /dev/null +++ b/src/tests/dirs.proj @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/tests/dotnet-counters/DotnetCounters.UnitTests.csproj b/src/tests/dotnet-counters/DotnetCounters.UnitTests.csproj index 70eb65bb61..4391f2fd89 100644 --- a/src/tests/dotnet-counters/DotnetCounters.UnitTests.csproj +++ b/src/tests/dotnet-counters/DotnetCounters.UnitTests.csproj @@ -5,9 +5,9 @@ - - - + + + diff --git a/src/tests/dotnet-stack/DotnetStack.UnitTests.csproj b/src/tests/dotnet-stack/DotnetStack.UnitTests.csproj index d6b536f04d..0425059030 100644 --- a/src/tests/dotnet-stack/DotnetStack.UnitTests.csproj +++ b/src/tests/dotnet-stack/DotnetStack.UnitTests.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/tests/dotnet-stack/StackTests.cs b/src/tests/dotnet-stack/StackTests.cs index c689e5a5ba..fe5d0ea5f9 100644 --- a/src/tests/dotnet-stack/StackTests.cs +++ b/src/tests/dotnet-stack/StackTests.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.CommandLine; -using System.CommandLine.IO; using System.CommandLine.Parsing; using System.Threading.Tasks; using Microsoft.Diagnostics.TestHelpers; diff --git a/src/tests/dotnet-trace/DotnetTrace.UnitTests.csproj b/src/tests/dotnet-trace/DotnetTrace.UnitTests.csproj index d1518411ff..7f2d9b0160 100644 --- a/src/tests/dotnet-trace/DotnetTrace.UnitTests.csproj +++ b/src/tests/dotnet-trace/DotnetTrace.UnitTests.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/src/tests/dotnet-trace/ProviderParsing.cs b/src/tests/dotnet-trace/ProviderParsing.cs index bab3b6fb0d..5bb621fd6d 100644 --- a/src/tests/dotnet-trace/ProviderParsing.cs +++ b/src/tests/dotnet-trace/ProviderParsing.cs @@ -76,12 +76,12 @@ public void ValidProviderKeyword_CorrectlyParses(string providerToParse) public void ValidProviderEventLevel_CorrectlyParses(string providerToParse) { List parsedProviders = Extensions.ToProviders(providerToParse); - Assert.Equal(1, parsedProviders.Count); + Assert.Single(parsedProviders); EventPipeProvider provider = parsedProviders.First(); Assert.Equal("VeryCoolProvider", provider.Name); Assert.Equal(0, provider.Keywords); Assert.Equal(System.Diagnostics.Tracing.EventLevel.Informational, provider.EventLevel); - Assert.Equal(1, provider.Arguments.Count); + Assert.Single(provider.Arguments); Assert.Equal("QuotedValue", provider.Arguments["FilterAndPayloadSpecs"]); } @@ -220,7 +220,7 @@ public void ProvidersWithComplexFilters_CorrectlyParse() providerTwo = parsedProviders[1]; Assert.Equal("MyProvider", providerOne.Name); Assert.Equal("MyProvider2", providerTwo.Name); - Assert.Equal(1, providerOne.Arguments.Count); + Assert.Single(providerOne.Arguments); Assert.Equal(3, providerTwo.Arguments.Count); Assert.Equal("B;C=D", providerOne.Arguments["A"]); Assert.Equal("spaced words", providerTwo.Arguments["A"]); @@ -313,7 +313,7 @@ public void DeDupeProviders_DefaultAndSpecified(string providersToParse) { List parsedProviders = Extensions.ToProviders(providersToParse); Assert.Equal("DupeProvider", parsedProviders.First().Name); - Assert.Equal(1, parsedProviders.Count); + Assert.Single(parsedProviders); Assert.Equal(0xF, parsedProviders.First().Keywords); Assert.Equal(System.Diagnostics.Tracing.EventLevel.LogAlways, parsedProviders.First().EventLevel); Assert.Null(parsedProviders.First().Arguments); @@ -325,7 +325,7 @@ public void DeDupeProviders_BothSpecified(string providersToParse) { List parsedProviders = Extensions.ToProviders(providersToParse); Assert.Equal("DupeProvider", parsedProviders.First().Name); - Assert.Equal(1, parsedProviders.Count); + Assert.Single(parsedProviders); Assert.Equal(0xFF, parsedProviders.First().Keywords); Assert.Equal(System.Diagnostics.Tracing.EventLevel.Verbose, parsedProviders.First().EventLevel); Assert.Null(parsedProviders.First().Arguments); diff --git a/src/tests/eventpipe/EventPipe.UnitTests.csproj b/src/tests/eventpipe/EventPipe.UnitTests.csproj index d375aac992..7e384178a0 100644 --- a/src/tests/eventpipe/EventPipe.UnitTests.csproj +++ b/src/tests/eventpipe/EventPipe.UnitTests.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/SOS/lldbplugin.tests/README.md b/src/tests/lldbplugin.tests/README.md similarity index 100% rename from src/SOS/lldbplugin.tests/README.md rename to src/tests/lldbplugin.tests/README.md diff --git a/src/SOS/lldbplugin.tests/t_cmd_bpmd_clear.py b/src/tests/lldbplugin.tests/t_cmd_bpmd_clear.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_bpmd_clear.py rename to src/tests/lldbplugin.tests/t_cmd_bpmd_clear.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_bpmd_clearall.py b/src/tests/lldbplugin.tests/t_cmd_bpmd_clearall.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_bpmd_clearall.py rename to src/tests/lldbplugin.tests/t_cmd_bpmd_clearall.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_bpmd_methoddesc.py b/src/tests/lldbplugin.tests/t_cmd_bpmd_methoddesc.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_bpmd_methoddesc.py rename to src/tests/lldbplugin.tests/t_cmd_bpmd_methoddesc.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_bpmd_module_function.py b/src/tests/lldbplugin.tests/t_cmd_bpmd_module_function.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_bpmd_module_function.py rename to src/tests/lldbplugin.tests/t_cmd_bpmd_module_function.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_bpmd_module_function_iloffset.py b/src/tests/lldbplugin.tests/t_cmd_bpmd_module_function_iloffset.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_bpmd_module_function_iloffset.py rename to src/tests/lldbplugin.tests/t_cmd_bpmd_module_function_iloffset.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_bpmd_nofuturemodule_module_function.py b/src/tests/lldbplugin.tests/t_cmd_bpmd_nofuturemodule_module_function.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_bpmd_nofuturemodule_module_function.py rename to src/tests/lldbplugin.tests/t_cmd_bpmd_nofuturemodule_module_function.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_clrstack.py b/src/tests/lldbplugin.tests/t_cmd_clrstack.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_clrstack.py rename to src/tests/lldbplugin.tests/t_cmd_clrstack.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_clrthreads.py b/src/tests/lldbplugin.tests/t_cmd_clrthreads.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_clrthreads.py rename to src/tests/lldbplugin.tests/t_cmd_clrthreads.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_clru.py b/src/tests/lldbplugin.tests/t_cmd_clru.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_clru.py rename to src/tests/lldbplugin.tests/t_cmd_clru.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dso.py b/src/tests/lldbplugin.tests/t_cmd_dso.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dso.py rename to src/tests/lldbplugin.tests/t_cmd_dso.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpclass.py b/src/tests/lldbplugin.tests/t_cmd_dumpclass.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpclass.py rename to src/tests/lldbplugin.tests/t_cmd_dumpclass.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpheap.py b/src/tests/lldbplugin.tests/t_cmd_dumpheap.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpheap.py rename to src/tests/lldbplugin.tests/t_cmd_dumpheap.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpil.py b/src/tests/lldbplugin.tests/t_cmd_dumpil.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpil.py rename to src/tests/lldbplugin.tests/t_cmd_dumpil.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumplog.py b/src/tests/lldbplugin.tests/t_cmd_dumplog.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumplog.py rename to src/tests/lldbplugin.tests/t_cmd_dumplog.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpmd.py b/src/tests/lldbplugin.tests/t_cmd_dumpmd.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpmd.py rename to src/tests/lldbplugin.tests/t_cmd_dumpmd.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpmodule.py b/src/tests/lldbplugin.tests/t_cmd_dumpmodule.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpmodule.py rename to src/tests/lldbplugin.tests/t_cmd_dumpmodule.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpmt.py b/src/tests/lldbplugin.tests/t_cmd_dumpmt.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpmt.py rename to src/tests/lldbplugin.tests/t_cmd_dumpmt.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpobj.py b/src/tests/lldbplugin.tests/t_cmd_dumpobj.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpobj.py rename to src/tests/lldbplugin.tests/t_cmd_dumpobj.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_dumpstack.py b/src/tests/lldbplugin.tests/t_cmd_dumpstack.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_dumpstack.py rename to src/tests/lldbplugin.tests/t_cmd_dumpstack.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_eeheap.py b/src/tests/lldbplugin.tests/t_cmd_eeheap.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_eeheap.py rename to src/tests/lldbplugin.tests/t_cmd_eeheap.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_eestack.py b/src/tests/lldbplugin.tests/t_cmd_eestack.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_eestack.py rename to src/tests/lldbplugin.tests/t_cmd_eestack.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_gcroot.py b/src/tests/lldbplugin.tests/t_cmd_gcroot.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_gcroot.py rename to src/tests/lldbplugin.tests/t_cmd_gcroot.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_histclear.py b/src/tests/lldbplugin.tests/t_cmd_histclear.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_histclear.py rename to src/tests/lldbplugin.tests/t_cmd_histclear.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_histinit.py b/src/tests/lldbplugin.tests/t_cmd_histinit.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_histinit.py rename to src/tests/lldbplugin.tests/t_cmd_histinit.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_histobj.py b/src/tests/lldbplugin.tests/t_cmd_histobj.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_histobj.py rename to src/tests/lldbplugin.tests/t_cmd_histobj.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_histobjfind.py b/src/tests/lldbplugin.tests/t_cmd_histobjfind.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_histobjfind.py rename to src/tests/lldbplugin.tests/t_cmd_histobjfind.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_histroot.py b/src/tests/lldbplugin.tests/t_cmd_histroot.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_histroot.py rename to src/tests/lldbplugin.tests/t_cmd_histroot.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_ip2md.py b/src/tests/lldbplugin.tests/t_cmd_ip2md.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_ip2md.py rename to src/tests/lldbplugin.tests/t_cmd_ip2md.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_name2ee.py b/src/tests/lldbplugin.tests/t_cmd_name2ee.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_name2ee.py rename to src/tests/lldbplugin.tests/t_cmd_name2ee.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_pe.py b/src/tests/lldbplugin.tests/t_cmd_pe.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_pe.py rename to src/tests/lldbplugin.tests/t_cmd_pe.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_sos.py b/src/tests/lldbplugin.tests/t_cmd_sos.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_sos.py rename to src/tests/lldbplugin.tests/t_cmd_sos.py diff --git a/src/SOS/lldbplugin.tests/t_cmd_soshelp.py b/src/tests/lldbplugin.tests/t_cmd_soshelp.py similarity index 100% rename from src/SOS/lldbplugin.tests/t_cmd_soshelp.py rename to src/tests/lldbplugin.tests/t_cmd_soshelp.py diff --git a/src/SOS/lldbplugin.tests/test_libsosplugin.py b/src/tests/lldbplugin.tests/test_libsosplugin.py similarity index 100% rename from src/SOS/lldbplugin.tests/test_libsosplugin.py rename to src/tests/lldbplugin.tests/test_libsosplugin.py diff --git a/src/SOS/lldbplugin.tests/testsos.sh b/src/tests/lldbplugin.tests/testsos.sh old mode 100755 new mode 100644 similarity index 77% rename from src/SOS/lldbplugin.tests/testsos.sh rename to src/tests/lldbplugin.tests/testsos.sh index 38fd76b690..ed968e85b4 --- a/src/SOS/lldbplugin.tests/testsos.sh +++ b/src/tests/lldbplugin.tests/testsos.sh @@ -26,6 +26,6 @@ fi log_dir=$results_dir/lldbplugin.tests_$(date +%Y_%m_%d_%H_%M_%S) mkdir -p $log_dir -cd $project_root/src/SOS/lldbplugin.tests/ +cd $project_root/src/tests/lldbplugin.tests/ rm -f StressLog.txt -python $project_root/src/SOS/lldbplugin.tests/test_libsosplugin.py --lldb $LLDB_PATH --host "$host" --plugin $plugin --logfiledir $log_dir --assembly $test_program +python $project_root/src/tests/lldbplugin.tests/test_libsosplugin.py --lldb $LLDB_PATH --host "$host" --plugin $plugin --logfiledir $log_dir --assembly $test_program diff --git a/src/SOS/lldbplugin.tests/testutils.py b/src/tests/lldbplugin.tests/testutils.py similarity index 100% rename from src/SOS/lldbplugin.tests/testutils.py rename to src/tests/lldbplugin.tests/testutils.py diff --git a/src/SOS/runcommand/CMakeLists.txt b/src/tests/runcommand/CMakeLists.txt similarity index 96% rename from src/SOS/runcommand/CMakeLists.txt rename to src/tests/runcommand/CMakeLists.txt index c9b492de8a..a52c56da3f 100644 --- a/src/SOS/runcommand/CMakeLists.txt +++ b/src/tests/runcommand/CMakeLists.txt @@ -2,7 +2,6 @@ project(runcommand) set(CMAKE_INCLUDE_CURRENT_DIR ON) -include_directories(inc) include_directories("$ENV{VSInstallDir}/DIA SDK/include") add_definitions(-DUSE_STL) diff --git a/src/SOS/runcommand/runcommand.cpp b/src/tests/runcommand/runcommand.cpp similarity index 100% rename from src/SOS/runcommand/runcommand.cpp rename to src/tests/runcommand/runcommand.cpp diff --git a/start-vs.cmd b/start-vs.cmd index cd08940d0e..18a47a828c 100644 --- a/start-vs.cmd +++ b/start-vs.cmd @@ -3,11 +3,6 @@ setlocal enabledelayedexpansion set "SDK_LOC=%~dp0.dotnet" -if "%1" == "" ( - set "SLN_OR_PROJ=%~dp0diagnostics.slnx" -) else ( - set "SLN_OR_PROJ=%1" -) set "DOTNET_ROOT=%SDK_LOC%" set "DOTNET_ROOT(x86)=%SDK_LOC%\x86" @@ -22,6 +17,28 @@ IF NOT EXIST "%DOTNET_ROOT%\dotnet.exe" ( exit /b 1 ) +if "%1" == "" ( + set "SLN_OR_PROJ=%~dp0dirs.slnx" + set "_USE_DEFAULT=1" +) else ( + set "SLN_OR_PROJ=%~1" +) + +:: If using default and file missing, generate it +if defined _USE_DEFAULT if not exist "%SLN_OR_PROJ%" ( + echo [INFO] dirs.slnx not found. Generating via generate-slnx.ps1... + powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -File "%~dp0generate-slnx.ps1" + if errorlevel 1 ( + echo [ERROR] Failed to generate dirs.slnx + exit /b 1 + ) + if not exist "%SLN_OR_PROJ%" ( + echo [ERROR] dirs.slnx still not found after generation attempt. + exit /b 1 + ) + echo [INFO] Successfully generated dirs.slnx +) + set "DEVENV=%DevEnvDir%devenv.exe" if exist "%DEVENV%" (