Skip to the content.

Case study: uutils coreutils vs GNU coreutils

uutils coreutils is a Rust rewrite of GNU coreutils that aims to be a drop in replacement. behave recorded GNU coreutils 9.12 and replayed the cases against uutils built from main.

As of Oct 27, 2026 this led to 17 bug reports and 24 fix PRs upstream, 11 of them merged. Every issue and PR says it was found with behave and each fix comes with a test.

Examples of what it found

What kind of bugs a black-box probe finds

Mostly the long tail: argument parsing of values that look like flags, error wording and context, exit codes on read errors, and locale formatting leaking into file names. These are exactly the things scripts depend on and unit tests rarely cover.

Try it on your own port

See Test a Rust rewrite of a CLI against the original.

Back to behave ยท Source on GitHub