Skip to content

Commit eb36b5c

Browse files
authored
fix: update to .NET 10 SDK and workaround for platform regression in Traits (#213, #211, #212)
* fix: update to .NET 10 SDK and workaround for platform regression in Traits * test: replace netcoreapp3.1 with last LTS net8.0 * fix: mark projects explicitly packable by dotnet pack * chore: mstest version for vstest classic * chore: latest mstest * test: remove assets build for acceptance tests
1 parent b75bd20 commit eb36b5c

File tree

40 files changed

+102
-362
lines changed

40 files changed

+102
-362
lines changed

.github/workflows/dotnet.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ jobs:
5050
TERM: "xterm"
5151
steps:
5252
- uses: actions/checkout@v4
53-
- name: Setup .NET 9.0
53+
- name: Setup .NET 10.0
5454
uses: actions/setup-dotnet@v1
5555
with:
56-
dotnet-version: 9.x
57-
- name: Setup .NET 3.1.x
56+
dotnet-version: 10.x
57+
- name: Setup .NET 8.x
5858
uses: actions/setup-dotnet@v1
5959
with:
60-
dotnet-version: "3.1.x"
60+
dotnet-version: "8.x"
6161
- name: Configure NuGet cache
6262
uses: actions/cache@v3
6363
with:
@@ -93,8 +93,8 @@ jobs:
9393
**/test-results-*.xml
9494
**/test-results-*.json
9595
**/*.log
96-
test/assets/**/bin/Debug/netcoreapp3.1/
97-
test/assets/**/bin/Debug/net9.0/
96+
test/assets/**/bin/Debug/net8.0/
97+
test/assets/**/bin/Debug/net10.0/
9898
- name: Codecov
9999
uses: codecov/codecov-action@v3.1.0
100100
with:

src/JUnit.Xml.Package/JUnit.Xml.Package.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
<PropertyGroup>
44
<PackageIcon>packageIcon.png</PackageIcon>
5+
<IsPackable>true</IsPackable>
56
</PropertyGroup>
67

78
<PropertyGroup>

src/NUnit.Xml.Package/NUnit.Xml.Package.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<Version>$(PackageVersion)</Version>
66
<AssemblyName>NUnitXml.TestLogger</AssemblyName>
7+
<IsPackable>true</IsPackable>
78

89
<!-- This isn't an assembly -->
910
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>

src/TestLogger/Core/TestRunResultWorkflow.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ string x when x.Equals("Legacy", StringComparison.OrdinalIgnoreCase) => legacyPa
159159
var attachments = result.Attachments.SelectMany(x => x.ToAttachments(baseDirectory: GetTestResultDirectory(testRun), makeRelativePaths: testRun.LoggerConfiguration.UseRelativeAttachmentPaths)).ToList();
160160

161161
Func<string, string> sanitize = testRun.Serializer.InputSanitizer.Sanitize;
162+
163+
var traits = GetTraits(result.TestCase, sanitize);
162164
testRun.Store.Add(new TestResultInfo(
163165
sanitize(parsedName.Namespace),
164166
sanitize(parsedName.Type),
@@ -177,7 +179,7 @@ string x when x.Equals("Legacy", StringComparison.OrdinalIgnoreCase) => legacyPa
177179
sanitize(result.ErrorStackTrace),
178180
result.Messages.Select(x => new TestResultMessage(sanitize(x.Category), sanitize(x.Text))).ToList(),
179181
attachments,
180-
result.TestCase.Traits.Select(x => new Trait(sanitize(x.Name), sanitize(x.Value))).ToList(),
182+
traits,
181183
result.TestCase.ExecutorUri?.ToString(),
182184
result.TestCase));
183185
}
@@ -188,5 +190,24 @@ private static string GetTestResultDirectory(ITestRun testRun)
188190
.GetFormattedLogFilePath(testRun.RunConfiguration);
189191
return Path.GetDirectoryName(logFilePath);
190192
}
193+
194+
private static List<Trait> GetTraits(TestCase testCase, Func<string, string> sanitize)
195+
{
196+
// Workaround for test platform regression in .NET 10 SDK
197+
// var traits = result.TestCase.Traits.Select(x => new Trait(sanitize(x.Name), sanitize(x.Value))).ToList();
198+
var traits = new List<Trait>();
199+
var traitProperty = testCase.Properties.FirstOrDefault(p => p.Id == "TestObject.Traits");
200+
if (traitProperty != null)
201+
{
202+
var traitValues = testCase.GetPropertyValue(traitProperty, Enumerable.Empty<KeyValuePair<string, string>>());
203+
204+
foreach (var kvp in traitValues)
205+
{
206+
traits.Add(new Trait(sanitize(kvp.Key), sanitize(kvp.Value)));
207+
}
208+
}
209+
210+
return traits;
211+
}
191212
}
192213
}

src/Xunit.Xml.Package/Xunit.Xml.Package.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<Version>$(PackageVersion)</Version>
66
<AssemblyName>XunitXml.TestLogger</AssemblyName>
7+
<IsPackable>true</IsPackable>
78

89
<!-- This isn't an assembly -->
910
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>

test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<WarningsAsErrors>true</WarningsAsErrors>
66
<EnableCodeAnalysis>true</EnableCodeAnalysis>
77
<IsPackable>false</IsPackable>

test/JUnit.Xml.TestLogger.AcceptanceTests/JUnitTestLoggerPathTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ public class JUnitTestLoggerPathTests
1919
{
2020
private static readonly string[] ExpectedResultsFiles = new string[]
2121
{
22-
"JUnit.Xml.TestLogger.NetMulti.Tests.NETCoreApp90.test-results.xml",
23-
"JUnit.Xml.TestLogger.NetMulti.Tests.NETCoreApp31.test-results.xml"
22+
"JUnit.Xml.TestLogger.NetMulti.Tests.NETCoreApp100.test-results.xml",
23+
"JUnit.Xml.TestLogger.NetMulti.Tests.NETCoreApp80.test-results.xml"
2424
};
2525

2626
[TestMethod]

test/JUnit.Xml.TestLogger.UnitTests/JUnit.Xml.TestLogger.UnitTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<WarningsAsErrors>true</WarningsAsErrors>
66
<EnableCodeAnalysis>true</EnableCodeAnalysis>
77
<IsPackable>false</IsPackable>

test/Json.TestLogger.Package/Json.TestLogger.Package.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<Version>$(PackageVersion)</Version>
66
<AssemblyName>Sample.Json.TestLogger</AssemblyName>
7+
<IsPackable>true</IsPackable>
78

89
<!-- This isn't an assembly -->
910
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>

test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<WarningsAsErrors>true</WarningsAsErrors>
66
<EnableCodeAnalysis>true</EnableCodeAnalysis>
77
<IsPackable>false</IsPackable>

0 commit comments

Comments
 (0)