File: main.cpp

package info (click to toggle)
libtut 0.0.20070706-3
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye
  • size: 1,144 kB
  • sloc: cpp: 3,588; xml: 137; makefile: 18; ansic: 9
file content (70 lines) | stat: -rw-r--r-- 1,835 bytes parent folder | download | duplicates (4)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <tut/tut.hpp>
#include <tut/tut_reporter.hpp>
#include <iostream>

using std::exception;
using std::string;
using std::cout;
using std::cerr;
using std::endl;

using tut::reporter;
using tut::groupnames;

namespace tut
{
test_runner_singleton runner;
}

int main(int argc, const char* argv[])
{
    reporter visi;

    if (argc < 2 || argc > 3)
    {
        cout << "TUT example test application." << endl;
        cout << "Usage: example [regression] | [list] | [ group] [test]" << endl;
        cout << "       List all groups: example list" << endl;
        cout << "       Run all tests: example regression" << endl;
        cout << "       Run one group: example std::auto_ptr" << endl;
        cout << "       Run one test: example std::auto_ptr 3" << endl;
    }

    cout << "\nFAILURE and EXCEPTION in these tests are FAKE ;)\n\n";

    tut::runner.get().set_callback(&visi);

    try
    {
        if (argc == 1 || (argc == 2 && string(argv[1]) == "regression"))
        {
            tut::runner.get().run_tests();
        }
        else if (argc == 2 && string(argv[1]) == "list")
        {
            cout << "registered test groups:" << endl;
            groupnames gl = tut::runner.get().list_groups();
            groupnames::const_iterator i = gl.begin();
            groupnames::const_iterator e = gl.end();
            while(i != e)
            {
                cout << "  " << *i << endl;
                ++i;
            }
        }
        else if (argc == 2 && string(argv[1]) != "regression")
        {
            tut::runner.get().run_tests(argv[1]);
        }
        else if (argc == 3)
        {
            tut::runner.get().run_test(argv[1],::atoi(argv[2]));
        }
    }
    catch (const exception& ex)
    {
        cerr << "tut raised ex: " << ex.what() << endl;
    }

    return 0;
}