[PR #1045] [CLOSED] Fix Windows-only RAR multi-threading test failure #1468

Open
opened 2026-01-29 22:20:43 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/adamhathcock/sharpcompress/pull/1045
Author: @Copilot
Created: 11/27/2025
Status: Closed

Base: adam/multi-threadedHead: copilot/sub-pr-1040-again


📝 Commits (5)

  • ac32f2e Initial plan
  • 31fd8f4 Fix Windows-only test failure by removing multi-threading support for RAR archives
  • acffccd Refactor RAR to create new Unpack instances per stream for multi-threading support
  • 3ec4035 Fix SupportsMultiThreading to consider solid archives
  • 5a74721 Add IRarUnpackFactory and refactor RarStream to use factory pattern

📊 Changes

7 files changed (+295 additions, -61 deletions)

View changed files

📝 src/SharpCompress/Archives/Rar/RarArchive.cs (+2 -0)
📝 src/SharpCompress/Archives/Rar/RarArchiveEntry.cs (+32 -31)
src/SharpCompress/Compressors/Rar/IRarUnpackFactory.cs (+34 -0)
📝 src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs (+49 -5)
📝 src/SharpCompress/Compressors/Rar/RarCrcStream.cs (+46 -5)
📝 src/SharpCompress/Compressors/Rar/RarStream.cs (+25 -1)
📝 src/SharpCompress/Readers/Rar/RarReader.cs (+107 -19)

📄 Description

  • Create IRarUnpackFactory interface with factory implementations
  • Update RarStream to use factory pattern for creating owned IRarUnpack instances
  • Support both factory (non-solid) and shared instance (solid) modes
  • Update RarCrcStream and RarBLAKE2spStream for both modes
  • Update RarArchiveEntry to use factory for non-solid, shared for solid
  • Update RarReader to use factory for non-solid, shared for solid
  • Verify all 871 tests pass
  • Code review
  • Security scan (CodeQL)

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/adamhathcock/sharpcompress/pull/1045 **Author:** [@Copilot](https://github.com/apps/copilot-swe-agent) **Created:** 11/27/2025 **Status:** ❌ Closed **Base:** `adam/multi-threaded` ← **Head:** `copilot/sub-pr-1040-again` --- ### 📝 Commits (5) - [`ac32f2e`](https://github.com/adamhathcock/sharpcompress/commit/ac32f2eb1fbdd051c1ec1b30a9d78194f7f2bf76) Initial plan - [`31fd8f4`](https://github.com/adamhathcock/sharpcompress/commit/31fd8f46d8adec933987dcfaaba60bac60ef4c60) Fix Windows-only test failure by removing multi-threading support for RAR archives - [`acffccd`](https://github.com/adamhathcock/sharpcompress/commit/acffccd8894b6f7bc8f9764d9038e27fb1b77d4b) Refactor RAR to create new Unpack instances per stream for multi-threading support - [`3ec4035`](https://github.com/adamhathcock/sharpcompress/commit/3ec4035d55137d4d4c5d1a961e8e147fc0ca6619) Fix SupportsMultiThreading to consider solid archives - [`5a74721`](https://github.com/adamhathcock/sharpcompress/commit/5a7472146cda65d4b85f0c635decdddc68a1840d) Add IRarUnpackFactory and refactor RarStream to use factory pattern ### 📊 Changes **7 files changed** (+295 additions, -61 deletions) <details> <summary>View changed files</summary> 📝 `src/SharpCompress/Archives/Rar/RarArchive.cs` (+2 -0) 📝 `src/SharpCompress/Archives/Rar/RarArchiveEntry.cs` (+32 -31) ➕ `src/SharpCompress/Compressors/Rar/IRarUnpackFactory.cs` (+34 -0) 📝 `src/SharpCompress/Compressors/Rar/RarBLAKE2spStream.cs` (+49 -5) 📝 `src/SharpCompress/Compressors/Rar/RarCrcStream.cs` (+46 -5) 📝 `src/SharpCompress/Compressors/Rar/RarStream.cs` (+25 -1) 📝 `src/SharpCompress/Readers/Rar/RarReader.cs` (+107 -19) </details> ### 📄 Description - [x] Create IRarUnpackFactory interface with factory implementations - [x] Update RarStream to use factory pattern for creating owned IRarUnpack instances - [x] Support both factory (non-solid) and shared instance (solid) modes - [x] Update RarCrcStream and RarBLAKE2spStream for both modes - [x] Update RarArchiveEntry to use factory for non-solid, shared for solid - [x] Update RarReader to use factory for non-solid, shared for solid - [x] Verify all 871 tests pass - [x] Code review - [x] Security scan (CodeQL) <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 22:20:43 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/sharpcompress#1468