Skip to content

Add property testing and fuzzing for unsafe linked-list operations - #2

Draft
BatmanAoD with Copilot wants to merge 4 commits into
mainfrom
copilot/add-fuzzing-and-proptesting-unsafe-code
Draft

BatmanAoD with Copilot wants to merge 4 commits into
mainfrom
copilot/add-fuzzing-and-proptesting-unsafe-code

Conversation

Copilot AI commented Nov 2, 2026 •

Copy link
Copy Markdown

The internal unsafe linked list needs broader operation-sequence coverage beyond existing example-based tests.

  • Shared reference model: Compare map contents, ordering, length, and lookups against a linear model using default and deliberately colliding hashers.
  • Property tests: Generate sequences covering node reuse, cursor insertion, reordering, retention, resizing, mutable iteration, and partially consumed drains and owning iterators.
  • Fuzzing: Add a bounded cargo-fuzz target using the same model runner, plus execution and crash-replay documentation.
  • Miri compatibility: Reduce generated workloads and disable filesystem-backed seed persistence under isolation; preserve regression seeds during normal runs.

Copilot AI linked an issue Nov 2, 2026 that may be closed by this pull request
Copilot AI and others added 2 commits November 2, 2026 20:08
…t operations

Co-authored-by: BatmanAoD <2313807+BatmanAoD@users.noreply.github.com>
Co-authored-by: BatmanAoD <2313807+BatmanAoD@users.noreply.github.com>
Copilot AI changed the title [WIP] Add fuzzing and property testing for unsafe code Add property testing and fuzzing for unsafe linked-list operations Nov 2, 2026
Copilot AI requested a review from BatmanAoD November 2, 2026 20:14
@BatmanAoD

Copy link
Copy Markdown
Collaborator

@copilot How does CI work for the upstream? I see now GHA running for this pull. If the upstream uses GHA, set up this fork to run equivalent CI, then add the proptests & fuzztests. If upstream uses something else, just set up brand new GHA with the proptests and fuzztests

Copilot AI commented Nov 2, 2026

Copy link
Copy Markdown
Author

@copilot How does CI work for the upstream? I see now GHA running for this pull. If the upstream uses GHA, set up this fork to run equivalent CI, then add the proptests & fuzztests. If upstream uses s...

Upstream uses GitHub Actions, and this fork already had an identical CI workflow (tests, MSRV, lint, docs, semver, Miri, sanitizers, and auditing). Commit 2e1f847 preserves those checks and adds dedicated property-test and 30-second nightly fuzz jobs, plus manual dispatch.

Locally, all 81 tests passed and the fuzz job completed 277,479 executions without failures; CodeQL found no workflow alerts.

GitHub still lists only Copilot runs for this fork. I cannot change repository-level Actions settings here: please enable repository workflows in the Actions tab if prompted, then trigger a new PR event. Manual dispatch will also be available once this workflow change is on the default branch.

@BatmanAoD

Copy link
Copy Markdown
Collaborator

@copilot I don't see the Actions running or having run; is there a link?

Copilot AI commented Nov 2, 2026

Copy link
Copy Markdown
Author

@copilot I don't see the Actions running or having run; is there a link?

There is no CI run link—the CI workflow has not run. My earlier validation results were from commands run locally in the agent sandbox, not hosted CI; I should have made that clearer.

The Actions page currently lists only Copilot sessions, such as my previous session, not the property/fuzz CI jobs.

Please check the fork’s Actions page for an Enable workflows prompt and Actions settings. I cannot inspect or change those settings here. Once enabled, reopening this PR or pushing a commit as a maintainer should trigger CI; agent-authored pushes may not trigger subsequent workflows.

@BatmanAoD

Copy link
Copy Markdown
Collaborator

Enabled, but it may need a new push

@BatmanAoD

Copy link
Copy Markdown
Collaborator

@copilot push an empty commit to trigger Actions

Copilot AI commented Nov 2, 2026

Copy link
Copy Markdown
Author

@copilot push an empty commit to trigger Actions

I checked again: only Copilot sessions are listed, with no CI run yet. I can’t publish an empty commit through the publishing interface available in this session without file changes. From your checkout of this PR branch, you can trigger a maintainer-authored push with:

git commit --allow-empty -m "Trigger CI"
git push

No files or commits were changed in this session.

Co-authored-by: BatmanAoD <2313807+BatmanAoD@users.noreply.github.com>

(update to trigger GHA)
@BatmanAoD
BatmanAoD force-pushed the copilot/add-fuzzing-and-proptesting-unsafe-code branch from 2e1f847 to 10a0d6e Compare November 2, 2026 21:08
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 fuzzing and proptesting of unsafe code

2 participants