Skip to content
- The generator is now a shell script (bash/ksh/zsh) that reads a binary’s symbol table (
readelf, objdump, or nm) to find test cases — no more source-code parsing.
- Test cases are found by naming convention, not by annotations like the old
A_Test.
- The shell-script generator is less fragile and more universal than the old source parser.
- It’s modular —
readelf, objdump, and nm are all supported, and you can write a module for a different toolchain.
- The old version is end-of-life and no longer maintained.
- The new runner architecture is modular: run the same tests with a simple/custom runner on an embedded device, and a fork runner on your dev machine — see Core Concepts.
- Rename your test functions (annotations can stay for now, so old and new AceUnit can run side by side during migration):
A_Before → prefix with beforeEach
A_BeforeClass → prefix with beforeAll
A_After → prefix with afterEach
A_AfterClass → prefix with afterAll
A_Test → prefix with test
- Get the new AceUnit running alongside the old one — see Getting Started.
- Deactivate the old version once the new one is verified.
- Annotation-style processing (
A_Test, A_BeforeClass, etc.) — removed to drop the fragile source parser (and the Java dependency it required) in favor of naming conventions read via the shell-script generator. Expected to return once C gets real annotations.
- Multiple fixture methods per fixture — previous versions allowed several setup/teardown functions per fixture; this wasn’t really used and added memory and complexity for little benefit.