Skip to content

Commit

Permalink
Merge a049ef7 into 7cfed20
Browse files Browse the repository at this point in the history
  • Loading branch information
mickael-caro-sonarsource authored Oct 17, 2019
2 parents 7cfed20 + a049ef7 commit ee7f659
Show file tree
Hide file tree
Showing 5 changed files with 347 additions and 172 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SonarScanner.MSBuild.Common;
Expand All @@ -34,6 +35,7 @@ namespace SonarScanner.MSBuild.TFS.Tests
public class BuildVNextCoverageReportProcessorTests
{
public TestContext TestContext { get; set; }
private static List<string> filesToDelete = new List<string>();

private const string TRX_PAYLOAD = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<x:TestRun id=""4e4e4073-b17c-4bd0-a8bc-051bbc5a63e4"" name=""John@JOHN-DOE 2019-05-22 14:26:54:768"" runUser=""JOHN-DO\John"" xmlns:x=""http://microsoft.com/schemas/VisualStudio/TeamTest/2010"">
Expand Down Expand Up @@ -87,6 +89,8 @@ public void SearchFallbackNotShouldBeCalled_IfTrxFilesFound()
Directory.CreateDirectory(testResultsDir);
TestUtils.CreateTextFile(testResultsDir, "dummy.trx", "");

filesToDelete.Add(Path.Combine(testResultsDir, "dummy.trx"));

var testSubject = new BuildVNextCoverageReportProcessor(new MockReportConverter(), new TestLogger(), mockSearchFallback);

var settings = new MockBuildSettings
Expand Down Expand Up @@ -199,9 +203,13 @@ public void ProcessCoverageReports_VsCoverageXmlPathProvided_CoverageXmlFileAlre
Directory.CreateDirectory(coverageDir);

TestUtils.CreateTextFile(testResultsDir, "dummy.trx", TRX_PAYLOAD);
filesToDelete.Add(Path.Combine(testResultsDir, "dummy.trx"));

TestUtils.CreateTextFile(coverageDir, "dummy.coverage", "");
filesToDelete.Add(Path.Combine(coverageDir, "dummy.coverage"));

TestUtils.CreateTextFile(coverageDir, "dummy.coveragexml", "");
filesToDelete.Add(Path.Combine(coverageDir, "dummy.coveragexml"));

var converter = new MockReportConverter();
converter.CanConvert = true;
Expand Down Expand Up @@ -253,6 +261,12 @@ public void ProcessCoverageReports_NotVsCoverageXmlPathProvided_CoverageXmlFileA
TestUtils.CreateTextFile(coverageDir, "dummy.coverage", "");
TestUtils.CreateTextFile(coverageDir, "dummy.coveragexml", "");

filesToDelete.AddRange(new List<string>()
{
Path.Combine(testResultsDir, "dummy.trx"),
Path.Combine(coverageDir, "dummy.coverage")
});

var converter = new MockReportConverter();
converter.CanConvert = true;

Expand Down Expand Up @@ -299,8 +313,10 @@ public void ProcessCoverageReports_NotVsCoverageXmlPathProvided_NotCoverageXmlFi
Directory.CreateDirectory(coverageDir);

TestUtils.CreateTextFile(testResultsDir, "dummy.trx", TRX_PAYLOAD);
filesToDelete.Add(Path.Combine(testResultsDir, "dummy.trx"));

TestUtils.CreateTextFile(coverageDir, "dummy.coverage", "");
filesToDelete.Add(Path.Combine(coverageDir, "dummy.coverage"));

var converter = new MockReportConverter();
converter.CanConvert = true;
Expand Down Expand Up @@ -340,6 +356,12 @@ public void ProcessCoverageReports_NotVsCoverageXmlPathProvided_NotCoverageXmlFi

TestUtils.CreateTextFile(coverageDir, "dummy.coverage", "");

filesToDelete.AddRange(new List<string>()
{
Path.Combine(testResultsDir, "dummy.trx"),
Path.Combine(coverageDir, "dummy.coverage")
});

var converter = new MockReportConverter();
converter.CanConvert = true;
converter.ShouldNotFailConversion = false;
Expand All @@ -359,5 +381,20 @@ public void ProcessCoverageReports_NotVsCoverageXmlPathProvided_NotCoverageXmlFi
result.Should().BeTrue();
converter.AssertExpectedNumberOfConversions(1);
}

[ClassCleanup]
public static void AddFilesToDeleteToEnv() {

filesToDelete = filesToDelete.Distinct().ToList();

var currentEnvValue = Environment.GetEnvironmentVariable("TEST_FILE_TO_DELETE", EnvironmentVariableTarget.User) ?? String.Empty;
if (!string.IsNullOrEmpty(currentEnvValue))
{
currentEnvValue += ";;";
}

Environment.SetEnvironmentVariable("TEST_FILE_TO_DELETE", currentEnvValue + string.Join(";;",
filesToDelete), EnvironmentVariableTarget.User);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
*/


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using FluentAssertions;
Expand All @@ -31,6 +33,7 @@ namespace SonarScanner.MSBuild.TFS.Tests
public class BuildVNextCoverageSeachFallbackTests
{
public TestContext TestContext { get; set; }
private static List<string> filesToDelete = new List<string>();

[TestMethod]
public void Fallback_AgentDirectory_CalculatedCorrectly()
Expand Down Expand Up @@ -74,6 +77,17 @@ public void Fallback_FilesLocatedCorrectly()
TestUtils.CreateTextFile(dir, "Duplicate.coverage", ""); // appears in both places - only one should be returned
var expected3 = TestUtils.CreateTextFile(subDir, "BAR.COVERAGE", ""); // should be found

filesToDelete.AddRange(new List<string>()
{
Path.Combine(dir, "foo.coverageXXX"),
Path.Combine(dir, "abc.trx"),
Path.Combine(dir, "foo.coverage"),
Path.Combine(dir, "DUPLICATE.coverage"),
Path.Combine(dir, "BAR.coverage.XXX"),
Path.Combine(dir, "Duplicate.coverage"),
Path.Combine(subDir, "BAR.COVERAGE")
});

using (var envVars = new EnvironmentVariableScope())
{
envVars.SetVariable(BuildVNextCoverageSearchFallback.AGENT_TEMP_DIRECTORY, dir);
Expand Down Expand Up @@ -137,5 +151,20 @@ public void Fallback_FileNameComparer_CorrectlyDeDupesList()
"file3.txt"
);
}

[ClassCleanup]
public static void AddFilesToDeleteToEnv()
{
filesToDelete = filesToDelete.Distinct().ToList();

var currentEnvValue = Environment.GetEnvironmentVariable("TEST_FILE_TO_DELETE", EnvironmentVariableTarget.User) ?? String.Empty;
if (!string.IsNullOrEmpty(currentEnvValue))
{
currentEnvValue += ";;";
}

Environment.SetEnvironmentVariable("TEST_FILE_TO_DELETE", currentEnvValue + string.Join(";;",
filesToDelete), EnvironmentVariableTarget.User);
}
}
}
Loading

0 comments on commit ee7f659

Please sign in to comment.