Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced testing for rustworkx-core #1390

Open
IvanIsCoding opened this issue Feb 23, 2025 · 1 comment
Open

Advanced testing for rustworkx-core #1390

IvanIsCoding opened this issue Feb 23, 2025 · 1 comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@IvanIsCoding
Copy link
Collaborator

IvanIsCoding commented Feb 23, 2025

What is the expected enhancement?

Currently, we test rustworkx with unit tests in Python and we test rustworkx-core with unit tests and doctests in Rust.

Because rustworkx-core is written completely in Rust and has a simpler testing setup (no need for tools that understand two languages), we could run some more advanced tests for it:

  • Miri: find undefined behaviour in Rust
  • Mutation Testing: use cargo-mutants to find lines of code that are covered by tests but do not cause test failures
  • Fuzzing: use cargo-fuzz, most likely to find panics
  • Property-based testing: use quickcheck to generate randomized tests that are stronger
@IvanIsCoding IvanIsCoding added enhancement New feature or request good first issue Good for newcomers labels Feb 23, 2025
@IvanIsCoding
Copy link
Collaborator Author

Also, Miri is known to cause issues to some dependencies we have in Cargo.lock so check https://github.com/Qiskit/qiskit/blob/e4048320db76dcd738a36f5376628855d20e97b3/.github/workflows/miri.yml#L28 to see some patches Qiskit uses.

@IvanIsCoding IvanIsCoding added the help wanted Extra attention is needed label Feb 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant