File: main.cpp

package info (click to toggle)
doctest 1.2.9%2Brepack0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,264 kB
  • sloc: cpp: 9,836; python: 363; makefile: 14
file content (30 lines) | stat: -rw-r--r-- 1,014 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "parts/doctest_impl.h"

int main(int argc, char** argv) {
    doctest::Context context;

    // !!! THIS IS JUST AN EXAMPLE SHOWING HOW DEFAULTS/OVERRIDES ARE SET !!!

    // defaults
    context.addFilter("test-case-exclude", "*math*"); // exclude test cases with "math" in the name
    context.setOption("no-breaks", true); // don't break in the debugger when assertions fail

    context.applyCommandLine(argc, argv);

    // overrides
    context.setOption("order-by", "file"); // sort the test cases by their name

    int res = context.run(); // run

    if(context.shouldExit()) // important - query flags (and --exit) rely on the user doing this
        return res;          // propagate the result of the tests

    int client_stuff_return_code = 0;
    // your program - if the testing framework is integrated in your production code

#ifdef WITH_PAUSE
    system("pause");
#endif // WITH_PAUSE

    return res + client_stuff_return_code; // the result from doctest is propagated here as well
}