atharvalade opened a new pull request, #2950: URL: https://github.com/apache/iggy/pull/2950
## Which issue does this PR close? <!-- We generally require a GitHub issue to be filed for all bug fixes and enhancements. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123. --> Closes #2859 ## Rationale <!-- Why is this change needed? If the issue explains it well, a one-liner is fine. --> The BDD test script runs all SDK tests via Docker Compose but has no way to collect code coverage from the containers. The Go workaround (`go test -coverprofile`) does not scale to the other SDKs (Rust, Python, Node, C#, Java). ## What changed? <!-- 2-4 sentences. Problem first (before), then solution (after). --> Previously, coverage collection from BDD containers required per-SDK workarounds outside the shared Docker Compose stack. There was no unified mechanism to instrument all six SDKs during a BDD run. A `--coverage` flag was added to `run-bdd-tests.sh` that loads a Compose override file (`docker-compose.coverage.yml`). The override mounts a shared `./reports` volume into each BDD container and replaces the test command with the SDK-specific coverage-instrumented variant (Go coverprofile, cargo-llvm-cov, pytest-cov, c8, dotnet CodeCoverage, JaCoCo). SDK dependency changes were minimal: `pytest-cov` added to Python BDD, `jacoco` plugin added to Java BDD, `Microsoft.Testing.Extensions.CodeCoverage` added to C# BDD. ## Local Execution - Passed - Pre-commit hooks ran ## AI Usage <!-- If AI tools were used, please answer: 1. Which tools? (e.g., GitHub Copilot, Claude, ChatGPT) 2. Scope of usage? (e.g., autocomplete, generated functions, entire implementation) 3. How did you verify the generated code works correctly? 4. Can you explain every line of the code if asked? If no AI tools were used, write "None" or delete this section. --> 1. Claude Opus 4.6 2. Assisted with codebase exploration, plan drafting, and implementation scaffolding 3. Verified via shellcheck, bash syntax validation, Docker Compose config merge, argument parsing tests, trailing whitespace/newline checks, uv lockfile sync, and license header comparison 4. Yes -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
