Criterion is a fine unit testing framework for C/C++. By providing the 
infrastructure we can hopefully motivate us to do some more unit tests outside 
of ctags.

For more information about criterion, please just ask or look at 
http://criterion.readthedocs.io/en/master/ and 
https://github.com/Snaipe/Criterion.

Summary of its headline features:

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


I do plan to create a real test for an upcoming PR (wanna fix #1398 and 
related).
You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/1427

-- Commit Summary --

  * Build system preparations for using the Criterion unit testing framework
  * Add example test that makes use of the criterion test unit framework.

-- File Changes --

    M configure.ac (2)
    A m4/geany-criterion.m4 (10)
    M tests/Makefile.am (15)
    A tests/criterion-tap-test.sh (4)
    A tests/simple.c (34)

-- Patch Links --

https://github.com/geany/geany/pull/1427.patch
https://github.com/geany/geany/pull/1427.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1427

Reply via email to