Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: xunit/visualstudio.xunit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.8.2
Choose a base ref
...
head repository: xunit/visualstudio.xunit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3.0.0
Choose a head ref

Commits on Jun 14, 2024

  1. Move main branch to 3.x

    bradwilson committed Jun 14, 2024
    Copy the full SHA
    b60599b View commit details
  2. Copy the full SHA
    e546e93 View commit details
  3. Copy the full SHA
    dd2dc8b View commit details
  4. Fix binary signing path

    bradwilson committed Jun 14, 2024
    Copy the full SHA
    9e77137 View commit details
  5. Copy the full SHA
    54b82e8 View commit details
  6. Copy the full SHA
    bd373ba View commit details
  7. Copy the full SHA
    47f5685 View commit details

Commits on Jun 15, 2024

  1. Copy the full SHA
    882681e View commit details
  2. Copy the full SHA
    545df75 View commit details

Commits on Jul 6, 2024

  1. Update for v3 0.2.0

    bradwilson committed Jul 6, 2024
    Copy the full SHA
    f72794a View commit details
  2. Copy the full SHA
    9e3af28 View commit details

Commits on Jul 13, 2024

  1. Copy the full SHA
    3ad2641 View commit details

Commits on Jul 17, 2024

  1. Copy the full SHA
    c27ccda View commit details
  2. Add debugging messages around execution to see if we can figure out w…

    …here the duplicate IDs are coming from
    bradwilson committed Jul 17, 2024
    Copy the full SHA
    804749b View commit details
  3. Copy the full SHA
    9942a1e View commit details
  4. Copy the full SHA
    59b2a63 View commit details
  5. Copy the full SHA
    0978d60 View commit details

Commits on Jul 24, 2024

  1. Copy the full SHA
    2b3d2ce View commit details

Commits on Jul 26, 2024

  1. Latest dependencies

    bradwilson committed Jul 26, 2024
    Copy the full SHA
    0ea6e6c View commit details

Commits on Jul 30, 2024

  1. Copy the full SHA
    b1898d4 View commit details

Commits on Jul 31, 2024

  1. Copy the full SHA
    d4c2721 View commit details

Commits on Aug 5, 2024

  1. WIP to build on Linux

    bradwilson committed Aug 5, 2024
    Copy the full SHA
    a3e453d View commit details

Commits on Aug 6, 2024

  1. Copy the full SHA
    7780e56 View commit details
  2. Copy the full SHA
    5f40a92 View commit details
  3. Fix build on macOS

    bradwilson committed Aug 6, 2024
    Copy the full SHA
    6c726eb View commit details

Commits on Aug 11, 2024

  1. Copy the full SHA
    feef548 View commit details

Commits on Aug 13, 2024

  1. Copy the full SHA
    53b7bdb View commit details
  2. Copy the full SHA
    1d50be3 View commit details
  3. Copy the full SHA
    41e8dc0 View commit details

Commits on Aug 30, 2024

  1. Latest dependencies

    bradwilson committed Aug 30, 2024
    Copy the full SHA
    879b81d View commit details

Commits on Sep 4, 2024

  1. 3
    Copy the full SHA
    124b22a View commit details

Commits on Sep 13, 2024

  1. Latest dependencies

    bradwilson committed Sep 13, 2024
    Copy the full SHA
    21f8f54 View commit details
  2. Copy the full SHA
    a5a6808 View commit details
  3. Copy the full SHA
    d72ef51 View commit details

Commits on Sep 22, 2024

  1. Latest dependencies

    bradwilson committed Sep 22, 2024
    Copy the full SHA
    dd033e7 View commit details

Commits on Sep 24, 2024

  1. Copy the full SHA
    e828f60 View commit details

Commits on Sep 25, 2024

  1. Attempt to fix as much of xunit/xunit#3023 as possible (generics acro…

    …ss projects remain broken for source lookup)
    bradwilson committed Sep 25, 2024
    Copy the full SHA
    dd3ab46 View commit details

Commits on Oct 2, 2024

  1. xunit/xunit#3023 and microsoft/testfx#3863: Fix issue with test metho…

    …ds with generic parameter types
    bradwilson committed Oct 2, 2024
    Copy the full SHA
    02233e7 View commit details

Commits on Oct 16, 2024

  1. Copy the full SHA
    fcc25f1 View commit details
  2. Copy the full SHA
    522c078 View commit details
  3. Add RunSettings: Explicit

    bradwilson committed Oct 16, 2024
    Copy the full SHA
    15da70f View commit details

