Fix Archive async tests to not use AsyncOnlyStream (archives need seekable streams)

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-01-16 09:23:32 +00:00
parent 2906529080
commit e919930cf6
7 changed files with 27 additions and 29 deletions

View File

@@ -623,7 +623,7 @@ public class ArchiveTests : ReaderTests
)
await using (
var archive = archiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream),
stream,
readerOptions
)
)

View File

@@ -22,7 +22,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
#else
await using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")))
#endif
using (var archive = ArchiveFactory.OpenArchive(new AsyncOnlyStream(stream)))
using (var archive = ArchiveFactory.OpenArchive(stream))
{
var entry = archive.Entries.First();
await entry.WriteToFileAsync(Path.Combine(SCRATCH_FILES_PATH, entry.Key.NotNull()));
@@ -49,7 +49,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
await using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz")))
#endif
{
await using (var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream)))
await using (var archive = GZipArchive.OpenAsyncArchive(stream))
{
var entry = await archive.EntriesAsync.FirstAsync();
await entry.WriteToFileAsync(Path.Combine(SCRATCH_FILES_PATH, entry.Key.NotNull()));
@@ -77,7 +77,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
#else
await using Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"));
#endif
await using (var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream)))
await using (var archive = GZipArchive.OpenAsyncArchive(stream))
{
Assert.Throws<InvalidFormatException>(() => archive.AddEntry("jpg\\test.jpg", jpg));
await archive.SaveToAsync(Path.Combine(SCRATCH_FILES_PATH, "Tar.tar.gz"));
@@ -98,7 +98,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
inputStream.Position = 0;
}
using var archive = GZipArchive.OpenArchive(new AsyncOnlyStream(inputStream));
using var archive = GZipArchive.OpenArchive(inputStream);
var archiveEntry = archive.Entries.First();
MemoryStream tarStream;
@@ -148,7 +148,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
public async Task TestGzCrcWithMostSignificantBitNotNegative_Async()
{
using var stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"));
await using var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
await using var archive = GZipArchive.OpenAsyncArchive(stream);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
{
Assert.InRange(entry.Crc, 0L, 0xFFFFFFFFL);
@@ -159,7 +159,7 @@ public class GZipArchiveAsyncTests : ArchiveTests
public async Task TestGzArchiveTypeGzip_Async()
{
using var stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Tar.tar.gz"));
await using var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
await using var archive = GZipArchive.OpenAsyncArchive(stream);
Assert.Equal(archive.Type, ArchiveType.GZip);
}
}

View File

@@ -655,7 +655,7 @@ public class RarArchiveAsyncTests : ArchiveTests
testArchive = Path.Combine(TEST_ARCHIVES_PATH, testArchive);
using var stream = File.OpenRead(testArchive);
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
stream
);
Assert.True(await archive.IsSolidAsync());
await using (var reader = await archive.ExtractAllEntriesAsync())

View File

@@ -20,7 +20,7 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
stream
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
@@ -63,7 +63,7 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
stream
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
@@ -106,7 +106,7 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
stream
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
@@ -149,7 +149,7 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
stream
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
@@ -192,7 +192,7 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
stream
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))

View File

@@ -35,7 +35,7 @@ public class TarArchiveAsyncTests : ArchiveTests
using (Stream stream = File.OpenWrite(Path.Combine(SCRATCH2_FILES_PATH, archive)))
using (
var writer = WriterFactory.OpenAsyncWriter(
new AsyncOnlyStream(stream),
stream,
ArchiveType.Tar,
CompressionType.None
)
@@ -54,7 +54,7 @@ public class TarArchiveAsyncTests : ArchiveTests
var unmodified = Path.Combine(SCRATCH2_FILES_PATH, archive);
await using (
var archive2 = TarArchive.OpenAsyncArchive(
new AsyncOnlyStream(File.OpenRead(unmodified))
File.OpenRead(unmodified)
)
)
{
@@ -92,7 +92,7 @@ public class TarArchiveAsyncTests : ArchiveTests
using (Stream stream = File.OpenWrite(Path.Combine(SCRATCH2_FILES_PATH, archive)))
using (
var writer = WriterFactory.OpenAsyncWriter(
new AsyncOnlyStream(stream),
stream,
ArchiveType.Tar,
CompressionType.None
)
@@ -111,7 +111,7 @@ public class TarArchiveAsyncTests : ArchiveTests
var unmodified = Path.Combine(SCRATCH2_FILES_PATH, archive);
await using (
var archive2 = TarArchive.OpenAsyncArchive(
new AsyncOnlyStream(File.OpenRead(unmodified))
File.OpenRead(unmodified)
)
)
{
@@ -200,7 +200,7 @@ public class TarArchiveAsyncTests : ArchiveTests
{
var tropt = new ReaderOptions { ArchiveEncoding = enc };
await using (
var tr = await ReaderFactory.OpenAsyncReader(new AsyncOnlyStream(inputMemory), tropt)
var tr = await ReaderFactory.OpenAsyncReader(inputMemory, tropt)
)
{
while (await tr.MoveToNextEntryAsync())
@@ -235,7 +235,7 @@ public class TarArchiveAsyncTests : ArchiveTests
var numberOfEntries = 0;
await using (
var archiveFactory = TarArchive.OpenAsyncArchive(new AsyncOnlyStream(memoryStream))
var archiveFactory = TarArchive.OpenAsyncArchive(memoryStream)
)
{
await foreach (var entry in archiveFactory.EntriesAsync)

View File

@@ -92,15 +92,13 @@ public class WriterTests : TestBase
readerOptions.ArchiveEncoding.Default = encoding ?? Encoding.Default;
await using var reader = await ReaderFactory.OpenAsyncReader(
new AsyncOnlyStream(SharpCompressStream.Create(stream, leaveOpen: true)),
readerOptions,
cancellationToken
using var reader = ReaderFactory.OpenReader(
SharpCompressStream.Create(stream, leaveOpen: true),
readerOptions
);
await reader.WriteAllToDirectoryAsync(
reader.WriteAllToDirectory(
SCRATCH_FILES_PATH,
new ExtractionOptions { ExtractFullPath = true },
cancellationToken
new ExtractionOptions { ExtractFullPath = true }
);
}
VerifyFiles();

View File

@@ -185,7 +185,7 @@ public class ZipArchiveAsyncTests : ArchiveTests
{
using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Zip.deflate.zip")))
{
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(stream);
try
{
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
@@ -209,7 +209,7 @@ public class ZipArchiveAsyncTests : ArchiveTests
{
using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Zip.deflate.zip")))
{
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(stream);
try
{
await archive.WriteToDirectoryAsync(
@@ -233,7 +233,7 @@ public class ZipArchiveAsyncTests : ArchiveTests
using (Stream stream = File.OpenRead(Path.Combine(TEST_ARCHIVES_PATH, "Zip.deflate.zip")))
{
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(stream);
try
{
await archive.WriteToDirectoryAsync(