CATSRunner is a unit testing framework.
Version: 20050922CATSRunner is a unit testing framework.
Operating System: Linux
C Automated Testing System (CATS) and its associated test runner (Catsrunner) implement a unit testing framework that provides developers of C-based systems, including embedded systems, the capability to use the popular test driven development approach.
CATS supports embedded cross-platform development by working in conjunction with hardware abstraction layers. CATS also comes with a thin wrapper around arm-elf-gdb's host/target communication functions.
A reference implementation for the ARM-7 CPU core is provided.
Here are some key features of "CATSRunner":
· Catsrunner was built from the ground up for cross-platform embedded software development.
· It's all written in ANSI C (yes, C++ can do more, but many embedded teams are using C).
· This software is actively maintained - we at Agile Rules built it for our own use.
· It's easy to add new target platforms. It builds now for PC and for ARM Evaluator7T board.
· Catsrunner supports Test Driven Development (and Behavior Driven Development).
· Catsrunner has been tested from its inception on real embedded hardware.
· It's been released under the GPL as open source software
· CATS and Catsrunner
· Several other software modules that provide facilities often needed for embedded software development, and abstract hardware to aid easy porting to different architectures.
· A build framework capable of building all of the software in the distribution on different platforms.
· A sample application (appexample) using many of the modules as an example of how the software in the framework fits together.
· A template application (apptemplate), mostly empty, to use as a starting point for new applications added to the framework.
· Unit tests for all included modules and applications
· Linux, UNIX, or other POSIX operating systems. The build environment should work under a POSIX wrapper, like Cygwin, but that has not yet been tested.
· binutils (tested with binutils-2.15)
· gcc (tested with gcc-3.3.5)
· gdb (tested with gdb-6.0)
· newlib (tested with newlib-1.12.0)
It should work with gcc 3.3.5 and later toolchains.