Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnirudh Agnihotry <anirudhagnihotry098@gmail.com>2018-07-12 20:19:39 +0300
committerMarek Safar <marek.safar@gmail.com>2019-02-01 12:49:13 +0300
commita005feb7962c684539a111977b584bf190032677 (patch)
treeacf5d525cb38d58c620e2e46b2120f3025a21834 /src/System.IO.FileSystem/tests
parent2842b7d9d9a0b8b6000ee1ddc320a5187133442d (diff)
MilliSecond Granualrity added to Copy operation on unix (#30996)
* test added * Test Modified * Adding Implementation * tabs removed * modifyingTest * Fixing build on HFS * Space around arithemetic operator
Diffstat (limited to 'src/System.IO.FileSystem/tests')
-rw-r--r--src/System.IO.FileSystem/tests/FileInfo/GetSetTimes.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/System.IO.FileSystem/tests/FileInfo/GetSetTimes.cs b/src/System.IO.FileSystem/tests/FileInfo/GetSetTimes.cs
index 60bffcfad2..a09ee642d0 100644
--- a/src/System.IO.FileSystem/tests/FileInfo/GetSetTimes.cs
+++ b/src/System.IO.FileSystem/tests/FileInfo/GetSetTimes.cs
@@ -105,6 +105,57 @@ namespace System.IO.Tests
}
[Fact]
+ public void CopyToMillisecondPresent()
+ {
+ FileInfo input = new FileInfo(Path.Combine(TestDirectory, GetTestFileName()));
+ input.Create().Dispose();
+
+ string driveFormat = new DriveInfo(input.DirectoryName).DriveFormat;
+ if (!driveFormat.Equals(HFS, StringComparison.InvariantCultureIgnoreCase))
+ {
+ for (int i = 0; i < 5; i++)
+ {
+ if (input.LastWriteTime.Millisecond != 0)
+ break;
+
+ // This case should only happen 1/1000 times, unless the OS/Filesystem does
+ // not support millisecond granularity.
+
+ // If it's 1/1000, or low granularity, this may help:
+ Thread.Sleep(1234);
+ input = new FileInfo(Path.Combine(TestDirectory, GetTestFileName()));
+ input.Create().Dispose();
+ }
+
+ FileInfo output = new FileInfo(Path.Combine(TestDirectory, GetTestFileName(), input.Name));
+ Assert.Equal(0, output.LastWriteTime.Millisecond);
+ output.Directory.Create();
+ output = input.CopyTo(output.FullName, true);
+
+ Assert.NotEqual(0, input.LastWriteTime.Millisecond);
+ Assert.NotEqual(0, output.LastWriteTime.Millisecond);
+ }
+ }
+
+ [Fact]
+ [PlatformSpecific(TestPlatforms.OSX)]
+ public void CopyToMillisecondPresent_HFS()
+ {
+ FileInfo input = new FileInfo(Path.Combine(TestDirectory, GetTestFileName()));
+ input.Create().Dispose();
+ FileInfo output = new FileInfo(Path.Combine(TestDirectory, GetTestFileName(), input.Name));
+
+ string driveFormat = new DriveInfo(input.DirectoryName).DriveFormat;
+ if (driveFormat.Equals(HFS, StringComparison.InvariantCultureIgnoreCase))
+ {
+ output.Directory.Create();
+ output = input.CopyTo(output.FullName, true);
+ Assert.Equal(0, input.LastWriteTime.Millisecond);
+ Assert.Equal(0, output.LastWriteTime.Millisecond);
+ }
+ }
+
+ [Fact]
public void DeleteAfterEnumerate_TimesStillSet()
{
// When enumerating we populate the state as we already have it.