Restore AsyncOnlyStream in archive async tests as requested

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-01-16 09:50:36 +00:00
parent c7da19f3a5
commit 0de5c59a77
7 changed files with 61 additions and 27 deletions

View File

@@ -621,7 +621,12 @@ public class ArchiveTests : ReaderTests
throwOnDispose: true
)
)
await using (var archive = archiveFactory.OpenAsyncArchive(stream, readerOptions))
await using (
var archive = archiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream),
readerOptions
)
)
{
try
{

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(stream))
using (var archive = ArchiveFactory.OpenArchive(new AsyncOnlyStream(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(stream))
await using (var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(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(stream))
await using (var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(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(inputStream);
using var archive = GZipArchive.OpenArchive(new AsyncOnlyStream(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(stream);
await using var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(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(stream);
await using var archive = GZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
Assert.Equal(archive.Type, ArchiveType.GZip);
}
}

View File

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

View File

@@ -19,7 +19,9 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
#else
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(stream);
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
{
@@ -60,7 +62,9 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
#else
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(stream);
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
{
@@ -101,7 +105,9 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
#else
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(stream);
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
{
@@ -142,7 +148,9 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
#else
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(stream);
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(stream)
);
await foreach (var entry in archive.EntriesAsync.Where(entry => !entry.IsDirectory))
{
@@ -183,7 +191,9 @@ public class SevenZipArchiveAsyncTests : ArchiveTests
#else
await using var stream = File.OpenRead(testArchive);
#endif
await using var archive = await ArchiveFactory.OpenAsyncArchive(stream);
await using var archive = await ArchiveFactory.OpenAsyncArchive(
new AsyncOnlyStream(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(
stream,
new AsyncOnlyStream(stream),
ArchiveType.Tar,
CompressionType.None
)
@@ -52,7 +52,11 @@ public class TarArchiveAsyncTests : ArchiveTests
// Step 2: check if the written tar file can be read correctly
var unmodified = Path.Combine(SCRATCH2_FILES_PATH, archive);
await using (var archive2 = TarArchive.OpenAsyncArchive(File.OpenRead(unmodified)))
await using (
var archive2 = TarArchive.OpenAsyncArchive(
new AsyncOnlyStream(File.OpenRead(unmodified))
)
)
{
Assert.Equal(1, await archive2.EntriesAsync.CountAsync());
Assert.Contains(
@@ -88,7 +92,7 @@ public class TarArchiveAsyncTests : ArchiveTests
using (Stream stream = File.OpenWrite(Path.Combine(SCRATCH2_FILES_PATH, archive)))
using (
var writer = WriterFactory.OpenAsyncWriter(
stream,
new AsyncOnlyStream(stream),
ArchiveType.Tar,
CompressionType.None
)
@@ -105,7 +109,11 @@ public class TarArchiveAsyncTests : ArchiveTests
// Step 2: check if the written tar file can be read correctly
var unmodified = Path.Combine(SCRATCH2_FILES_PATH, archive);
await using (var archive2 = TarArchive.OpenAsyncArchive(File.OpenRead(unmodified)))
await using (
var archive2 = TarArchive.OpenAsyncArchive(
new AsyncOnlyStream(File.OpenRead(unmodified))
)
)
{
Assert.Equal(1, await archive2.EntriesAsync.CountAsync());
Assert.Contains(
@@ -191,7 +199,12 @@ public class TarArchiveAsyncTests : ArchiveTests
using (var inputMemory = new MemoryStream(mstm.ToArray()))
{
var tropt = new ReaderOptions { ArchiveEncoding = enc };
await using (var tr = await ReaderFactory.OpenAsyncReader(inputMemory, tropt))
await using (
var tr = await ReaderFactory.OpenAsyncReader(
new AsyncOnlyStream(inputMemory),
tropt
)
)
{
while (await tr.MoveToNextEntryAsync())
{
@@ -224,7 +237,9 @@ public class TarArchiveAsyncTests : ArchiveTests
var numberOfEntries = 0;
await using (var archiveFactory = TarArchive.OpenAsyncArchive(memoryStream))
await using (
var archiveFactory = TarArchive.OpenAsyncArchive(new AsyncOnlyStream(memoryStream))
)
{
await foreach (var entry in archiveFactory.EntriesAsync)
{

View File

@@ -92,13 +92,15 @@ public class WriterTests : TestBase
readerOptions.ArchiveEncoding.Default = encoding ?? Encoding.Default;
using var reader = ReaderFactory.OpenReader(
SharpCompressStream.Create(stream, leaveOpen: true),
readerOptions
await using var reader = await ReaderFactory.OpenAsyncReader(
new AsyncOnlyStream(SharpCompressStream.Create(stream, leaveOpen: true)),
readerOptions,
cancellationToken
);
reader.WriteAllToDirectory(
await reader.WriteAllToDirectoryAsync(
SCRATCH_FILES_PATH,
new ExtractionOptions { ExtractFullPath = true }
new ExtractionOptions { ExtractFullPath = true },
cancellationToken
);
}
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(stream);
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(new AsyncOnlyStream(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(stream);
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(new AsyncOnlyStream(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(stream);
IAsyncArchive archive = ZipArchive.OpenAsyncArchive(new AsyncOnlyStream(stream));
try
{
await archive.WriteToDirectoryAsync(