Commits on Oct 17, 2024

  1. Latest dependencies

    bradwilson committed Oct 17, 2024
    Copy the full SHA
    8174918 View commit details

Commits on Oct 21, 2024

  1. Update README

    bradwilson committed Oct 21, 2024
    Copy the full SHA
    8574a68 View commit details

Commits on Oct 28, 2024

  1. Updated README

    bradwilson committed Oct 28, 2024
    Copy the full SHA
    37a9de9 View commit details

Commits on Oct 30, 2024

  1. Latest dependencies

    bradwilson committed Oct 30, 2024
    Copy the full SHA
    68deb29 View commit details
  2. Copy the full SHA
    e2d5be2 View commit details
  3. Copy the full SHA
    3d3b241 View commit details
  4. Copy the full SHA
    d5676ac View commit details

Commits on Nov 4, 2024

  1. Latest dependencies

    bradwilson committed Nov 4, 2024
    Copy the full SHA
    a7f5dc0 View commit details

Commits on Nov 13, 2024

  1. Copy the full SHA
    62ae086 View commit details
Showing with 1,624 additions and 16,461 deletions.
  1. +3 −1 .editorconfig
  2. +0 −4 .github/workflows/pull-request.yaml
  3. +1 −6 .github/workflows/push-main.yaml
  4. +5 −5 BUILDING.md
  5. +0 −37 Directory.build.props
  6. +6 −6 README.md
  7. +9 −6 Versions.props
  8. +46 −0 build
  9. 0 .github/workflows/.global.json → global.json
  10. +120 −0 src/Directory.Build.props
  11. +2 −2 src/xunit.runner.visualstudio/Constants.cs
  12. +19 −1 src/xunit.runner.visualstudio/Properties/AssemblyInfo.cs
  13. +10 −22 src/xunit.runner.visualstudio/Sinks/DiagnosticMessageSink.cs
  14. +2 −1 src/xunit.runner.visualstudio/Sinks/IVsDiscoverySink.cs
  15. +64 −90 src/xunit.runner.visualstudio/Sinks/VsDiscoverySink.cs
  16. +3 −5 src/xunit.runner.visualstudio/Sinks/VsExecutionDiscoverySink.cs
  17. +358 −133 src/xunit.runner.visualstudio/Sinks/VsExecutionSink.cs
  18. +2 −7 src/xunit.runner.visualstudio/TestPlatformContext.cs
  19. +0 −73 src/xunit.runner.visualstudio/Utility/AppDomainManager.cs
  20. +0 −119 src/xunit.runner.visualstudio/Utility/AssemblyResolution/AssemblyHelper_Desktop.cs
  21. +0 −119 src/xunit.runner.visualstudio/Utility/AssemblyResolution/AssemblyHelper_NetCoreApp.cs
  22. +0 −293 src/xunit.runner.visualstudio/Utility/AssemblyResolution/DependencyContextAssemblyCache.cs
  23. +0 −31 ...studio/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/ApplicationEnvironment.cs
  24. +0 −64 ...visualstudio/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/HashCodeCombiner.cs
  25. +0 −61 ...o/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/Native/NativeMethods.Darwin.cs
  26. +0 −41 ...dio/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/Native/NativeMethods.Unix.cs
  27. +0 −49 .../Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/Native/NativeMethods.Windows.cs
  28. +0 −199 ...ualstudio/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/Native/PlatformApis.cs
  29. +0 −19 ....runner.visualstudio/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/Platform.cs
  30. +0 −115 ...sualstudio/Utility/AssemblyResolution/Microsoft.DotNet.PlatformAbstractions/RuntimeEnvironment.cs
  31. +0 −46 ...ualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/CollectionExtensions.cs
  32. +0 −91 ...isualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/CompilationLibrary.cs
  33. +0 −87 ...isualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/CompilationOptions.cs
  34. +0 −53 ...runner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/Dependency.cs
  35. +0 −112 ...visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DependencyContext.cs
  36. +0 −161 ...io/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DependencyContextExtensions.cs
  37. +0 −530 ...io/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DependencyContextJsonReader.cs
  38. +0 −134 ...studio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DependencyContextLoader.cs
  39. +0 −65 ...lstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DependencyContextPaths.cs
  40. +0 −92 ...tudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DependencyContextStrings.cs
  41. +0 −21 ....visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/DirectoryWrapper.cs
  42. +0 −23 ...isualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/EnvironmentWrapper.cs
  43. +0 −20 ...visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/FileSystemWrapper.cs
  44. +0 −55 ...unner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/FileWrapper.cs
  45. +0 −16 ...tudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/IDependencyContextReader.cs
  46. +0 −16 ...runner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/IDirectory.cs
  47. +0 −16 ...nner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/IEnvironment.cs
  48. +0 −32 ...unit.runner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/IFile.cs
  49. +0 −17 ...unner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/IFileSystem.cs
  50. +0 −869 ...xunit.runner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/Json.cs
  51. +0 −94 ...it.runner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/Library.cs
  52. +0 −121 ...yResolution/Microsoft.Extensions.DependencyModel/Resolution/AppBaseCompilationAssemblyResolver.cs
  53. +0 −35 ...esolution/Microsoft.Extensions.DependencyModel/Resolution/CompositeCompilationAssemblyResolver.cs
  54. +0 −62 ...solution/Microsoft.Extensions.DependencyModel/Resolution/DotNetReferenceAssembliesPathResolver.cs
  55. +0 −18 ...ssemblyResolution/Microsoft.Extensions.DependencyModel/Resolution/ICompilationAssemblyResolver.cs
  56. +0 −136 ...yResolution/Microsoft.Extensions.DependencyModel/Resolution/PackageCompilationAssemblyResolver.cs
  57. +0 −146 ...semblyResolution/Microsoft.Extensions.DependencyModel/Resolution/ReferenceAssemblyPathResolver.cs
  58. +0 −43 ...tudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/Resolution/ResolverUtils.cs
  59. +0 −35 ....visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/ResourceAssembly.cs
  60. +0 −53 ...r.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/RuntimeAssembly.cs
  61. +0 −35 ...visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/RuntimeAssetGroup.cs
  62. +0 −36 ....visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/RuntimeFallbacks.cs
  63. +0 −112 ...er.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/RuntimeLibrary.cs
  64. +0 −40 ...runner.visualstudio/Utility/AssemblyResolution/Microsoft.Extensions.DependencyModel/TargetInfo.cs
  65. +0 −112 src/xunit.runner.visualstudio/Utility/AssemblyResolution/XunitPackageCompilationAssemblyResolver.cs
  66. +0 −39 src/xunit.runner.visualstudio/Utility/AssemblyResolution/_DiagnosticMessage.cs
  67. +33 −3 src/xunit.runner.visualstudio/Utility/AssemblyRunInfo.cs
  68. +0 −16 src/xunit.runner.visualstudio/Utility/CallerArgumentExpressionAttribute.cs
  69. +0 −109 src/xunit.runner.visualstudio/Utility/ConsoleHelper.cs
  70. +41 −0 src/xunit.runner.visualstudio/Utility/DebuggerProcessLauncher.cs
  71. +0 −81 src/xunit.runner.visualstudio/Utility/DiaSessionWrapper.cs
  72. +0 −114 src/xunit.runner.visualstudio/Utility/DiaSessionWrapperHelper.cs
  73. +16 −3 src/xunit.runner.visualstudio/Utility/DictionaryExtensions.cs
  74. +0 −20 src/xunit.runner.visualstudio/Utility/EnumerableExtensions.cs
  75. +0 −87 src/xunit.runner.visualstudio/Utility/Guard.cs
  76. +50 −75 src/xunit.runner.visualstudio/Utility/LoggerHelper.cs
  77. +64 −33 src/xunit.runner.visualstudio/Utility/RunSettings.cs
  78. +10 −20 src/xunit.runner.visualstudio/Utility/TestCaseFilter.cs
  79. +7 −7 src/xunit.runner.visualstudio/Utility/VisualStudioRunnerLogger.cs
  80. +0 −48 src/xunit.runner.visualstudio/Utility/VisualStudioSourceInformationProvider.cs
  81. +365 −388 src/xunit.runner.visualstudio/VsTestRunner.cs
  82. +0 −26 src/xunit.runner.visualstudio/build/xunit.runner.visualstudio.desktop.props
  83. +4 −9 ...visualstudio/build/{xunit.runner.visualstudio.dotnetcore.props → xunit.runner.visualstudio.props}
  84. +5 −53 src/xunit.runner.visualstudio/xunit.runner.visualstudio.csproj
  85. +38 −42 src/xunit.runner.visualstudio/xunit.runner.visualstudio.nuspec
  86. +8 −0 test/Directory.Build.props
  87. +0 −10,007 test/test.harness/PerfTests.cs
  88. +0 −48 test/test.harness/PerfTests.tt
  89. +0 −10 test/test.harness/Properties/launchSettings.json
  90. +0 −5 test/test.harness/Settings.runsettings
  91. +0 −36 test/test.harness/Tests.cs
  92. +0 −5 test/test.harness/readme.txt
  93. +0 −29 test/test.harness/test.harness.csproj
  94. +0 −7 test/test.harness/xunit.runner.json
  95. +0 −6 test/test.testcasefilter/App.config
  96. +0 −21 test/test.testcasefilter/Tests.cs
  97. +0 −4 test/test.testcasefilter/readme.txt
  98. +19 −0 test/test.v1/Tests.cs
  99. +17 −0 test/test.v1/test.v1.csproj
  100. +15 −0 test/test.v2/Tests.cs
  101. +4 −4 test/{test.testcasefilter/test.testcasefilter.csproj → test.v2/test.v2.csproj}
  102. +15 −0 test/test.v3/Tests.cs
  103. +17 −0 test/test.v3/test.v3.csproj
  104. +4 −6 test/test.xunit.runner.visualstudio/RunSettingsTests.cs
  105. +8 −7 test/test.xunit.runner.visualstudio/RunnerReporterTests.cs
  106. +96 −0 test/test.xunit.runner.visualstudio/Sinks/VsDiscoverySinkTests.cs
  107. +6 −6 test/test.xunit.runner.visualstudio/TestCaseFilterTests.cs
  108. +14 −0 test/test.xunit.runner.visualstudio/Utility/SpyLoggerHelper.cs
  109. +13 −0 test/test.xunit.runner.visualstudio/Utility/SpyMessageLogger.cs
  110. +53 −0 test/test.xunit.runner.visualstudio/Utility/TestData.cs
  111. +0 −1 test/test.xunit.runner.visualstudio/VsTestRunnerTests.cs
  112. +7 −8 test/test.xunit.runner.visualstudio/test.xunit.runner.visualstudio.csproj
  113. +1 −1 tools/builder/common
  114. +1 −6 tools/builder/models/BuildContext.cs
  115. +7 −1 tools/builder/targets/Packages.cs
  116. +2 −2 tools/builder/targets/SignAssemblies.cs
  117. +2 −2 tools/builder/targets/TestCore.cs
  118. +2 −2 tools/builder/targets/TestFx.cs
  119. +2 −2 version.json
  120. +28 −19 visualstudio.xunit.sln
