diff --git a/tests/SharpCompress.Test/SharpCompress.Test.csproj b/tests/SharpCompress.Test/SharpCompress.Test.csproj
index 2afb99380..916f67b67 100644
--- a/tests/SharpCompress.Test/SharpCompress.Test.csproj
+++ b/tests/SharpCompress.Test/SharpCompress.Test.csproj
@@ -12,6 +12,9 @@
$(DefineConstants);WINDOWS
+
+ $(DefineConstants);LINUX
+
diff --git a/tests/SharpCompress.Test/Tar/TarReaderTests.cs b/tests/SharpCompress.Test/Tar/TarReaderTests.cs
index 88c30cfa9..c99776647 100644
--- a/tests/SharpCompress.Test/Tar/TarReaderTests.cs
+++ b/tests/SharpCompress.Test/Tar/TarReaderTests.cs
@@ -201,13 +201,10 @@ public void Tar_Corrupted()
Assert.Throws(() => reader.MoveToNextEntry());
}
-#if !NETFRAMEWORK
+#if LINUX
[Fact]
public void Tar_GZip_With_Symlink_Entries()
{
- var isWindows = System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(
- System.Runtime.InteropServices.OSPlatform.Windows
- );
using Stream stream = File.OpenRead(
Path.Combine(TEST_ARCHIVES_PATH, "TarWithSymlink.tar.gz")
);
@@ -226,38 +223,32 @@ public void Tar_GZip_With_Symlink_Entries()
Overwrite = true,
WriteSymbolicLink = (sourcePath, targetPath) =>
{
- if (!isWindows)
+ var link = new Mono.Unix.UnixSymbolicLinkInfo(sourcePath);
+ if (File.Exists(sourcePath))
{
- var link = new Mono.Unix.UnixSymbolicLinkInfo(sourcePath);
- if (File.Exists(sourcePath))
- {
- link.Delete(); // equivalent to ln -s -f
- }
- link.CreateSymbolicLinkTo(targetPath);
+ link.Delete(); // equivalent to ln -s -f
}
+ link.CreateSymbolicLinkTo(targetPath);
},
}
);
- if (!isWindows)
+ if (reader.Entry.LinkTarget != null)
{
- if (reader.Entry.LinkTarget != null)
+ var path = Path.Combine(SCRATCH_FILES_PATH, reader.Entry.Key.NotNull());
+ var link = new Mono.Unix.UnixSymbolicLinkInfo(path);
+ if (link.HasContents)
{
- var path = Path.Combine(SCRATCH_FILES_PATH, reader.Entry.Key.NotNull());
- var link = new Mono.Unix.UnixSymbolicLinkInfo(path);
- if (link.HasContents)
- {
- // need to convert the link to an absolute path for comparison
- var target = reader.Entry.LinkTarget;
- var realTarget = Path.GetFullPath(
- Path.Combine($"{Path.GetDirectoryName(path)}", target)
- );
+ // need to convert the link to an absolute path for comparison
+ var target = reader.Entry.LinkTarget;
+ var realTarget = Path.GetFullPath(
+ Path.Combine($"{Path.GetDirectoryName(path)}", target)
+ );
- Assert.Equal(realTarget, link.GetContents().ToString());
- }
- else
- {
- Assert.True(false, "Symlink has no target");
- }
+ Assert.Equal(realTarget, link.GetContents().ToString());
+ }
+ else
+ {
+ Assert.True(false, "Symlink has no target");
}
}
}