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