libtasks Documentation
1.6
Main Page
Namespaces
Classes
Files
File List
File Members
main.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013-2014 ADTECH GmbH
3
* Licensed under MIT (https://github.com/adtechlabs/libtasks/blob/master/COPYING)
4
*
5
* Author: Andreas Pohl
6
*/
7
8
#include <cppunit/TestCase.h>
9
#include <cppunit/TestFixture.h>
10
#include <cppunit/ui/text/TextTestRunner.h>
11
#include <cppunit/extensions/HelperMacros.h>
12
#include <cppunit/extensions/TestFactoryRegistry.h>
13
#include <cppunit/TestResult.h>
14
#include <cppunit/TestResultCollector.h>
15
#include <cppunit/TestRunner.h>
16
#include <cppunit/BriefTestProgressListener.h>
17
#include <cppunit/CompilerOutputter.h>
18
#include <cppunit/XmlOutputter.h>
19
20
#include "
test_http_sender.h
"
21
#include "
test_disk_io_task.h
"
22
#include "
test_socket.h
"
23
#include "
test_uwsgi_thrift.h
"
24
#include "
test_uwsgi_thrift_async.h
"
25
#include "
test_bitset.h
"
26
#include "
test_exec.h
"
27
28
#include <
tasks/dispatcher.h
>
29
#include <
tasks/executor.h
>
30
31
#include <string>
32
33
using namespace
tasks;
34
35
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_http_sender
);
36
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_disk_io_task
);
37
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_socket
);
38
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_uwsgi_thrift
);
39
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_uwsgi_thrift_async
);
40
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_bitset
);
41
CPPUNIT_TEST_SUITE_REGISTRATION
(
test_exec
);
42
43
int
main
(
int
argc,
char
** argv) {
44
if
(argc > 1 && std::string(argv[1]) ==
"multi"
) {
45
dispatcher::init_run_mode
(
dispatcher::mode::MULTI_LOOP
);
46
}
47
// use 4 worker threads
48
dispatcher::init_workers
(4);
49
// reduce the idle timeout for executor threads for the tests
50
executor::set_timeout
(5);
51
52
dispatcher::instance
()->start();
53
54
// informs test-listener about testresults
55
CPPUNIT_NS::TestResult testresult;
56
57
// register listener for collecting the test-results
58
CPPUNIT_NS::TestResultCollector collectedresults;
59
testresult.addListener(&collectedresults);
60
61
// register listener for per-test progress output
62
CPPUNIT_NS::BriefTestProgressListener progress;
63
testresult.addListener(&progress);
64
65
// insert test-suite at test-runner by registry
66
CPPUNIT_NS::TestRunner testrunner;
67
testrunner.addTest(CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());
68
testrunner.run(testresult);
69
70
// output results in compiler-format
71
CPPUNIT_NS::CompilerOutputter compileroutputter(&collectedresults, std::cerr);
72
compileroutputter.write();
73
74
// Output XML for Jenkins CPPunit plugin
75
std::ofstream xmlFileOut(
"libtasks_results.xml"
);
76
CPPUNIT_NS::XmlOutputter xmlOut(&collectedresults, xmlFileOut);
77
xmlOut.write();
78
79
tasks::dispatcher::destroy
();
80
81
// return 0 if tests were successful
82
return
collectedresults.wasSuccessful() ? 0 : 1;
83
}
tasks::dispatcher::init_workers
static void init_workers(uint8_t num_workers)
Definition:
dispatcher.h:47
tasks::dispatcher::instance
static std::shared_ptr< dispatcher > instance()
Definition:
dispatcher.h:75
test_bitset
Definition:
test_bitset.h:12
test_http_sender.h
test_socket
Definition:
test_socket.h:25
test_disk_io_task.h
main
int main(int argc, char **argv)
Definition:
main.cpp:43
test_disk_io_task
Definition:
test_disk_io_task.h:14
test_bitset.h
tasks::executor::set_timeout
static void set_timeout(uint32_t timeout)
Definition:
executor.h:55
executor.h
tasks::test_exec
Definition:
test_exec.h:14
test_uwsgi_thrift
Definition:
test_uwsgi_thrift.h:24
test_uwsgi_thrift.h
tasks::dispatcher::init_run_mode
static void init_run_mode(mode m)
Definition:
dispatcher.h:65
test_uwsgi_thrift_async.h
dispatcher.h
CPPUNIT_TEST_SUITE_REGISTRATION
CPPUNIT_TEST_SUITE_REGISTRATION(test_http_sender)
test_http_sender
Definition:
test_http_sender.h:35
tasks::dispatcher::mode::MULTI_LOOP
test_uwsgi_thrift_async
Definition:
test_uwsgi_thrift_async.h:34
tasks::dispatcher::destroy
static void destroy()
Definition:
dispatcher.h:83
test_exec.h
test_socket.h
tests
main.cpp
Generated by
1.8.6