All Projects → Snaipe → Criterion

Snaipe / Criterion

Licence: mit
A cross-platform C and C++ unit testing framework for the 21st century

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Criterion

Liblava
🌋 A modern and easy-to-use library for the Vulkan API
Stars: ✭ 275 (-74.37%)
Mutual labels:  framework, cross-platform
Ark
ARK is a lightweight, agility, elastic, distributed plugin framework written in C++,make it easier and faster to create your own application service.
Stars: ✭ 370 (-65.52%)
Mutual labels:  framework, cross-platform
Cleancppproject
Clean C++ project for you to use. Features: Modern CMake, CPack, Doxygen, PlantUML, Catch Unit testing, static analysis
Stars: ✭ 276 (-74.28%)
Mutual labels:  framework, unit-testing
Dntframeworkcore
Lightweight and Extensible Infrastructure for Building Web Applications - Web Application Framework
Stars: ✭ 208 (-80.62%)
Mutual labels:  framework, unit-testing
Creeper
🐾 Creeper - The Next Generation Crawler Framework (Go)
Stars: ✭ 762 (-28.98%)
Mutual labels:  framework, cross-platform
Xrtk Core
The Official Mixed Reality Framework for Unity
Stars: ✭ 219 (-79.59%)
Mutual labels:  framework, cross-platform
Neutralinojs
Portable and lightweight cross-platform desktop application development framework
Stars: ✭ 4,731 (+340.91%)
Mutual labels:  framework, cross-platform
Framework
The Aurelia 1 framework entry point, bringing together all the required sub-modules of Aurelia.
Stars: ✭ 11,672 (+987.79%)
Mutual labels:  framework, cross-platform
Toou 2d
基于Qt Quick(Qml) 跨平台技术打造的2D框架
Stars: ✭ 413 (-61.51%)
Mutual labels:  framework, cross-platform
Bach
Bach Testing Framework
Stars: ✭ 392 (-63.47%)
Mutual labels:  framework, unit-testing
Youi
Next generation user interface and application development in Scala and Scala.js for web, mobile, and desktop.
Stars: ✭ 186 (-82.67%)
Mutual labels:  framework, cross-platform
Codenameone
Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
Stars: ✭ 992 (-7.55%)
Mutual labels:  framework, cross-platform
Robot
Native cross-platform system automation
Stars: ✭ 178 (-83.41%)
Mutual labels:  framework, cross-platform
Quiz App
A repository reflecting the progress made on the "How to Build iOS Apps with Swift, TDD & Clean Architecture" YouTube series, by Caio & Mike.
Stars: ✭ 230 (-78.56%)
Mutual labels:  framework, unit-testing
Robot Js
Native system automation for node.js
Stars: ✭ 169 (-84.25%)
Mutual labels:  framework, cross-platform
Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (-69.34%)
Mutual labels:  framework, cross-platform
Siris
DEPRECATED: The community driven fork of Iris. The fastest web framework for Golang!
Stars: ✭ 146 (-86.39%)
Mutual labels:  framework, cross-platform
Omnigui
A cross-platform GUI framework from scratch just to learn
Stars: ✭ 147 (-86.3%)
Mutual labels:  framework, cross-platform
Libgdx
Desktop/Android/HTML5/iOS Java game development framework
Stars: ✭ 19,420 (+1709.88%)
Mutual labels:  framework, cross-platform
Xtd forms
Modern c++17 library to create native gui for Microsoft Windows, Apple macOS and Linux.
Stars: ✭ 25 (-97.67%)
Mutual labels:  framework, cross-platform

Criterion Logo

Build Status Coverage Status License Version

A dead-simple, yet extensible, C and C++ unit testing framework.

Screencast

Philosophy

Most test frameworks for C require a lot of boilerplate code to set up tests and test suites -- you need to create a main, then register new test suites, then register the tests within these suits, and finally call the right functions.

This gives the user great control, at the unfortunate cost of simplicity.

Criterion follows the KISS principle, while keeping the control the user would have with other frameworks:

  • [x] C99 and C++11 compatible.
  • [x] Tests are automatically registered when declared.
  • [x] Implements a xUnit framework structure.
  • [x] A default entry point is provided, no need to declare a main unless you want to do special handling.
  • [x] Test are isolated in their own process, crashes and signals can be reported and tested.
  • [x] Unified interface between C and C++: include the criterion header and it just works.
  • [x] Supports parameterized tests and theories.
  • [x] Progress and statistics can be followed in real time with report hooks.
  • [x] TAP output format can be enabled with an option.
  • [x] Runs on Linux, FreeBSD, Mac OS X, and Windows (Compiling with MinGW GCC and Visual Studio 2015+).

Downloads

Packages

  • Mac OS X: brew install snaipe/soft/criterion

  • AUR: pacaur -S criterion

  • Ubuntu/Debian:

    $ sudo add-apt-repository ppa:snaipewastaken/ppa
    $ sudo apt-get update
    $ sudo apt-get install criterion-dev
    

Binary archives

Binary releases are available on the release page

If you have a different platform, you can still build the library from source

Developer Resources

Documentation

An online documentation is available on ReadTheDocs (PDF | Zip | Epub)

Samples

Sample tests can be found in the sample directory.

Getting help

Channel Description
Subscribe to the mailing list Criterion mailing list on freelists.org
Join the chat at https://gitter.im/Snaipe/Criterion Snaipe/Criterion on gitter.im
Join #criterion on freenode #criterion on irc.freenode.net

Misc

Credits

Criterion is built with the following projects:

Logo made by Paul Bouigue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].