Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #27229

Closed (moved)
(moved)
Open
Created Aug 21, 2018 by Chelsea Komlo@chelsea

Create fuzzing harness to compare C/Rust Functionality

In porting over functionality to Rust, it can be useful to compare functionality between C/Rust. While ideally unit tests should catch most behavior, having a fuzzer to catch edge cases can be handy.

We should write a test harness that fuzzes C/Rust similar functions and compares their output. Ideally, a test would look something like this:

  1. Setup C test case
  2. Set up Rust test case
  3. Provide both functions with the same generated arbitrary input
  4. Compare results

It is worth noting that in most cases we will want to improve behavior when porting to Rust, but this tool can be useful for small cases where we want bitwise identical functions.

Alex Crichton recommended looking at https://github.com/alexcrichton/ctest as one option- it is worth looking at what a simple test harness should be and how to have code be reusable between tests.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking