提交 bea81154 编写于 作者: J Jared Parsons

Factored out some common data

上级 96f2f926
...@@ -76,7 +76,8 @@ private TestResult Migrate(string assemblyPath, CachedTestResult cachedTestResul ...@@ -76,7 +76,8 @@ private TestResult Migrate(string assemblyPath, CachedTestResult cachedTestResul
commandLine: commandLine, commandLine: commandLine,
elapsed: TimeSpan.FromMilliseconds(0), elapsed: TimeSpan.FromMilliseconds(0),
standardOutput: cachedTestResult.StandardOutput, standardOutput: cachedTestResult.StandardOutput,
errorOutput: cachedTestResult.ErrorOutput); errorOutput: cachedTestResult.ErrorOutput,
isResultFromCache: true);
} }
private async Task CacheTestResult(ContentFile contentFile, TestResult testResult) private async Task CacheTestResult(ContentFile contentFile, TestResult testResult)
......
...@@ -20,9 +20,8 @@ internal sealed class WebDataStorage : IDataStorage ...@@ -20,9 +20,8 @@ internal sealed class WebDataStorage : IDataStorage
private const string NameResultsFileName = "ResultsFileName"; private const string NameResultsFileName = "ResultsFileName";
private const string NameResultsFileContent = "ResultsFileContent"; private const string NameResultsFileContent = "ResultsFileContent";
private const string NameEllapsedSeconds = "EllapsedSeconds"; private const string NameEllapsedSeconds = "EllapsedSeconds";
private const string DashboardUriString = "http://jdash.azurewebsites.net";
private readonly RestClient _restClient = new RestClient(DashboardUriString); private readonly RestClient _restClient = new RestClient(Constants.DashboardUriString);
public async Task AddCachedTestResult(ContentFile contentFile, CachedTestResult testResult) public async Task AddCachedTestResult(ContentFile contentFile, CachedTestResult testResult)
{ {
......
...@@ -10,6 +10,10 @@ namespace RunTests ...@@ -10,6 +10,10 @@ namespace RunTests
{ {
internal static class Constants internal static class Constants
{ {
internal const string ResultsDirectoryName = "xUnitResults"; internal static string ResultsDirectoryName => "xUnitResults";
internal static bool IsJenkinsRun => !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("JENKINS_URL"));
internal static string DashboardUriString => "http://jdash.azurewebsites.net";
} }
} }
...@@ -16,6 +16,7 @@ internal struct TestResult ...@@ -16,6 +16,7 @@ internal struct TestResult
internal TimeSpan Elapsed { get; } internal TimeSpan Elapsed { get; }
internal string StandardOutput { get; } internal string StandardOutput { get; }
internal string ErrorOutput { get; } internal string ErrorOutput { get; }
internal bool IsResultFromCache { get; }
/// <summary> /// <summary>
/// Path to the results file. Can be null in the case xunit error'd and did not create one. /// Path to the results file. Can be null in the case xunit error'd and did not create one.
...@@ -25,7 +26,7 @@ internal struct TestResult ...@@ -25,7 +26,7 @@ internal struct TestResult
internal string ResultDir { get; } internal string ResultDir { get; }
internal bool Succeeded => ExitCode == 0; internal bool Succeeded => ExitCode == 0;
internal TestResult(int exitCode, string assemblyPath, string resultDir, string resultsFilePath, string commandLine, TimeSpan elapsed, string standardOutput, string errorOutput) internal TestResult(int exitCode, string assemblyPath, string resultDir, string resultsFilePath, string commandLine, TimeSpan elapsed, string standardOutput, string errorOutput, bool isResultFromCache)
{ {
ExitCode = exitCode; ExitCode = exitCode;
AssemblyName = Path.GetFileName(assemblyPath); AssemblyName = Path.GetFileName(assemblyPath);
...@@ -36,6 +37,7 @@ internal TestResult(int exitCode, string assemblyPath, string resultDir, string ...@@ -36,6 +37,7 @@ internal TestResult(int exitCode, string assemblyPath, string resultDir, string
Elapsed = elapsed; Elapsed = elapsed;
StandardOutput = standardOutput; StandardOutput = standardOutput;
ErrorOutput = errorOutput; ErrorOutput = errorOutput;
IsResultFromCache = isResultFromCache;
} }
} }
......
...@@ -125,7 +125,8 @@ public async Task<TestResult> RunTestAsync(string assemblyPath, CancellationToke ...@@ -125,7 +125,8 @@ public async Task<TestResult> RunTestAsync(string assemblyPath, CancellationToke
commandLine: commandLine, commandLine: commandLine,
elapsed: span, elapsed: span,
standardOutput: standardOutput, standardOutput: standardOutput,
errorOutput: errorOutput); errorOutput: errorOutput,
isResultFromCache: false);
} }
catch (Exception ex) catch (Exception ex)
{ {
......
...@@ -37,8 +37,7 @@ internal static int Main(string[] args) ...@@ -37,8 +37,7 @@ internal static int Main(string[] args)
// and Jenkins runs by default until we work on this a bit more. Anyone reading this who wants // and Jenkins runs by default until we work on this a bit more. Anyone reading this who wants
// to try it out should feel free to opt into this. // to try it out should feel free to opt into this.
IDataStorage dataStorage = new LocalDataStorage(); IDataStorage dataStorage = new LocalDataStorage();
if (StringComparer.OrdinalIgnoreCase.Equals("REDMOND", Environment.UserDomainName) || if (StringComparer.OrdinalIgnoreCase.Equals("REDMOND", Environment.UserDomainName) || Constants.IsJenkinsRun)
!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("JENKINS_URL")))
{ {
Console.WriteLine("Using web cache"); Console.WriteLine("Using web cache");
dataStorage = new WebDataStorage(); dataStorage = new WebDataStorage();
......
...@@ -50,4 +50,4 @@ ...@@ -50,4 +50,4 @@
<ImportGroup Label="Targets"> <ImportGroup Label="Targets">
<Import Project="..\..\..\..\build\Targets\VSL.Imports.targets" /> <Import Project="..\..\..\..\build\Targets\VSL.Imports.targets" />
</ImportGroup> </ImportGroup>
</Project> </Project>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册