Skip to content

Commit 1f92de1

Browse files
committed
get more info’s for sporadic test errors
1 parent fe90684 commit 1f92de1

File tree

1 file changed

+40
-9
lines changed

1 file changed

+40
-9
lines changed

test/coverlet.integration.tests/DeterministicBuild.cs

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,22 @@ private protected void AssertCoverage(string standardOutput = "", bool checkDete
7878
public void Msbuild()
7979
{
8080
CreateDeterministicTestPropsFile();
81-
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string _, _testProjectPath);
81+
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string standardError, _testProjectPath);
8282
Assert.Contains("Build succeeded.", standardOutput);
8383
string sourceRootMappingFilePath = Path.Combine(_testProjectPath, "bin", _buildConfiguration, _testProjectTfm!, "CoverletSourceRootsMapping_coverletsample.integration.determisticbuild");
8484
Assert.True(File.Exists(sourceRootMappingFilePath), sourceRootMappingFilePath);
8585
Assert.True(!string.IsNullOrEmpty(File.ReadAllText(sourceRootMappingFilePath)), "Empty CoverletSourceRootsMapping file");
8686
Assert.Contains("=/_/", File.ReadAllText(sourceRootMappingFilePath));
8787

88-
DotnetCli($"test -c {_buildConfiguration} --no-build /p:CollectCoverage=true /p:DeterministicReport=true /p:CoverletOutputFormat=\"cobertura%2cjson\" /p:Include=\"[coverletsample.integration.determisticbuild]*DeepThought\" /p:IncludeTestAssembly=true", out standardOutput, out _, _testProjectPath);
89-
_output.WriteLine(standardOutput);
88+
DotnetCli($"test -c {_buildConfiguration} --no-build /p:CollectCoverage=true /p:DeterministicReport=true /p:CoverletOutputFormat=\"cobertura%2cjson\" /p:Include=\"[coverletsample.integration.determisticbuild]*DeepThought\" /p:IncludeTestAssembly=true", out standardOutput, out standardError, _testProjectPath);
89+
if (!string.IsNullOrEmpty(standardError))
90+
{
91+
_output.WriteLine(standardError);
92+
}
93+
else
94+
{
95+
_output.WriteLine(standardOutput);
96+
}
9097
Assert.Contains("Passed!", standardOutput);
9198
Assert.Contains("| coverletsample.integration.determisticbuild | 100% | 100% | 100% |", standardOutput);
9299
Assert.True(File.Exists(Path.Combine(_testProjectPath, "coverage.json")));
@@ -102,14 +109,22 @@ public void Msbuild()
102109
public void Msbuild_SourceLink()
103110
{
104111
CreateDeterministicTestPropsFile();
105-
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string _, _testProjectPath);
112+
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string standardError, _testProjectPath);
106113
Assert.Contains("Build succeeded.", standardOutput);
107114
string sourceRootMappingFilePath = Path.Combine(_testProjectPath, "bin", _buildConfiguration, _testProjectTfm!, "CoverletSourceRootsMapping_coverletsample.integration.determisticbuild");
108115
Assert.True(File.Exists(sourceRootMappingFilePath), sourceRootMappingFilePath);
109116
Assert.True(!string.IsNullOrEmpty(File.ReadAllText(sourceRootMappingFilePath)), "Empty CoverletSourceRootsMapping file");
110117
Assert.Contains("=/_/", File.ReadAllText(sourceRootMappingFilePath));
111118

112-
DotnetCli($"test -c {_buildConfiguration} --no-build /p:CollectCoverage=true /p:CoverletOutputFormat=\"cobertura%2cjson\" /p:UseSourceLink=true /p:Include=\"[coverletsample.integration.determisticbuild]*DeepThought\" /p:IncludeTestAssembly=true", out standardOutput, out _, _testProjectPath);
119+
DotnetCli($"test -c {_buildConfiguration} --no-build /p:CollectCoverage=true /p:CoverletOutputFormat=\"cobertura%2cjson\" /p:UseSourceLink=true /p:Include=\"[coverletsample.integration.determisticbuild]*DeepThought\" /p:IncludeTestAssembly=true", out standardOutput, out standardError, _testProjectPath);
120+
if (!string.IsNullOrEmpty(standardError))
121+
{
122+
_output.WriteLine(standardError);
123+
}
124+
else
125+
{
126+
_output.WriteLine(standardOutput);
127+
}
113128
Assert.Contains("Passed!", standardOutput);
114129
Assert.Contains("| coverletsample.integration.determisticbuild | 100% | 100% | 100% |", standardOutput);
115130
Assert.True(File.Exists(Path.Combine(_testProjectPath, "coverage.json")));
@@ -126,15 +141,23 @@ public void Msbuild_SourceLink()
126141
public void Collectors()
127142
{
128143
CreateDeterministicTestPropsFile();
129-
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string _, _testProjectPath);
144+
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string standardError, _testProjectPath);
130145
Assert.Contains("Build succeeded.", standardOutput);
131146
string sourceRootMappingFilePath = Path.Combine(_testProjectPath, "bin", GetAssemblyBuildConfiguration().ToString(), _testProjectTfm!, "CoverletSourceRootsMapping_coverletsample.integration.determisticbuild");
132147
Assert.True(File.Exists(sourceRootMappingFilePath), sourceRootMappingFilePath);
133148
Assert.NotEmpty(File.ReadAllText(sourceRootMappingFilePath));
134149
Assert.Contains("=/_/", File.ReadAllText(sourceRootMappingFilePath));
135150

