Switch to using File.LastWriteTimeUtc
This commit is contained in:
parent
07fbb3d967
commit
be18ee31be
4 changed files with 33 additions and 38 deletions
|
@ -2,16 +2,12 @@
|
|||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Xunit;
|
||||
using Microsoft.DotNet.Cli.Utils;
|
||||
using Microsoft.DotNet.ProjectModel;
|
||||
using Microsoft.DotNet.Tools.Test.Utilities;
|
||||
using Microsoft.Extensions.PlatformAbstractions;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.DotNet.Tests.EndToEnd
|
||||
{
|
||||
|
@ -57,16 +53,16 @@ namespace Microsoft.DotNet.Tests.EndToEnd
|
|||
TestOutputExecutable(OutputDirectory, buildCommand.GetOutputExecutableName(), s_expectedOutput);
|
||||
|
||||
var binariesOutputDirectory = GetCompilationOutputPath(OutputDirectory, false);
|
||||
var latestWriteTimeFirstBuild = GetLastWriteTimeOfDirectoryFiles(
|
||||
var latestWriteTimeFirstBuild = GetLastWriteTimeUtcOfDirectoryFiles(
|
||||
binariesOutputDirectory);
|
||||
|
||||
// second build; should get skipped (incremental because no inputs changed)
|
||||
buildCommand.Execute().Should().Pass();
|
||||
TestOutputExecutable(OutputDirectory, buildCommand.GetOutputExecutableName(), s_expectedOutput);
|
||||
|
||||
var latestWriteTimeSecondBuild = GetLastWriteTimeOfDirectoryFiles(
|
||||
var latestWriteTimeUtcSecondBuild = GetLastWriteTimeUtcOfDirectoryFiles(
|
||||
binariesOutputDirectory);
|
||||
Assert.Equal(latestWriteTimeFirstBuild, latestWriteTimeSecondBuild);
|
||||
Assert.Equal(latestWriteTimeFirstBuild, latestWriteTimeUtcSecondBuild);
|
||||
|
||||
TouchSourceFileInDirectory(TestDirectory);
|
||||
|
||||
|
@ -74,9 +70,9 @@ namespace Microsoft.DotNet.Tests.EndToEnd
|
|||
buildCommand.Execute().Should().Pass();
|
||||
TestOutputExecutable(OutputDirectory, buildCommand.GetOutputExecutableName(), s_expectedOutput);
|
||||
|
||||
var latestWriteTimeThirdBuild = GetLastWriteTimeOfDirectoryFiles(
|
||||
var latestWriteTimeUtcThirdBuild = GetLastWriteTimeUtcOfDirectoryFiles(
|
||||
binariesOutputDirectory);
|
||||
Assert.NotEqual(latestWriteTimeSecondBuild, latestWriteTimeThirdBuild);
|
||||
Assert.NotEqual(latestWriteTimeUtcSecondBuild, latestWriteTimeUtcThirdBuild);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -129,15 +125,15 @@ namespace Microsoft.DotNet.Tests.EndToEnd
|
|||
|
||||
TestNativeOutputExecutable(OutputDirectory, buildCommand.GetOutputExecutableName(), s_expectedOutput);
|
||||
|
||||
var latestWriteTimeFirstBuild = GetLastWriteTimeOfDirectoryFiles(binariesOutputDirectory);
|
||||
var latestWriteTimeUtcFirstBuild = GetLastWriteTimeUtcOfDirectoryFiles(binariesOutputDirectory);
|
||||
|
||||
// second build; should be skipped because nothing changed
|
||||
buildCommand.Execute().Should().Pass();
|
||||
|
||||
TestNativeOutputExecutable(OutputDirectory, buildCommand.GetOutputExecutableName(), s_expectedOutput);
|
||||
|
||||
var latestWriteTimeSecondBuild = GetLastWriteTimeOfDirectoryFiles(binariesOutputDirectory);
|
||||
Assert.Equal(latestWriteTimeFirstBuild, latestWriteTimeSecondBuild);
|
||||
var latestWriteTimeUtcSecondBuild = GetLastWriteTimeUtcOfDirectoryFiles(binariesOutputDirectory);
|
||||
Assert.Equal(latestWriteTimeUtcFirstBuild, latestWriteTimeUtcSecondBuild);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
@ -206,9 +202,9 @@ namespace Microsoft.DotNet.Tests.EndToEnd
|
|||
return false;
|
||||
}
|
||||
|
||||
private static DateTime GetLastWriteTimeOfDirectoryFiles(string outputDirectory)
|
||||
private static DateTime GetLastWriteTimeUtcOfDirectoryFiles(string outputDirectory)
|
||||
{
|
||||
return Directory.EnumerateFiles(outputDirectory).Max(f => File.GetLastWriteTime(f));
|
||||
return Directory.EnumerateFiles(outputDirectory).Max(f => File.GetLastWriteTimeUtc(f));
|
||||
}
|
||||
|
||||
private static void TouchSourceFileInDirectory(string directory)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue