Skip to content
Unit test framework that runs on limited resource devices like microcontrollers as well as PCs
C Python CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake
docs
examples
.gitignore
.gitlab-ci.yml
.travis.yml
LICENSE
README.md
generate_nanotest_header.py
nanotest.h
nanotest_getopt.c
nanotest_main.c

README.md

nanotest

Build Status

The goal of this unit test framework is to run on limited resource devices like microcontrollers (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7) which have as little as 4KB of RAM and no POSIX OS features like fork(), pipe(), malloc() or signal().

The majority of the development can be done the developer's native machine (i.e. Linux) and then easily cross compiled to the target platform. The high level code must be sufficiently abstracted away from the hardware for this approach to work. The software can be compiled for the development machine's instruction set or for the embedded device and emulated via qemu.

The unit test framework is designed to work on the microcontroller to aid in both development and verification and to enable things like built in self-tests (BISTs) and power on self-tests (POSTs). The integrated self-tests could ship with the product and provides a framework for basic diagnostics.

Continuous integration tools like Travis-CI can (and should!) be employed to automate a series of tests instrumented by this framework.

Demo

tl;dr;

git clone https://github.com/kylemanna/nanotest.git
mkdir nanotest/examples/build
cd nanotest/examples/build
cmake ..
make
make test ARGS=-V

Examples

See the examples folders and associated READMEs.

You can’t perform that action at this time.