136151
string runSettingsPath = AddCollectorRunsettingsFile(_testProjectPath, "[coverletsample.integration.determisticbuild]*DeepThought", deterministicReport: true);
137-
Assert.True(DotnetCli($"test -c {_buildConfiguration} --no-build \"{_testProjectPath}\" --collect:\"XPlat Code Coverage\" --settings \"{runSettingsPath}\" --diag:{Path.Combine(_testProjectPath, "log.txt")}", out standardOutput, out _), standardOutput);
152+
Assert.True(DotnetCli($"test -c {_buildConfiguration} --no-build \"{_testProjectPath}\" --collect:\"XPlat Code Coverage\" --settings \"{runSettingsPath}\" --diag:{Path.Combine(_testProjectPath, "log.txt")}", out standardOutput, out standardError), standardOutput);
153+
if (!string.IsNullOrEmpty(standardError))
154+
{
155+
_output.WriteLine(standardError);
156+
}
157+
else
158+
{
159+
_output.WriteLine(standardOutput);
160+
}
138161
Assert.Contains("Passed!", standardOutput);
139162
AssertCoverage(standardOutput);
140163

@@ -154,15 +177,23 @@ public void Collectors()
154177
public void Collectors_SourceLink()
155178
{
156179
CreateDeterministicTestPropsFile();
157-
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string _, _testProjectPath);
180+
DotnetCli($"build -c {_buildConfiguration} /p:DeterministicSourcePaths=true", out string standardOutput, out string standardError, _testProjectPath);
158181
Assert.Contains("Build succeeded.", standardOutput);
159182
string sourceRootMappingFilePath = Path.Combine(_testProjectPath, "bin", GetAssemblyBuildConfiguration().ToString(), _testProjectTfm!, "CoverletSourceRootsMapping_coverletsample.integration.determisticbuild");
160183
Assert.True(File.Exists(sourceRootMappingFilePath), sourceRootMappingFilePath);
161184
Assert.NotEmpty(File.ReadAllText(sourceRootMappingFilePath));
162185
Assert.Contains("=/_/", File.ReadAllText(sourceRootMappingFilePath));
163186

164187
string runSettingsPath = AddCollectorRunsettingsFile(_testProjectPath, "[coverletsample.integration.determisticbuild]*DeepThought", sourceLink: true);
165-
Assert.True(DotnetCli($"test -c {_buildConfiguration} --no-build \"{_testProjectPath}\" --collect:\"XPlat Code Coverage\" --settings \"{runSettingsPath}\" --diag:{Path.Combine(_testProjectPath, "log.txt")}", out standardOutput, out _), standardOutput);
188+
Assert.True(DotnetCli($"test -c {_buildConfiguration} --no-build \"{_testProjectPath}\" --collect:\"XPlat Code Coverage\" --settings \"{runSettingsPath}\" --diag:{Path.Combine(_testProjectPath, "log.txt")}", out standardOutput, out standardError), standardOutput);
189+
if (!string.IsNullOrEmpty(standardError))
190+
{
191+
_output.WriteLine(standardError);
192+
}
193+
else
194+
{
195+
_output.WriteLine(standardOutput);
196+
}
166197
Assert.Contains("Passed!", standardOutput);
167198
AssertCoverage(standardOutput, checkDeterministicReport: false);
168199
Assert.Contains("raw.githubusercontent.com", File.ReadAllText(Directory.GetFiles(_testProjectPath, "coverage.cobertura.xml", SearchOption.AllDirectories).Single()));

0 commit comments

Comments
 (0)