Sput Unit Testing Framework for C/C++
Sput is an unit testing framework for C/C++ that focuses on simplicity of use and maximum portability.
It is implemented as a single ANSI C compliant header file that provides all macros needed to start unit testing in nearly no time: 10 minutes and you are good to go!
Features
- Portable
- Sput works on a large set of operating systems, including Microsoft Windows, Linux and FreeBSD.
- Simple API
- The unit testing API is simple and easy to understand.
- 10 Minutes to Learn
- After reading the tutorial you should be ready to write your unit tests right away.
- Open Source
- Sput is both Open Source and Free Software.
- Dependency Free
- Sput does not depend on any other third party software beside the system's standard C runtime.
- Minimalistic
- Sput comes as a single ANSI C compliant header file.
- Integrable
- Unit tests based on Sput can be integrated into various build systems like CMake and/or GNU Make easily.
Why Choose Sput?
Sput's simplicity and portability allow you to rapidly learn how to use its testing macros, to write intuitive test cases and to compile and run your tests on all operating systems that an ANSI C compiler is provided for.
As Sput consists of a single header file only, you just have to add it to your project and are done. No library needs to be compiled, no external dependencies have to be satisfied.
Sput gives you a reasonably trimmed set of macros that allow you to focus on your test cases without getting in your way!
Supported Platforms
Sput is written in plain ANSI C and does not use any operating system specific code. Therefore, it should build and be usable on any operating system that a C compiler is available for.
The following operating systems and architectures have been tested and are known to work:
- Linux (x86, x86_64, powerpc, sparc)
- FreeBSD (x86, x86_64)
- NetBSD (x86, x86_64)
- Windows XP/Vista/7 (x86, x86_64)
Supported Compilers
The following compilers have been tested and are known to work:
- GNU Compiler Collection (gcc)
- Clang / LLVM
- Pelles C
- Tiny C Compiler (tcc)
- Microsoft Visual Studio (MSVC)
Any other ANSI C compiler should work as well.
Documentation
Sput comes with a short tutorial that provides all the knowledge required to use the unit testing framework in nearly no time.
License (Open Source)
Sput is both Open Source and Free Software provided under the terms of the liberal, OSI approved 2-clause BSD License.
That means, you can use Sput to test your software projects free of charge, both open source and commercial ones.
For details, have a look at the "LICENSE" file included in the distribution.
Downloads
The latest release of Sput is: sput-1.4.0.tar.gz.
Who Is Already Using Sput?
Sput is already in use in both commercial and Open Source projects.
Open Source projects using Sput include:
- Brubeck, a Statsd-compatible metrics aggregator
- Themis, a crypto library for storage and messaging
- hnetd, a home network configuration daemon
- Chucho, a logging framework for C++11
- Infinity, a graphics APP & SDK
- liballium, a Tor pluggable transports utility library
- snacka, an RFC-6455 compliant websocket client
- ohybridproxy, a mDNS DNS-SD hybrid-proxy
- libgwavi, a library aimed at creating AVI files
- skicka, a library for making HTTP requests and interacting with REST services
- mjson, a parser for modified json
- Icecore, Git for machines
- Feynman Simulator, a generic purpose quantum simulator
- yadp, yet another day planner
- Ultimate BLAS Library, a C wrapper library to automate BLAS library selection
- dynar, a C implementation of a dynamic array similar to the Java ArrayList
- ...
David Breunig developed a variant of Sput which produces JUnit-like XML output. Its repository is available on GitHub.
Anton Moiseev developed a port of Sput to Arduino which is available on GitHub.
Are you using Sput in one of your
projects and like to see your project listed here?
Drop me a line!