public void TestIsSymlinkNoMatch() { using (var tempDir = new TemporaryDirectory("unit-tests")) { string normalFile = Path.Combine(tempDir, "normal"); FileUtils.Touch(normalFile); CygwinUtils.IsSymlink(normalFile).Should().BeFalse(); CygwinUtils.IsSymlink(normalFile, out string target).Should().BeFalse(); } }
public void TestCreateSymlink() { Skip.IfNot(WindowsUtils.IsWindows, reason: "The 'system' file attribute can only be set on the Windows platform."); using (var tempDir = new TemporaryDirectory("unit-tests")) { string symlinkFile = Path.Combine(tempDir, "symlink"); CygwinUtils.CreateSymlink(symlinkFile, "target"); File.Exists(symlinkFile).Should().BeTrue(); File.ReadAllBytes(symlinkFile).Should().Equal(_symlinkBytes); } }
public void TestIsSymlinkMatch() { using (var tempDir = new TemporaryDirectory("unit-tests")) { string symlinkFile = Path.Combine(tempDir, "symlink"); File.WriteAllBytes(symlinkFile, _symlinkBytes); File.SetAttributes(symlinkFile, FileAttributes.System); CygwinUtils.IsSymlink(symlinkFile).Should().BeTrue(); CygwinUtils.IsSymlink(symlinkFile, out string target).Should().BeTrue(); target.Should().Be("target"); } }