diff --git a/src/NerdBank.GitVersioning.Tests/NerdBank.GitVersioning.Tests.csproj b/src/NerdBank.GitVersioning.Tests/NerdBank.GitVersioning.Tests.csproj
index 5819c885..9e4bd7ef 100644
--- a/src/NerdBank.GitVersioning.Tests/NerdBank.GitVersioning.Tests.csproj
+++ b/src/NerdBank.GitVersioning.Tests/NerdBank.GitVersioning.Tests.csproj
@@ -25,14 +25,13 @@
-
+
-
diff --git a/src/NerdBank.GitVersioning.Tests/TestUtilities.cs b/src/NerdBank.GitVersioning.Tests/TestUtilities.cs
index dac1daec..a67edbd1 100644
--- a/src/NerdBank.GitVersioning.Tests/TestUtilities.cs
+++ b/src/NerdBank.GitVersioning.Tests/TestUtilities.cs
@@ -1,7 +1,4 @@
-#if NET461
-using SevenZipNET;
-#endif
-using Validation;
+using Validation;
using System;
using System.Collections.Generic;
@@ -67,36 +64,19 @@ internal static void ExtractEmbeddedResource(string resourcePath, string extract
internal static ExpandedRepo ExtractRepoArchive(string repoArchiveName)
{
-#if NET461
string archiveFilePath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
string expandedFolderPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
- ExtractEmbeddedResource($"repos.{repoArchiveName}.7z", archiveFilePath);
+ ExtractEmbeddedResource($"repos.{repoArchiveName}.zip", archiveFilePath);
try
{
- for (int retryCount = 0; ; retryCount++)
- {
- try
- {
- var extractor = new SevenZipExtractor(archiveFilePath);
- extractor.ExtractAll(expandedFolderPath);
- return new ExpandedRepo(expandedFolderPath);
- }
- catch (System.ComponentModel.Win32Exception) when (retryCount < 2)
- {
- }
- }
+ System.IO.Compression.ZipFile.ExtractToDirectory(archiveFilePath, expandedFolderPath);
+ return new ExpandedRepo(expandedFolderPath);
}
finally
{
- if (File.Exists(archiveFilePath))
- {
- File.Delete(archiveFilePath);
- }
+ File.Delete(archiveFilePath);
}
-#else
- throw new PlatformNotSupportedException();
-#endif
}
internal class ExpandedRepo : IDisposable
diff --git a/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs b/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs
index 937b0575..4f10abf1 100644
--- a/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs
+++ b/src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs
@@ -49,19 +49,17 @@ public void NotRepo()
Assert.Equal(0, oracle.VersionHeight);
}
- [Fact(Skip = "Unstable test. See issue #125")]
+ [Fact]
public void Submodule_RecognizedWithCorrectVersion()
{
using (var expandedRepo = TestUtilities.ExtractRepoArchive("submodules"))
{
- this.Context = this.CreateGitContext(expandedRepo.RepoPath);
-
- this.Context.RepoRelativeProjectDirectory = "a";
+ this.Context = this.CreateGitContext(Path.Combine(expandedRepo.RepoPath, "a"));
var oracleA = new VersionOracle(this.Context);
Assert.Equal("1.3.1", oracleA.SimpleVersion.ToString());
Assert.Equal("e238b03e75", oracleA.GitCommitIdShort);
- this.Context.RepoRelativeProjectDirectory = Path.Combine("b", "projB");
+ this.Context = this.CreateGitContext(Path.Combine(expandedRepo.RepoPath, "b", "projB"));
var oracleB = new VersionOracle(this.Context);
Assert.Equal("2.5.2", oracleB.SimpleVersion.ToString());
Assert.Equal("3ea7f010c3", oracleB.GitCommitIdShort);
diff --git a/src/NerdBank.GitVersioning.Tests/repos/submodules.7z b/src/NerdBank.GitVersioning.Tests/repos/submodules.7z
deleted file mode 100644
index be5ac172..00000000
Binary files a/src/NerdBank.GitVersioning.Tests/repos/submodules.7z and /dev/null differ
diff --git a/src/NerdBank.GitVersioning.Tests/repos/submodules.zip b/src/NerdBank.GitVersioning.Tests/repos/submodules.zip
new file mode 100644
index 00000000..04488cb7
Binary files /dev/null and b/src/NerdBank.GitVersioning.Tests/repos/submodules.zip differ