Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@ jobs:
- name: Acceptance test
run: |
echo "Running acceptance tests with verbose output..."
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj --logger "console;verbosity=detailed" --blame
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj --logger "console;verbosity=detailed" --blame
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj --logger "console;verbosity=detailed" --blame
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj --logger "console;verbosity=detailed" --blame
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} --project test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj -v n
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} --project test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj -v n
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} --project test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj -v n
dotnet test -p:PackageVersion=${{ env.APP_BUILD_VERSION }} --project test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj -v n
- name: Upload Debug Files on Fail
if: ${{ failure() }}
uses: actions/upload-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -345,4 +345,4 @@ site
.vscode/settings.json

*.received.txt
global.json
test/assets/global.json
17 changes: 10 additions & 7 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,23 @@
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="15.5.0" />
<PackageVersion Include="Microsoft.Testing.Platform" Version="2.0.2" />
<PackageVersion Include="Microsoft.Testing.Platform" Version="2.5.0" />
<PackageVersion Include="Microsoft.Testing.Platform.MSBuild" Version="2.5.0" />
<PackageVersion Include="Microsoft.Testing.Extensions.Telemetry" Version="2.5.0" />
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" Version="2.5.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />

<PackageVersion Include="Stylecop.Analyzers" Version="1.2.0-beta.556" />

<PackageVersion Include="MSTest.TestFramework" Version="3.10.5" />
<PackageVersion Include="MSTest.TestAdapter" Version="3.10.5" />
<PackageVersion Include="MSTest.TestFramework" Version="4.4.1" />
<PackageVersion Include="MSTest.TestAdapter" Version="4.4.1" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />

<PackageVersion Include="Moq" Version="4.20.72" />
<PackageVersion Include="Moq" Version="4.21.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
<PackageVersion Include="Verify.MSTest" Version="24.1.0" />
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="coverlet.MTP" Version="8.0.0" />
<PackageVersion Include="Verify.MSTest" Version="32.0.1" />
<PackageVersion Include="coverlet.collector" Version="10.1.0" />
<PackageVersion Include="coverlet.MTP" Version="10.1.0" />
</ItemGroup>
</Project>
10 changes: 5 additions & 5 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ if ($?) {
Get-Content coveragereport/Summary.txt
}
if ($?) {
dotnet test test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj
dotnet test test/TestLogger.PackageTests/TestLogger.PackageTests.csproj
dotnet test --project test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj
dotnet test --project test/TestLogger.PackageTests/TestLogger.PackageTests.csproj
}
if ($?) {
dotnet test test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj
dotnet test test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj
dotnet test test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj
dotnet test --project test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj
dotnet test --project test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj
dotnet test --project test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj
}
12 changes: 6 additions & 6 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ dotnet run --project test/NUnit.Xml.TestLogger.UnitTests/NUnit.Xml.TestLogger.Un
dotnet run --project test/JUnit.Xml.TestLogger.UnitTests/JUnit.Xml.TestLogger.UnitTests.csproj -- --coverlet --coverlet-output-format cobertura --coverlet-include "[Spekt*]*" --coverlet-include "[Microsoft.VisualStudio.TestPlatform.Extension*]*" &&\
dotnet tool restore &&\
dotnet reportgenerator -reports:"test/TestLogger.VSTest.UnitTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml;test/TestLogger.Mtp.UnitTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml;test/NUnit.Xml.TestLogger.UnitTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml;test/JUnit.Xml.TestLogger.UnitTests/bin/Debug/net10.0/TestResults/coverage.cobertura.xml" -targetdir:coveragereport -reporttypes:"TextSummary;Html" &&\
cat coveragereport/Summary.txt &&\
dotnet test test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj &&\
dotnet test test/TestLogger.PackageTests/TestLogger.PackageTests.csproj &&\
dotnet test test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj &&\
dotnet test test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj &&\
dotnet test test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj
cat coveragereport/Summary.txt | grep -v 100 &&\
dotnet test --project test/TestLogger.AcceptanceTests/TestLogger.AcceptanceTests.csproj &&\
dotnet test --project test/TestLogger.PackageTests/TestLogger.PackageTests.csproj &&\
dotnet test --project test/Xunit.Xml.TestLogger.AcceptanceTests/Xunit.Xml.TestLogger.AcceptanceTests.csproj &&\
dotnet test --project test/NUnit.Xml.TestLogger.AcceptanceTests/NUnit.Xml.TestLogger.AcceptanceTests.csproj &&\
dotnet test --project test/JUnit.Xml.TestLogger.AcceptanceTests/JUnit.Xml.TestLogger.AcceptanceTests.csproj
11 changes: 7 additions & 4 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"sdk": {
"allowPrerelease": false
}
}
"sdk": {
"allowPrerelease": false
},
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
3 changes: 3 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
and are unaffected by this default). -->
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>

