How do you test binaries? (not libraries)

For your original question, testing binaries, I'd definitely recommend just executing the binary itself and asserting the stdout/stderr/status (Command::output is super useful for this). Cargo will automatically ensure that your binary is compiled when running integration tests (tests/*.rs) as well.

Also FWIW I think Cargo is a good example of what "almost all the bells and whistles" would look like, but it's pretty complicated as others have mentioned. Cargo does exec itself (via Command, behind many layers), though.

2 Likes