Skip to content

Complete missing implementations and add comprehensive test infrastructure#11

Merged
infinityabundance merged 9 commits intomainfrom
copilot/fix-compile-errors-request-struct
Feb 16, 2026
Merged

Complete missing implementations and add comprehensive test infrastructure#11
infinityabundance merged 9 commits intomainfrom
copilot/fix-compile-errors-request-struct

Conversation

Copy link
Contributor

Copilot AI commented Feb 15, 2026

Codebase had compilation errors, incomplete stubs, and minimal test coverage. This PR completes the missing implementations and establishes a solid testing foundation.

Core API Completeness

  • Added bytes_transferred field to Request struct for I/O completion tracking
  • Implemented Queue::take_completed() method with proper mutex synchronization
  • Returns snapshot of completed requests, clears internal buffer atomically
std::vector<Request> take_completed() {
    std::lock_guard<std::mutex> lock(mtx_);
    std::vector<Request> result;
    result.swap(completed_);
    return result;
}

Compression & Error Handling

  • GDeflate compression now reports ENOTSUP via error callback instead of silent failure
  • Restructured compression handling to explicitly check compression modes
  • Added proper error context population for unsupported operations

Enum & C ABI Updates

  • Added RequestStatus::Cancelled enum value for future cancellation support
  • Synchronized C ABI: added DS_REQUEST_CANCELLED and DS_COMPRESSION_GDEFLATE
  • Updated all enum conversion functions between C and C++ APIs
  • Added bytes_transferred to C request struct

Test Infrastructure

Added 4 test suites covering previously untested code paths:

  • cpu_backend_test: Read/write, partial reads, compression, concurrent operations
  • error_handling_test: Invalid FD, missing files, error context validation
  • gdeflate_stub_test: Unsupported compression error verification
  • basic_queue_test: Core queue operations (existing, now integrated)

CI/CD & Documentation

  • GitHub Actions workflow: GCC + Clang × Debug + Release matrix builds
  • Updated README to reflect actual working state, removed stale "build broken" warnings
  • Documented known limitations (GDeflate spec needed, Vulkan compute pending)

Build Status: All compilation errors resolved, 4/4 test suites passing


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

Copilot AI and others added 3 commits February 15, 2026 02:49
… and take_completed() method

Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix compilation errors in codebase for CPU backend Fix build: Add missing Request::bytes_transferred field and Queue::take_completed() implementation Feb 15, 2026
Copilot AI and others added 5 commits February 16, 2026 05:52
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Co-authored-by: infinityabundance <255699974+infinityabundance@users.noreply.github.com>
Copilot AI changed the title Fix build: Add missing Request::bytes_transferred field and Queue::take_completed() implementation Complete missing implementations and add comprehensive test infrastructure Feb 16, 2026
@infinityabundance infinityabundance marked this pull request as ready for review February 16, 2026 06:06
@infinityabundance infinityabundance merged commit 9c38143 into main Feb 16, 2026
6 checks passed
@infinityabundance infinityabundance deleted the copilot/fix-compile-errors-request-struct branch February 19, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants