crpcut (pronounced "crap cut") is
the Compartmented Robust Posix C++ Unit Test system
version 1.9.4

With crpcut it is easy to write tests that other unit-test systems cannot manage.

Why crpcut?

  • With crpcut it is easy to write tests. You focus on test structure and test logic, rather than the frames imposed by your test system.

  • With crpcut every test runs in its own process and its own working directory. If a test fails, the process is killed before it does further harm. This means that every test starts from a clean slate, unaffected by other tests.

  • With crpcut a test can crash or enter an infinite loop, without ill effects to the other tests.

  • With crpcut you can set real-time and cpu-time constraints on tests. If they're severely overdrawn, the test case process is killed.

  • With crpcut you can stub almost any system library function, or add filters that affects their result.

  • With crpcut you can limit heap availability to a test case, and test for memory leaks.

  • With crpcut you can define dependencies between tests and between testsuites, so that if a fundamental test fails, those depending on it need not clutter the test report.