forked from apache/qpid-dispatch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
95 lines (65 loc) · 2.41 KB
/
README
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Qpid Dispatch
=============
A lightweight AMQP router for building scalable, available, and performant messaging
interconnect.
Dependencies
============
To build dispatch on a yum-based Linux system, you will need the following
packages installed:
- qpid-proton-c-devel
- python-qpid-proton
- cmake
- make
- gcc
- python-devel
- cyrus-sasl-plain
- cyrus-sasl-devel
- asciidoc (for building docs)
- asciidoctor (for building docs)
- python-unittest2 (python2-unittest2 on Fedora) (we use unittest2 for running python tests)
Dispatch will not build on Windows.
To build formatted documentation (man pages, HTML, PDF) see the requirements in doc/README
Building and testing
====================
From the dispatch directory:
$ mkdir my_build # or directory of your choice.
$ cd my_build
$ cmake ..
$ make
Running The Tests
=================
From the <build> directory you can run all the system and tests with:
$ ctest -VV
ctest uses the script <build>/test/run.py to set up the correct environment for
tests. You can use it to run tests individually from the <build>/tests
directory, for example:
$ ./run.py unit_tests_size 3
$ ./run.py -m unittest system_tests_qdstat
Run it without arguments to get a summary of how it can be used:
$ ./run.py
Test Suite Code Coverage (GNU tools only)
=========================================
Use coverage analysis to ensure that all code paths are exercised by
the test suite. To run the tests and perform code coverage analysis:
# install the lcov package
$ yum install lcov
# configure and build for the Coverage build type (from the <build> directory):
$ cmake -DCMAKE_BUILD_TYPE=Coverage .. && make
# run the test suite and generate the coverage html output
$ ctest && make coverage
# Then point your browser at:
<build>/coverage_results/html/index.html
Clean build, install and test
=============================
$ source config.sh; test.sh
This does the following:
- NOTE: delete any existing directories 'build' and 'install'
- Do a fresh cmake and make in directory 'build'
- Run unit tests (not system tests) in 'build'
- Do 'make install' into the directory 'install'
- Run system tests on the installation in 'install'.
Using Valgrind
==============
If valgrind is installed and cmake option 'USE_VALGRIND' is 'ON' the tests will
be run with valgrind's memcheck debugger. You can set other types of test runner
or modify the valgrind flags by setting the TEST_RUNNER cmake variable.