Automatic Test Registration
Don't waste time writing test registration code. Life is too short for boilerplate!
Declare tests with the TEST directive and let Audition automatically register them for you! Filter which tests are run using glob patterns on the command-line.
Function Mocking
Audition lets you mock functions without compiler flags or other external tools.
Mocking works like magic:
Type-generic Assertions
Audition is the C unit testing framework of the future!
It leverages _Generic
selection (from C11) to implement type-generic assertion macros.
Review the complete list of available assertion macros here.
Sandbox Isolation
Test cases can be isolated in a separate address space known as the sandbox. The sandbox is useful for:
- Testing intentional termination.
- Testing POSIX signals.
- Aborting a test case that exceeds a timeout.
- Capturing standard output and error.
- Simulating standard input.
Detailed Error Reporting
Audition prints the C code where your assertion failed. This provides quick visual insight into what failed and where.
When comparing multi-line strings or binary blobs Audition prints a diff indicating where mismatches occured.
Easy Integration
Audition supports the following test result formats:
- TAP
- JUnit XML
- Subunit
Choose any of these standardized formats to easily integrate Audition with your existing CI pipeline and dashboard.
Cross-platform
Audition is available for the following operating systems. For more details, review the compatibility table.
Windows 10+
macOS 13.2+
Ubuntu 22.04+
Fedora 40+