Skip to content

Commit c71b8fc

Browse files
committed
(build) publish test results
1 parent 3051e21 commit c71b8fc

File tree

7 files changed

+37
-32
lines changed

7 files changed

+37
-32
lines changed

build/pack.cake

+26-5
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,25 @@ Task("Test")
4242
{
4343
actions.Add(() =>
4444
{
45-
var settings = new DotNetCoreTestSettings
46-
{
45+
var testResultsPath = parameters.Paths.Directories.TestResultsOutput + "/";
46+
var projectName = $"{project.GetFilenameWithoutExtension()}.{framework}";
47+
var settings = new DotNetCoreTestSettings {
4748
Framework = framework,
4849
NoBuild = true,
4950
NoRestore = true,
50-
Configuration = parameters.Configuration
51+
Configuration = parameters.Configuration,
5152
};
5253

54+
if (!parameters.IsRunningOnMacOS) {
55+
settings.TestAdapterPath = new DirectoryPath(".");
56+
settings.Logger = $"nunit;LogFilePath={MakeAbsolute(new FilePath($"{testResultsPath}{projectName}.results.xml"))}";
57+
}
58+
5359
var coverletSettings = new CoverletSettings {
5460
CollectCoverage = true,
5561
CoverletOutputFormat = CoverletOutputFormat.opencover,
56-
CoverletOutputDirectory = parameters.Paths.Directories.TestCoverageOutput + "/",
57-
CoverletOutputName = $"{project.GetFilenameWithoutExtension()}.{framework}.coverage.xml"
62+
CoverletOutputDirectory = testResultsPath,
63+
CoverletOutputName = $"{projectName}.coverage.xml"
5864
};
5965

6066
if (IsRunningOnUnix())
@@ -79,6 +85,21 @@ Task("Test")
7985
{
8086
var error = (exception as AggregateException).InnerExceptions[0];
8187
Error(error.Dump());
88+
})
89+
.Finally(() =>
90+
{
91+
var parameters = Context.Data.Get<BuildParameters>();
92+
var testResultsFiles = GetFiles(parameters.Paths.Directories.TestResultsOutput + "/*.results.xml");
93+
if (parameters.IsRunningOnAzurePipeline)
94+
{
95+
if (testResultsFiles.Any()) {
96+
var data = new TFBuildPublishTestResultsData {
97+
TestResultsFiles = testResultsFiles.ToArray(),
98+
TestRunner = TFTestRunnerType.NUnit
99+
};
100+
TFBuild.Commands.PublishTestResults(data);
101+
}
102+
}
82103
});
83104

84105
#endregion

build/publish.cake

+1-13
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Task("Publish-Coverage")
3838
.IsDependentOnWhen("Test", singleStageRun)
3939
.Does<BuildParameters>((parameters) =>
4040
{
41-
var coverageFiles = GetFiles(parameters.Paths.Directories.TestCoverageOutput + "/*.coverage.xml");
41+
var coverageFiles = GetFiles(parameters.Paths.Directories.TestResultsOutput + "/*.coverage.xml");
4242

4343
var token = parameters.Credentials.CodeCov.Token;
4444
if(string.IsNullOrEmpty(token)) {
@@ -69,10 +69,6 @@ Task("Publish-AppVeyor")
6969
{
7070
if (FileExists(package.PackagePath)) { AppVeyor.UploadArtifact(package.PackagePath); }
7171
}
72-
73-
if (FileExists(parameters.Paths.Files.TestCoverageOutputFilePath)) {
74-
AppVeyor.UploadTestResults(parameters.Paths.Files.TestCoverageOutputFilePath, AppVeyorTestResultsType.NUnit3);
75-
}
7672
})
7773
.OnError(exception =>
7874
{
@@ -96,14 +92,6 @@ Task("Publish-AzurePipeline")
9692
{
9793
if (FileExists(package.PackagePath)) { TFBuild.Commands.UploadArtifact("packages", package.PackagePath, package.PackageName); }
9894
}
99-
100-
if (FileExists(parameters.Paths.Files.TestCoverageOutputFilePath)) {
101-
var data = new TFBuildPublishTestResultsData {
102-
TestResultsFiles = new[] { parameters.Paths.Files.TestCoverageOutputFilePath },
103-
TestRunner = TFTestRunnerType.NUnit
104-
};
105-
TFBuild.Commands.PublishTestResults(data);
106-
}
10795
})
10896
.OnError(exception =>
10997
{

build/utils/parameters.cake

-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ public class BuildParameters
123123
Artifacts = BuildArtifacts.GetArtifacts(new[] {
124124
files.ZipArtifactPathDesktop,
125125
files.ZipArtifactPathCoreClr,
126-
files.TestCoverageOutputFilePath,
127126
files.ReleaseNotesOutputFilePath,
128127
files.VsixOutputFilePath,
129128
files.GemOutputFilePath

build/utils/paths.cake

+7-13
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,22 @@ public class BuildPaths
3434
var artifactsBinCoreFxDir = artifactsBinDir.Combine(parameters.CoreFxVersion);
3535
var nugetRootDir = artifactsDir.Combine("nuget");
3636
var buildArtifactDir = artifactsDir.Combine("build-artifact");
37-
var testCoverageOutputDir = artifactsDir.Combine("code-coverage");
37+
var testResultsOutputDir = artifactsDir.Combine("test-results");
3838

3939
var zipArtifactPathCoreClr = artifactsDir.CombineWithFilePath("GitVersion-bin-corefx-v" + semVersion + ".zip");
4040
var zipArtifactPathDesktop = artifactsDir.CombineWithFilePath("GitVersion-bin-fullfx-v" + semVersion + ".zip");
4141

42-
var testCoverageOutputFilePath = testCoverageOutputDir.CombineWithFilePath("TestResult.xml");
43-
4442
var releaseNotesOutputFilePath = buildArtifactDir.CombineWithFilePath("releasenotes.md");
4543
var gemOutputFilePath = buildArtifactDir.CombineWithFilePath("gitversion-" + version.GemVersion + ".gem");
4644

4745
var vsixSuffix = parameters.IsStableRelease() ? "" : "preview-";
48-
var vsixOutputFilePath = buildArtifactDir.CombineWithFilePath("gittools.gitversion-" + vsixSuffix + version.VsixVersion + ".vsix");
46+
var vsixOutputFilePath = buildArtifactDir.CombineWithFilePath("gittools.gitversion-" + vsixSuffix + version.VsixVersion + ".vsix");
4947

5048
// Directories
5149
var buildDirectories = new BuildDirectories(
5250
artifactsDir,
5351
buildArtifactDir,
54-
testCoverageOutputDir,
52+
testResultsOutputDir,
5553
nugetRootDir,
5654
artifactsBinDir,
5755
artifactsBinFullFxDir,
@@ -65,7 +63,6 @@ public class BuildPaths
6563
context,
6664
zipArtifactPathCoreClr,
6765
zipArtifactPathDesktop,
68-
testCoverageOutputFilePath,
6966
releaseNotesOutputFilePath,
7067
vsixOutputFilePath,
7168
gemOutputFilePath);
@@ -82,7 +79,6 @@ public class BuildFiles
8279
{
8380
public FilePath ZipArtifactPathCoreClr { get; private set; }
8481
public FilePath ZipArtifactPathDesktop { get; private set; }
85-
public FilePath TestCoverageOutputFilePath { get; private set; }
8682
public FilePath ReleaseNotesOutputFilePath { get; private set; }
8783
public FilePath VsixOutputFilePath { get; private set; }
8884
public FilePath GemOutputFilePath { get; private set; }
@@ -91,15 +87,13 @@ public class BuildFiles
9187
ICakeContext context,
9288
FilePath zipArtifactPathCoreClr,
9389
FilePath zipArtifactPathDesktop,
94-
FilePath testCoverageOutputFilePath,
9590
FilePath releaseNotesOutputFilePath,
9691
FilePath vsixOutputFilePath,
9792
FilePath gemOutputFilePath
9893
)
9994
{
10095
ZipArtifactPathCoreClr = zipArtifactPathCoreClr;
10196
ZipArtifactPathDesktop = zipArtifactPathDesktop;
102-
TestCoverageOutputFilePath = testCoverageOutputFilePath;
10397
ReleaseNotesOutputFilePath = releaseNotesOutputFilePath;
10498
VsixOutputFilePath = vsixOutputFilePath;
10599
GemOutputFilePath = gemOutputFilePath;
@@ -111,7 +105,7 @@ public class BuildDirectories
111105
public DirectoryPath Artifacts { get; private set; }
112106
public DirectoryPath NugetRoot { get; private set; }
113107
public DirectoryPath BuildArtifact { get; private set; }
114-
public DirectoryPath TestCoverageOutput { get; private set; }
108+
public DirectoryPath TestResultsOutput { get; private set; }
115109
public DirectoryPath ArtifactsBin { get; private set; }
116110
public DirectoryPath ArtifactsBinFullFx { get; private set; }
117111
public DirectoryPath ArtifactsBinFullFxPortable { get; private set; }
@@ -123,7 +117,7 @@ public class BuildDirectories
123117
public BuildDirectories(
124118
DirectoryPath artifactsDir,
125119
DirectoryPath buildArtifactDir,
126-
DirectoryPath testCoverageOutputDir,
120+
DirectoryPath testResultsOutputDir,
127121
DirectoryPath nugetRootDir,
128122
DirectoryPath artifactsBinDir,
129123
DirectoryPath artifactsBinFullFxDir,
@@ -135,7 +129,7 @@ public class BuildDirectories
135129
{
136130
Artifacts = artifactsDir;
137131
BuildArtifact = buildArtifactDir;
138-
TestCoverageOutput = testCoverageOutputDir;
132+
TestResultsOutput = testResultsOutputDir;
139133
NugetRoot = nugetRootDir;
140134
ArtifactsBin = artifactsBinDir;
141135
ArtifactsBinFullFx = artifactsBinFullFxDir;
@@ -146,7 +140,7 @@ public class BuildDirectories
146140
ToClean = new[] {
147141
Artifacts,
148142
BuildArtifact,
149-
TestCoverageOutput,
143+
TestResultsOutput,
150144
NugetRoot,
151145
ArtifactsBin,
152146
ArtifactsBinFullFx,

src/GitVersionCore.Tests/GitVersionCore.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
</PackageReference>
2323
<PackageReference Include="NUnit" Version="3.12.0" />
2424
<packagereference Include="NUnit3TestAdapter" Version="3.13.0"></packagereference>
25+
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
2526
<PackageReference Include="Shouldly" Version="4.0.0-beta0002" />
2627
<PackageReference Include="YamlDotNet" Version="$(PackageVersion_YamlDotNet)" />
2728
</ItemGroup>

src/GitVersionExe.Tests/GitVersionExe.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
</PackageReference>
1818
<PackageReference Include="NUnit" Version="3.12.0"></PackageReference>
1919
<packagereference Include="NUnit3TestAdapter" Version="3.13.0"></packagereference>
20+
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
2021
<PackageReference Include="Shouldly" Version="4.0.0-beta0002"></PackageReference>
2122
</ItemGroup>
2223
<ItemGroup>

src/GitVersionTask.Tests/GitVersionTask.Tests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
</PackageReference>
1717
<PackageReference Include="NUnit" Version="3.12.0"></PackageReference>
1818
<packagereference Include="NUnit3TestAdapter" Version="3.13.0"></packagereference>
19+
<PackageReference Include="NunitXml.TestLogger" Version="2.1.41" />
1920
<PackageReference Include="Shouldly" Version="4.0.0-beta0002"></PackageReference>
2021
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="16.0.461" />
2122
</ItemGroup>

0 commit comments

Comments
 (0)