<!-- Ensure the source code is not marked as test projects -->
<IsTestingPlatformApplication>false</IsTestingPlatformApplication>
</PropertyGroup>

<!-- MTP adapter projects: split obj. Only the auto-generated target framework
Expand Down
2 changes: 1 addition & 1 deletion src/JUnit.Xml.TestLogger/JUnitTestReporterExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static void AddJUnitReportProvider(this ITestApplicationBuilder testAppli
var compositeExtension = new CompositeExtensionFactory<JUnitTestReporter>(serviceProvider =>
new JUnitTestReporter(extension, serviceProvider));
testApplicationBuilder.TestHost.AddDataConsumer(compositeExtension);
testApplicationBuilder.TestHost.AddTestSessionLifetimeHandle(compositeExtension);
testApplicationBuilder.TestHost.AddTestSessionLifetimeHandler(compositeExtension);

testApplicationBuilder.CommandLine.AddProvider(() => new TestReporterCommandLineProvider(extension, "junit"));
}
Expand Down
2 changes: 1 addition & 1 deletion src/NUnit.Xml.TestLogger/NUnitTestReporterExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static void AddNUnitReportProvider(this ITestApplicationBuilder testAppli
var compositeExtension = new CompositeExtensionFactory<NUnitTestReporter>(serviceProvider =>
new NUnitTestReporter(extension, serviceProvider));
testApplicationBuilder.TestHost.AddDataConsumer(compositeExtension);
testApplicationBuilder.TestHost.AddTestSessionLifetimeHandle(compositeExtension);
testApplicationBuilder.TestHost.AddTestSessionLifetimeHandler(compositeExtension);

testApplicationBuilder.CommandLine.AddProvider(() => new TestReporterCommandLineProvider(extension, "nunit"));
}
Expand Down
2 changes: 1 addition & 1 deletion src/TestLogger/Mtp/Core/MtpTestRunResultWorkflow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ static TestOutcome GetOutcome(TestNodeStateProperty state)
return state switch
{
PassedTestNodeStateProperty => TestOutcome.Passed,
FailedTestNodeStateProperty or ErrorTestNodeStateProperty or TimeoutTestNodeStateProperty or CancelledTestNodeStateProperty => TestOutcome.Failed,
FailedTestNodeStateProperty or ErrorTestNodeStateProperty or TimeoutTestNodeStateProperty => TestOutcome.Failed,
SkippedTestNodeStateProperty => TestOutcome.Skipped,
_ => TestOutcome.None,
};
Expand Down
2 changes: 1 addition & 1 deletion src/Xunit.Xml.TestLogger/XunitTestReporterExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static void AddXunitReportProvider(this ITestApplicationBuilder testAppli
var compositeExtension = new CompositeExtensionFactory<XunitTestReporter>(serviceProvider =>
new XunitTestReporter(extension, serviceProvider));
testApplicationBuilder.TestHost.AddDataConsumer(compositeExtension);
testApplicationBuilder.TestHost.AddTestSessionLifetimeHandle(compositeExtension);
testApplicationBuilder.TestHost.AddTestSessionLifetimeHandler(compositeExtension);

testApplicationBuilder.CommandLine.AddProvider(() => new TestReporterCommandLineProvider(extension, "xunit"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
<EnableCodeAnalysis>true</EnableCodeAnalysis>
<IsPackable>false</IsPackable>
<TestProject>true</TestProject>
<OutputType>Exe</OutputType>
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
<EnableMSTestRunner>true</EnableMSTestRunner>
</PropertyGroup>

<ItemGroup>
Expand All @@ -17,7 +20,10 @@
<PackageReference Include="MSTest.TestFramework" />
<PackageReference Include="MSTest.TestAdapter" />
<PackageReference Include="Moq" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="Microsoft.Testing.Platform" />
<PackageReference Include="Microsoft.Testing.Platform.MSBuild" />
<PackageReference Include="Microsoft.Testing.Extensions.Telemetry" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

Expand All @@ -33,17 +39,11 @@
<MtpTestAssets Include="$(MSBuildThisFileDirectory)../assets/JUnit.Xml.TestLogger.NetCore.Tests/JUnit.Xml.TestLogger.NetCore.Tests.csproj" />
<MtpTestAssets Include="$(MSBuildThisFileDirectory)../assets/JUnit.Xml.TestLogger.XUnit.NetCore.Tests/JUnit.Xml.TestLogger.XUnit.NetCore.Tests.csproj" />
</ItemGroup>
<Target Name="TestTarget" BeforeTargets="Build">
<Message Importance="High" Text="... Building test assets" />

<RemoveDir Directories="$(NuGetPackageRoot)/junitxml.testlogger" />
<!-- Pre-build assets in separate dotnet processes: in-session MSBuild builds reuse the static-graph-restore evaluation, which lacks package-provided build targets (e.g. MSTest TestContext). -->
<Exec Command="dotnet build &quot;%(TestAssets.Identity)&quot; -c $(Configuration) --nologo -v q" />
<Exec Command="dotnet build &quot;%(MtpTestAssets.Identity)&quot; -c $(Configuration) -p:IsMTP=true --nologo -v q" />

<Message Importance="High" Text="... Completed" />
</Target>
<ItemGroup>
<TestAssetPurgeDirs Include="$(NuGetPackageRoot)/junitxml.testlogger" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\JUnit.Xml.TestLogger\JUnit.Xml.TestLogger.VSTest.csproj" />
</ItemGroup>
<Import Project="../TestAssets.targets" />
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ public void MethodFormat_Default_ShouldBeOnlyTheMethod()
var parsedName = new TestCaseNameParser(new FakeConsoleOutput()).Parse(testcase.Attribute("name").Value);

// A method name only will not be parsable into two pieces
Assert.AreEqual(parsedName.Type, TestCaseNameParser.TestCaseParserUnknownType);
Assert.AreEqual(TestCaseNameParser.TestCaseParserUnknownType, parsedName.Type);
}

Assert.IsTrue(new JunitXmlValidator().IsValid(resultsXml));
Expand All @@ -165,7 +165,7 @@ public void MethodFormat_Class_ShouldIncludeClass()

// If the name is parsable into two pieces, then we have a two piece name and
// consider that to be a passing result.
Assert.AreNotEqual(parsedName.Type, TestCaseNameParser.TestCaseParserUnknownType);
Assert.AreNotEqual(TestCaseNameParser.TestCaseParserUnknownType, parsedName.Type);
}

Assert.IsTrue(new JunitXmlValidator().IsValid(resultsXml));
Expand Down Expand Up @@ -193,7 +193,7 @@ public void MethodFormat_Full_ShouldIncludeNamespaceAndClass()
var expectedFullName = parsedName.Namespace + "." + parsedName.Type + "." + parsedName.Method;

// If the name is parsable into two pieces, then we have at least a two piece name
Assert.AreNotEqual(parsedName.Type, TestCaseNameParser.TestCaseParserUnknownType);
Assert.AreNotEqual(TestCaseNameParser.TestCaseParserUnknownType, parsedName.Type);
Assert.AreEqual(expectedFullName, testcase.Attribute("name").Value);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@
<PackageReference Include="MSTest.TestFramework" />
<PackageReference Include="MSTest.TestAdapter" />
<PackageReference Include="Moq" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="coverlet.MTP" />
<PackageReference Include="Microsoft.Testing.Platform.MSBuild" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Extensions.Telemetry" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Extensions.VSTestBridge" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Platform.MSBuild" />
<PackageReference Include="Microsoft.Testing.Extensions.Telemetry" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
<EnableCodeAnalysis>true</EnableCodeAnalysis>
<IsPackable>false</IsPackable>
<TestProject>true</TestProject>
<OutputType>Exe</OutputType>
<UseMicrosoftTestingPlatformRunner>true</UseMicrosoftTestingPlatformRunner>
<EnableMSTestRunner>true</EnableMSTestRunner>
</PropertyGroup>

<ItemGroup>
Expand All @@ -17,7 +20,10 @@
<PackageReference Include="MSTest.TestFramework" />
<PackageReference Include="MSTest.TestAdapter" />
<PackageReference Include="Moq" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="Microsoft.Testing.Platform" />
<PackageReference Include="Microsoft.Testing.Platform.MSBuild" />
<PackageReference Include="Microsoft.Testing.Extensions.Telemetry" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

Expand All @@ -31,12 +37,8 @@
<ItemGroup>
<MtpTestAssets Include="$(MSBuildThisFileDirectory)../assets/NUnit.Xml.TestLogger.NetCore.Tests/NUnit.Xml.TestLogger.NetCore.Tests.csproj" />
</ItemGroup>
<Target Name="TestTarget" BeforeTargets="Build">
<Message Importance="High" Text="... Building test assets" />
<RemoveDir Directories="$(NuGetPackageRoot)/nunitxml.testlogger" />
<!-- Pre-build assets in separate dotnet processes: in-session MSBuild builds reuse the static-graph-restore evaluation, which lacks package-provided build targets (e.g. MSTest TestContext). -->
<Exec Command="dotnet build &quot;%(TestAssets.Identity)&quot; -c $(Configuration) --nologo -v q" />
<Exec Command="dotnet build &quot;%(MtpTestAssets.Identity)&quot; -c $(Configuration) -p:IsMTP=true --nologo -v q" />
<Message Importance="High" Text="... Completed" />
</Target>
<ItemGroup>
<TestAssetPurgeDirs Include="$(NuGetPackageRoot)/nunitxml.testlogger" />
</ItemGroup>
<Import Project="../TestAssets.targets" />
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ public void TestResultFileTestCasesShouldContainValidStartAndEndTimes(string res
// Assert that start and end times are in the right order and they are recent (i.e. not default DateTime values)
Assert.IsTrue(startTime < endTime, "test case start time should be before end time");
var timeDiff = (DateTime.UtcNow - startTime.ToUniversalTime()).Duration();
Assert.IsTrue(timeDiff < TimeSpan.FromMinutes(1), "test case start time should not be too far in the past, difference was {0}", timeDiff);
Assert.IsTrue(timeDiff < TimeSpan.FromMinutes(1), $"test case start time should not be too far in the past, difference was {timeDiff}");
}

// [DataRow("test-results-mtp.xml")] // NOT SUPPORTED: MTP does not include the Seed property in the test case
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@
<PackageReference Include="MSTest.TestFramework" />
<PackageReference Include="MSTest.TestAdapter" />
<PackageReference Include="Moq" />
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="coverlet.MTP" />
<PackageReference Include="Microsoft.Testing.Platform.MSBuild" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Extensions.Telemetry" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Extensions.VSTestBridge" VersionOverride="2.0.2" />
<PackageReference Include="Microsoft.Testing.Platform.MSBuild" />
<PackageReference Include="Microsoft.Testing.Extensions.Telemetry" />
<PackageReference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

Expand Down
Loading
Loading