From b83ee67cdcb30a739a399774565b9278b5ab63b6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 27 Nov 2025 16:01:24 +0000 Subject: [PATCH] Add regression test for TarArchive.ExtractAllEntries() Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com> --- .../SharpCompress.Test/Tar/TarArchiveTests.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/SharpCompress.Test/Tar/TarArchiveTests.cs b/tests/SharpCompress.Test/Tar/TarArchiveTests.cs index efbde472..e6017ab0 100644 --- a/tests/SharpCompress.Test/Tar/TarArchiveTests.cs +++ b/tests/SharpCompress.Test/Tar/TarArchiveTests.cs @@ -295,4 +295,28 @@ public class TarArchiveTests : ArchiveTests Assert.False(isTar); } + + [Fact] + public void Tar_ExtractAllEntries_ReadsAllEntries() + { + // Tests that ExtractAllEntries correctly iterates through all entries + // This is a regression test for issue #1029 + var archiveFullPath = Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar"); + using var archive = TarArchive.Open(archiveFullPath); + using var reader = archive.ExtractAllEntries(); + + var readEntries = 0; + while (reader.MoveToNextEntry()) + { + readEntries++; + + if (reader.Entry.IsDirectory) + continue; + + using var ms = new MemoryStream(); + reader.WriteEntryTo(ms); + } + + Assert.Equal(archive.Entries.Count, readEntries); + } }