Skip to content

#60: Add Mull mutation testing workflow - #41

Open
tkilias wants to merge 66 commits into
mainfrom
mull-mutation-testing
Open

tkilias wants to merge 66 commits into
mainfrom
mull-mutation-testing

Conversation

@tkilias

@tkilias tkilias commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Add a Nox session for Mull mutation testing of functional v2 C++ tests.
  • Add the pinned Mull configuration and CI workflow with dynamic Bazel test discovery.
  • Enforce the configured mutation-score threshold in CI.
  • Document local execution and toolchain overrides in the developer guide.

Validation

  • git diff --check passed.
  • The full Mull mutation session was not run locally because the required LLVM/Mull toolchain is installed by CI.

Fixes #60

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-18T07:40:06.845884Z 5769e22 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5769e22a18

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread udf-runner-cpp/v2/udf_protocol.fbs
Comment thread doc/design/v2/protocol/low_level/data_stream.md Outdated
Comment thread udf-runner-cpp/v2/json_schema/column_metadata.schema.json Outdated
Comment thread udf-runner-cpp/v2/udf_protocol.fbs
Comment thread doc/design/v2/protocol/high_level/payloads.md Outdated
@tkilias
tkilias changed the base branch from main to feature/v2-bazel-fuzzing September 18, 2026 09:16
@tkilias
tkilias added this pull request to stack #42 September 18, 2026 09:16
@tkilias
tkilias force-pushed the mull-mutation-testing branch from 5769e22 to b19d5c3 Compare September 18, 2026 09:28
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 18, 2026 09:28 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 19:12 — with GitHub Actions Waiting
@tkilias
tkilias force-pushed the mull-mutation-testing branch from 5315b6d to 39ec4fd Compare September 19, 2026 19:16
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 19:16 — with GitHub Actions Waiting
Comment thread noxfile.py Outdated
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 19:18 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 19:34 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 19:48 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 19:56 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 20:42 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 21:08 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 19, 2026 21:21 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 14:41 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 15:45 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 19:24 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 19:49 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 20:49 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 20:59 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 21:35 — with GitHub Actions Waiting
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 25, 2026 22:02 — with GitHub Actions Waiting
tkilias and others added 2 commits September 26, 2026 01:49
SonarCloud's Quality Gate on PR #41 was failing on New Code Coverage
(52.6%, required >= 80%), with zero actual code-smell/bug findings. The
gap traced to two files: the four linux_waitable_queue.hpp factory
functions were only exercised by tests excluded from coverage collection
(no-coverage/fuzz-test tags), and waitable_queue_benchmark.cc is a
cc_binary that bazel test coverage can never instrument.

Split the epoll-dependent cases out of waitable_queue_integration_test.cc
and moved/added the plain factory-function tests into a new
linux_waitable_queue_test.cc target that isn't tagged no-coverage, and
excluded benchmark sources from the Sonar coverage requirement the same
way linux_event_fd.cc already is.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
# Conflicts:
#	udf-runner-cpp/v2/BUILD.bazel
#	udf-runner-cpp/v2/sonar-project.properties
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 26, 2026 00:09 — with GitHub Actions Waiting
Even with full line coverage from linux_waitable_queue_test.cc, the
Quality Gate still failed (70.7% new coverage, need >= 80%): each factory
function's return statement carries a compiler-generated exception-unwind
branch for the case where the underlying eventfd() syscall or allocation
fails, which cannot be exercised without fault injection. event_fd_factory.cc
has the identical one-line forwarding shape and branch. This is the same
class of problem the just-merged assert.cc/assert.hpp exclusion documents,
so extend the same treatment to these two files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tkilias
tkilias requested a deployment to v2-fuzzing-pr-approval September 26, 2026 00:28 — with GitHub Actions Waiting
@sonarqubecloud

Copy link
Copy Markdown

This branch is waiting to be deployed

1 waiting deployment
v2-fuzzing-pr-approval — 326ecec2 Waiting Sep 26, 2026 by tkilias via pr_approval #108
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.

Add Mull mutation testing workflow for v2

2 participants