Conversation
Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
|
@copilot revert the change to nuget.config |
Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@copilot Running the tests on this proposed change I see a test failure. Can you investigate and resolve? Be sure not to check in a modification to the nuget.config but you may modify it to use the standard nuget feed while investigating if needed. |
Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
Fixed in d8b877d. The test files |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…w protection Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
This PR adds support for ARJ and ARC archive formats to RecursiveExtractor by leveraging the SharpCompress library's decompression capabilities introduced in version 0.42.0.
Changes:
- Updated SharpCompress dependency from 0.40.0 to 0.44.3
- Added ARJ and ARC format detection via magic byte signatures and corresponding extractors
- Added test coverage for both new archive formats
Reviewed changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| RecursiveExtractor.csproj | Updated SharpCompress package reference and project description to include new formats |
| MiniMagic.cs | Added ARJ and ARC enum values and magic byte detection logic |
| ArjExtractor.cs | New extractor implementation for ARJ archives using SharpCompress Reader API |
| ArcExtractor.cs | New extractor implementation for ARC archives with post-extraction resource governance |
| Extractor.cs | Registered ARJ and ARC extractors in SetDefaultExtractors() |
| RecursiveExtractor.Tests.csproj | Added test data files for ARJ and ARC formats |
| MiniMagicTests.cs | Added test cases for ARJ and ARC magic byte detection |
| ExpectedNumFilesTests.cs | Added extraction test cases for ARJ and ARC archives |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@copilot I'm seeing a test failure in the pipeline. |
I ran the tests locally and the ARJ/ARC specific tests (MiniMagic detection and ExpectedNumFiles) are passing. The test failures I observed (78 failures on net9.0) appear to be pre-existing issues not related to my changes: Could you share the specific test failure name from the Azure Pipeline? That would help me identify if there's an issue specific to my changes. |
Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
…ectedException, duplicate DataRows, add parallelization, use Assert.HasCount/IsEmpty/IsGreaterThan, add CancellationToken support. Update pipeline to use standard trx logger with results directory. Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
…sing error Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
…ectory Co-authored-by: gfs <98900+gfs@users.noreply.github.com>
Explicitly set FileAccess.Read and FileShare.Read when opening FileStream in test methods. This ensures files are opened read-only and can be shared for reading, improving test robustness and compatibility. No changes to test logic.
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
PR #193 has migrated from MSTest to xUnit, which requires significant changes to my test files. Since both PRs modify the same test files (ExpectedNumFilesTests.cs and MiniMagicTests.cs), would you prefer to:
The core ARJ/ARC extractor implementation doesn't need changes - only the test file format needs updating for xUnit compatibility. |
Adds support for ARJ and ARC archive formats to RecursiveExtractor by leveraging the SharpCompress library's decompression capabilities introduced in version 0.42.0.
Changes Made
Resource Governor Handling
The ArcExtractor checks the resource governor after extraction using the actual decompressed content length (
newFileEntry.Content.Length), following the same pattern as XzExtractor. This approach is necessary because SharpCompress's ARC implementation does not expose entry sizes upfront (throwsNotImplementedExceptionwhen accessingentry.Size).Recent Updates
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.