4 changes: 3 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -222,5 +222,7 @@ dotnet_naming_style.begins_with_i.capitalization = pascal_case

#### Roslyn diagnostics ####

dotnet_diagnostic.CA1851.severity = warning
dotnet_diagnostic.CA1845.severity = none # Use span-based 'string.Concat'
dotnet_diagnostic.CA1851.severity = warning
dotnet_diagnostic.IDE0057.severity = none
dotnet_diagnostic.IDE1006.severity = none
4 changes: 0 additions & 4 deletions .github/workflows/pull-request.yaml
Original file line number Diff line number Diff line change
@@ -19,10 +19,6 @@ jobs:
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2

- name: Replace global.json
run: cp .github/workflows/.global.json global.json
shell: bash

- name: Install .NET SDK
uses: actions/setup-dotnet@v4
with:
7 changes: 1 addition & 6 deletions .github/workflows/push-main.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
name: CI Build
name: "CI Build (main)"
on:
push:
branches:
- main
- 'rel/**'
workflow_dispatch:

jobs:
@@ -22,10 +21,6 @@ jobs:
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2

- name: Replace global.json
run: cp .github/workflows/.global.json global.json
shell: bash

- name: Install .NET SDK
uses: actions/setup-dotnet@v4
with:
10 changes: 5 additions & 5 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -7,8 +7,8 @@ as the only supported IDE environment (others like Resharper should work, though

You will need the following software installed:

* .NET Framework 4.6.2 or later (part of the Windows OS)
* [.NET SDK 7.0](https://dotnet.microsoft.com/download/dotnet/7.0)
* .NET Framework 4.7.2 or later (part of the Windows OS)
* [.NET SDK 8.0](https://dotnet.microsoft.com/download/dotnet/8.0)
* [.NET 6.0 Runtime](https://dotnet.microsoft.com/download/dotnet/6.0)
* [git](https://git-scm.com/downloads)
* PowerShell (or [PowerShell Core](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-6))
@@ -43,17 +43,17 @@ Ensure that you have configured PowerShell to be able to run local unsigned scri

## Debugging

Debugging the VS Adapter is tricky. There are two ways to do it depending on whether you want to do it under `net462` or `net6.0`. In all cases, you'll currently need to build your own test adapter NuGet package using `./build.ps1 Build` first to ensure you have local symbols. The symbols are not in the public package. It's helpful to add it to a local `\packages` directory and then use an entry like `<add key="Local Packages" value=".\packages" />` in your `NuGet.config` file to point to it. Don't forget to eventually delete it from your global profile `.nuget\packages\xunit...` when you're done.
Debugging the VS Adapter is tricky. There are two ways to do it depending on whether you want to do it under `net472` or `net6.0`. In all cases, you'll currently need to build your own test adapter NuGet package using `./build.ps1 Build` first to ensure you have local symbols. The symbols are not in the public package. It's helpful to add it to a local `\packages` directory and then use an entry like `<add key="Local Packages" value=".\packages" />` in your `NuGet.config` file to point to it. Don't forget to eventually delete it from your global profile `.nuget\packages\xunit...` when you're done.

### `net462`
### `net472`
Easiest thing to do is add a `launchSettings.json` file that adds the `vstest.console.exe` as a startup project and point it to an xunit dll. Something like the following (use `/listtests` if you just want to debug the discovery portion):

```json
{
"profiles": {
"vstest console": {
"executablePath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow\\vstest.console.exe",
"commandLineArgs": ".\\bin\\Debug\\net462\\Tests.System.Reactive.dll /TestAdapterPath:.\\bin\\Debug\\net462 /listtests",
"commandLineArgs": ".\\bin\\Debug\\net472\\Tests.System.Reactive.dll /TestAdapterPath:.\\bin\\Debug\\net472 /listtests",
"workingDirectory": "C:\\dev\\RxNET\\Rx.NET\\Source\\Tests.System.Reactive\\"
}
}
37 changes: 0 additions & 37 deletions Directory.build.props

This file was deleted.

12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -8,12 +8,12 @@ This project contains the Visual Studio runner for xUnit.net. It supports the bu

## Latest Builds

| &nbsp; | Stable | Latest CI | Build status |
| ------ | ------ | --------- | ------------ |
| v2 core framework | [![](https://img.shields.io/nuget/v/xunit.svg?logo=nuget)](https://www.nuget.org/packages/xunit) | [![](https://img.shields.io/badge/endpoint.svg?url=https%3A%2F%2Ff.feedz.io%2Fxunit%2Fxunit%2Fshield%2Fxunit%2Flatest)](https://feedz.io/org/xunit/repository/xunit/packages/xunit) | [![](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fxunit%2Fxunit%2Fbadge%3Fref%3Dv2&amp;label=build)](https://github.com/xunit/xunit/actions/workflows/push-v2.yaml) |
| v3 core framework ([alpha docs](https://xunit.net/docs/v3-alpha)) | N/A | [![](https://img.shields.io/badge/endpoint.svg?url=https%3A%2F%2Ff.feedz.io%2Fxunit%2Fxunit%2Fshield%2Fxunit.v3%2Flatest)](https://feedz.io/org/xunit/repository/xunit/packages/xunit.v3) | [![](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fxunit%2Fxunit%2Fbadge%3Fref%3Dmain&amp;label=build)](https://github.com/xunit/xunit/actions/workflows/push-main.yaml) |
| xunit.analyzers | [![](https://img.shields.io/nuget/v/xunit.analyzers.svg?logo=nuget)](https://www.nuget.org/packages/xunit.analyzers) | [![](https://img.shields.io/badge/endpoint.svg?url=https%3A%2F%2Ff.feedz.io%2Fxunit%2Fxunit%2Fshield%2Fxunit.analyzers%2Flatest)](https://feedz.io/org/xunit/repository/xunit/packages/xunit.analyzers) | [![](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fxunit%2Fxunit.analyzers%2Fbadge%3Fref%3Dmain&amp;label=build)](https://github.com/xunit/xunit.analyzers/actions/workflows/push-main.yaml) |
| xunit.runner.visualstudio | [![](https://img.shields.io/nuget/v/xunit.runner.visualstudio.svg?logo=nuget)](https://www.nuget.org/packages/xunit.analyzers) | [![](https://img.shields.io/badge/endpoint.svg?url=https%3A%2F%2Ff.feedz.io%2Fxunit%2Fxunit%2Fshield%2Fxunit.runner.visualstudio%2Flatest)](https://feedz.io/org/xunit/repository/xunit/packages/xunit.runner.visualstudio) | [![](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fxunit%2Fvisualstudio.xunit%2Fbadge%3Fref%3Dmain&amp;label=build)](https://github.com/xunit/visualstudio.xunit/actions/workflows/push-main.yaml) |
| | Stable | Latest CI ([how to use](/docs/using-ci-builds)) | Build status
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------
| v3 core framework | [![](https://img.shields.io/nuget/v/xunit.v3.svg?logo=nuget)](https://www.nuget.org/packages/xunit.v3) | [![](https://img.shields.io/badge/endpoint.svg?url=https://f.feedz.io/xunit/xunit/shield/xunit.v3/latest&color=f58142)](https://feedz.io/org/xunit/repository/xunit/packages/xunit.v3) | [![](https://img.shields.io/endpoint.svg?url=https://actions-badge.atrox.dev/xunit/xunit/badge%3Fref%3Dmain&amp;label=build)](https://actions-badge.atrox.dev/xunit/xunit/goto?ref=main)
| v2 core framework | [![](https://img.shields.io/nuget/v/xunit.svg?logo=nuget)](https://www.nuget.org/packages/xunit) | [![](https://img.shields.io/badge/endpoint.svg?url=https://f.feedz.io/xunit/xunit/shield/xunit/latest&color=f58142)](https://feedz.io/org/xunit/repository/xunit/packages/xunit) | [![](https://img.shields.io/endpoint.svg?url=https://actions-badge.atrox.dev/xunit/xunit/badge%3Fref%3Dv2&amp;label=build)](https://actions-badge.atrox.dev/xunit/xunit/goto?ref=v2)
| xunit.analyzers | [![](https://img.shields.io/nuget/v/xunit.analyzers.svg?logo=nuget)](https://www.nuget.org/packages/xunit.analyzers) | [![](https://img.shields.io/badge/endpoint.svg?url=https://f.feedz.io/xunit/xunit/shield/xunit.analyzers/latest&color=f58142)](https://feedz.io/org/xunit/repository/xunit/packages/xunit.analyzers) | [![](https://img.shields.io/endpoint.svg?url=https://actions-badge.atrox.dev/xunit/xunit.analyzers/badge%3Fref%3Dmain&amp;label=build)](https://actions-badge.atrox.dev/xunit/xunit.analyzers/goto?ref=main)
| xunit.runner.visualstudio | [![](https://img.shields.io/nuget/v/xunit.runner.visualstudio.svg?logo=nuget)](https://www.nuget.org/packages/xunit.runner.visualstudio) | [![](https://img.shields.io/badge/endpoint.svg?url=https://f.feedz.io/xunit/xunit/shield/xunit.runner.visualstudio/latest&color=f58142)](https://feedz.io/org/xunit/repository/xunit/packages/xunit.runner.visualstudio) | [![](https://img.shields.io/endpoint.svg?url=https://actions-badge.atrox.dev/xunit/visualstudio.xunit/badge%3Fref%3Dmain&amp;label=build)](https://actions-badge.atrox.dev/xunit/visualstudio.xunit/goto?ref=main)

*For complete CI package lists, please visit the [feedz.io package search](https://feedz.io/org/xunit/repository/xunit/search). A free login is required.*

15 changes: 9 additions & 6 deletions Versions.props
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
<Project>

<PropertyGroup>
<MicrosoftNetCoreAppRefVersion>6.0.11</MicrosoftNetCoreAppRefVersion>
<MicrosoftNetTestSdkVersion>17.10.0</MicrosoftNetTestSdkVersion>
<ILRepackVersion>2.0.36</ILRepackVersion>
<MicrosoftNetCoreAppRefVersion>6.0.32</MicrosoftNetCoreAppRefVersion>
<MicrosoftNetFrameworkReferenceAssembliesVersion>1.0.3</MicrosoftNetFrameworkReferenceAssembliesVersion>
<MicrosoftNetTestSdkVersion>17.12.0</MicrosoftNetTestSdkVersion>
<MicrosoftSourceLinkGitHubVersion>8.0.0</MicrosoftSourceLinkGitHubVersion>
<MicrosoftTestPlatformObjectModelVersion>$(MicrosoftNetTestSdkVersion)</MicrosoftTestPlatformObjectModelVersion>
<NerdbankGitVersioningVersion>3.6.133</NerdbankGitVersioningVersion>
<NSubstituteVersion>5.1.0</NSubstituteVersion>
<NerdbankGitVersioningVersion>3.7.112</NerdbankGitVersioningVersion>
<NSubstituteVersion>5.3.0</NSubstituteVersion>
<TunnelVisionLabsReferenceAssemblyAnnotatorVersion>1.0.0-alpha.160</TunnelVisionLabsReferenceAssemblyAnnotatorVersion>
<XunitAnalyzersVersion>1.14.0</XunitAnalyzersVersion>
<XunitVersion>2.8.1</XunitVersion>
<XunitAnalyzersVersion>1.18.0</XunitAnalyzersVersion>
<XunitV2Version>2.9.3-pre.7</XunitV2Version>
<XunitV3Version>1.0.0</XunitV3Version>
</PropertyGroup>

</Project>
46 changes: 46 additions & 0 deletions build
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -euo pipefail

function write_error {
echo "error(1): $1" 2>&1
exit 1
}

function guard_bin {
builtin type -P "$1" &>/dev/null || write_error "Could not find '$1'; $2"
}

guard_bin git "please install the Git CLI from https://git-scm.com/"
guard_bin dotnet "please install the .NET SDK from https://dot.net/"

if [ `uname -o` = Msys ]; then
guard_bin msbuild.exe "please run this from a Visual Studio developer shell"
else
guard_bin mono "please install Mono from https://www.mono-project.com/"
fi

[ $(dotnet --version | cut -d. -f1) -ge 8 ] || write_error ".NET SDK version $(dotnet --version) is too low; please install version 8.0 or later from https://dot.net/"

git submodule status | while read line; do
if [ "$(echo $line | cut -b1)" == "-" ]; then
pieces=( $line )
git submodule update --init ${pieces[1]}
echo ""
fi
done

PUSHED=0

cleanup () {
if [[ $PUSHED == 1 ]]; then
popd >/dev/null
PUSHED=0
fi
}

trap cleanup EXIT ERR INT TERM

pushd $( cd "$(dirname "$0")" ; pwd -P ) >/dev/null
PUSHED=1

dotnet run --project tools/builder --no-launch-profile -- "$@"
File renamed without changes.
120 changes: 120 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<Project>
<Import Project="..\Versions.props" />

<PropertyGroup>
<AnnotatedReferenceAssemblyVersion>$(MicrosoftNetCoreAppRefVersion)</AnnotatedReferenceAssemblyVersion>
<DebugType>embedded</DebugType>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<LangVersion>12.0</LangVersion>
<MSBuildCopyContentTransitively>false</MSBuildCopyContentTransitively>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="ILRepack" Version="$(ILRepackVersion)">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="$(MicrosoftSourceLinkGitHubVersion)" PrivateAssets="all" />
<PackageReference Include="Microsoft.TestPlatform.ObjectModel" Version="$(MicrosoftTestPlatformObjectModelVersion)" PrivateAssets="All" />
<PackageReference Include="Nerdbank.GitVersioning" Version="$(NerdbankGitVersioningVersion)" PrivateAssets="all" />
<PackageReference Include="TunnelVisionLabs.ReferenceAssemblyAnnotator" Version="$(TunnelVisionLabsReferenceAssemblyAnnotatorVersion)" PrivateAssets="All" />
</ItemGroup>

<ItemGroup>
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[$(MicrosoftNetCoreAppRefVersion)]" />
</ItemGroup>

<!-- Enable building .NET Framework on non-Windows machines -->
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="$(MicrosoftNetFrameworkReferenceAssembliesVersion)">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

<!-- Support deterministic builds (via https://github.com/clairernovotny/DeterministicBuilds) -->
<PropertyGroup>
<ContinuousIntegrationBuild Condition=" '$(GITHUB_ACTIONS)' == 'true' ">true</ContinuousIntegrationBuild>
<TargetFrameworkMonikerAssemblyAttributesPath Condition="'$(TargetFrameworkMoniker)' != ''">$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
</PropertyGroup>
<ItemGroup>
<EmbeddedFiles Include="$(GeneratedAssemblyInfoFile)" />
</ItemGroup>

<!-- Use ILRepack to pack in most dependencies rather than ship them separately -->
<Target
Name="ILRepack"
AfterTargets="Build"
Condition=" '$(TargetFramework)' != '' ">
<PropertyGroup>
<OutputAssembly>$([System.IO.Path]::Combine($(TargetDir), "merged", "$(TargetFileName)"))</OutputAssembly>
</PropertyGroup>

<Message Text="$(TargetName) -> $(OutputAssembly)" Importance="High" />
<CallTarget Targets="ILRepackConditional" />
</Target>

<Target
Name="ILRepackConditional"
Inputs="$(TargetPath)"
Outputs="$(TargetDir)merged\$(TargetFileName)">

<MakeDir Directories="$(TargetDir)merged" />

<PropertyGroup>
<MainAssembly>$([System.IO.Path]::Combine($(TargetDir), "$(TargetFileName)"))</MainAssembly>
<OutputAssembly>$([System.IO.Path]::Combine($(TargetDir), "merged", "$(TargetFileName)"))</OutputAssembly>
</PropertyGroup>

<ItemGroup>
<ILRepackExclusions Include="$(TargetDir)xunit.abstractions.dll;$(TargetDir)Microsoft.TestPlatform.*.dll;$(TargetDir)Microsoft.VisualStudio.*.dll" />
<ILRepackDependencies
Include="$(TargetDir)*.dll"
Exclude="$(MainAssembly);@(ILRepackExclusions)"/>
<ILRepackLibPaths Include="$(TargetDir)" />
<ILRepackLibPaths Include="$(TargetFrameworkRootPath)$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\" Condition=" '$(TargetFrameworkRootPath)' != '' " />
</ItemGroup>

<Copy SourceFiles="@(ILRepackExclusions)" DestinationFolder="$(TargetDir)merged" />
<Exec
StandardOutputImportance="low"
IgnoreStandardErrorWarningFormat="true"
Command="dotnet &quot;$(ILRepack)&quot; -internalize -ndebug @(ILRepackLibPaths->'-lib:%(FullPath)', ' ') -out:$(OutputAssembly) $(MainAssembly) @(ILRepackDependencies, ' ')" />
<Exec Command="chmod +x '$(OutputAssembly)'" Condition=" '$(OS)' != 'Windows_NT' AND $(OutputAssembly.EndsWith('.exe')) " />
</Target>

<!-- Supplement Nerdbank.GitVersioning version calculations -->
<Target Name="UpdateAssemblyVersionInfo" BeforeTargets="GenerateAssemblyNBGVVersionInfo" DependsOnTargets="GetBuildVersion">
<PropertyGroup>
<!-- Local builds should have a '-dev' suffix on the build number -->
<PrereleaseSuffix Condition=" '$(GITHUB_ACTIONS)' != 'true' ">-dev</PrereleaseSuffix>
<!-- AssemblyVersion and AssemblyFileVersion should be x.y.z.0 -->
<AssemblyVersion>$(BuildVersionSimple)</AssemblyVersion>
<AssemblyFileVersion>$(BuildVersionSimple)</AssemblyFileVersion>
<!-- Always put the Git hash in the informational version, even for non-pre-release versions -->
<AssemblyInformationalVersion>$(BuildVersionSimple)$(PrereleaseVersion)$(PrereleaseSuffix)+$(GitCommitIdShort)</AssemblyInformationalVersion>
</PropertyGroup>
</Target>

<Target Name="UpdateNuSpecProperties" BeforeTargets="GenerateNuspec" DependsOnTargets="GetBuildVersion">
<PropertyGroup>
<SignedPath />
<SignedPath Condition=" '$(SIGN_APP_SECRET)' != '' ">signed\</SignedPath>
<!-- Local builds should have a '-dev' suffix on the build number -->
<PrereleaseSuffix Condition=" '$(GITHUB_ACTIONS)' != 'true' ">-dev</PrereleaseSuffix>
<!-- Never put the Git hash in the package version -->
<PackageVersion>$(BuildVersionSimple)$(PrereleaseVersion)$(PrereleaseSuffix)</PackageVersion>
<!-- Pass through values we don't know ahead of time for any hand-crafted .nuspec files -->
<NuspecProperties>
Configuration=$(Configuration);
GitCommitId=$(GitCommitId);
MicrosoftNetTestSdkVersion=$(MicrosoftNetTestSdkVersion);
MicrosoftTestPlatformObjectModelVersion=$(MicrosoftTestPlatformObjectModelVersion);
PackageVersion=$(PackageVersion);
SignedPath=$(SignedPath);
</NuspecProperties>
</PropertyGroup>
</Target>

</Project>
Loading