From ed2759eb6ae0362d607c70a167081d696c9968c0 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Sat, 12 Jun 2021 12:38:33 -0600 Subject: [PATCH 1/2] Switch from 7z to zip for test archive This not only gets us able to address #125, but allows the test to run on .NET Core runtimes as well, since the 7z library we were using only ran on net461. The test from #125 is still broken though, on account of not regularly running. --- .../NerdBank.GitVersioning.Tests.csproj | 3 +- .../TestUtilities.cs | 30 +++--------------- .../repos/submodules.7z | Bin 9322 -> 0 bytes .../repos/submodules.zip | Bin 0 -> 36757 bytes 4 files changed, 6 insertions(+), 27 deletions(-) delete mode 100644 src/NerdBank.GitVersioning.Tests/repos/submodules.7z create mode 100644 src/NerdBank.GitVersioning.Tests/repos/submodules.zip 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/repos/submodules.7z b/src/NerdBank.GitVersioning.Tests/repos/submodules.7z deleted file mode 100644 index be5ac1721c128b6140ae84689d82a5a81d7c4da5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9322 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 YBLe{e1zi9z000c2ZVCaYPLpu}07>pN761SM diff --git a/src/NerdBank.GitVersioning.Tests/repos/submodules.zip b/src/NerdBank.GitVersioning.Tests/repos/submodules.zip new file mode 100644 index 0000000000000000000000000000000000000000..04488cb74cd4d3d35697205b16b2c96346408695 GIT binary patch literal 36757 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 OuK*5%^#V3vu>T8(dc`yV literal 0 HcmV?d00001 From daa03038aca727597a9f0b0b99c4c20cd6c9c5f9 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Sat, 12 Jun 2021 13:12:34 -0600 Subject: [PATCH 2/2] Fix up submodule handling in managed git Fixes #125 by enabling the test that now passes. --- src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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);