Skip to content

Commit

Permalink
fixes from review
Browse files Browse the repository at this point in the history
  • Loading branch information
ntovas committed May 23, 2022
1 parent ca13bfb commit 8c38c73
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions src/Microsoft.TestPlatform.Extensions.HtmlLogger/HtmlLogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -302,16 +302,18 @@ private void PopulateHtmlFile()
Environment.GetEnvironmentVariable("UserName"), Environment.MachineName,
FormatDateTimeForRunName(DateTime.Now));

XmlFilePath = GetFilePathAndCreateFile(HtmlLoggerConstants.XmlFileExtension, fileName);
XmlFilePath = _parametersDictionary.TryGetValue(HtmlLoggerConstants.LogFileNameKey, out var _)
? GetFilePath(HtmlLoggerConstants.XmlFileExtension, fileName)
: GenerateUniqueFile(HtmlLoggerConstants.XmlFileExtension, fileName);

using (var xmlStream = _fileHelper.GetStream(XmlFilePath, FileMode.OpenOrCreate))
{
_xmlSerializer.WriteObject(xmlStream, TestRunDetails);
}

HtmlFilePath = string.IsNullOrEmpty(HtmlFilePath)
? GetFilePathAndCreateFile(HtmlLoggerConstants.HtmlFileExtension, fileName)
: HtmlFilePath;
HtmlFilePath = _parametersDictionary.TryGetValue(HtmlLoggerConstants.LogFileNameKey, out var _)
? HtmlFilePath
: GenerateUniqueFile(HtmlLoggerConstants.HtmlFileExtension, fileName)

_htmlTransformer.Transform(XmlFilePath, HtmlFilePath);
}
Expand All @@ -335,14 +337,18 @@ private void PopulateHtmlFile()
ConsoleOutput.Instance.Information(false, htmlFilePathMessage);
}

private string GetFilePathAndCreateFile(string fileExtension, string fileName)
private string GetFilePath(string fileExtension, string fileName)
{
return Path.Combine(TestResultsDirPath, string.Concat("TestResult_", fileName, $".{fileExtension}"));
}

private string GenerateUniqueFile(string fileExtension, string fileName)
{
var fullFileFormat = $".{fileExtension}";
string fullFilePath;
for (short i = 0; i < short.MaxValue; i++)
{
var fileNameWithIter = i == 0 ? fileName : GetNextIterationFile(fileName, i);
fullFilePath = Path.Combine(TestResultsDirPath, string.Concat("TestResult_", fileNameWithIter, fullFileFormat));
fullFilePath = Path.Combine(TestResultsDirPath, $"TestResult_{fileNameWithIter}.{fileExtension}");
lock (LockObject)
{
if (!File.Exists(fullFilePath))
Expand All @@ -353,7 +359,7 @@ private string GetFilePathAndCreateFile(string fileExtension, string fileName)
}
}

throw new Exception($"Cannot generate unique filename for: {fileName}");
throw new Exception($"Cannot generate unique filename for: {fileName} on path: {TestResultsDirPath}");
}

private string FormatDateTimeForRunName(DateTime timeStamp)
Expand All @@ -363,7 +369,7 @@ private string FormatDateTimeForRunName(DateTime timeStamp)

private string GetNextIterationFile(string baseName, short iteration)
{
return $"{Path.GetFileNameWithoutExtension(baseName)}[{iteration}]{(Path.HasExtension(baseName) ? Path.GetExtension(baseName) : string.Empty)}";
return Path.GetFileNameWithoutExtension(baseName) + $"[{iteration}]";
}

/// <summary>
Expand Down

0 comments on commit 8c38c73

Please sign in to comment.