You must build and install qpid-interop-test before you can run the tests. The process follows the traditional steps:
or using containers:
This is a brief description for building, installing and running Qpid Interop Test. See USERGUIDE for more detail.
The following packages are required:
Package | Fedora 34 & CentOS 8 | Ubuntu Focal |
---|---|---|
Git | git | git |
Make | make | make |
Cmake | cmake | cmake |
GNU C++ compiler | gcc-c++ | build-essential |
JSON C++ (devel) | jsoncpp-devel | libjsoncpp-dev |
Python 3 (devel) | python3-devel | python3-dev |
Maven | maven | maven |
Java 11 (devel) | java-11-openjdk-devel | openjdk-11-jdk |
Qpid Proton C++ (devel) | qpid-proton-cpp-devel | libqpid-proton-cpp12-dev [^1] |
Qpid Python 3 bindings | python3-qpid-proton | python3-qpid-proton [^1] |
[^1]: Must have ppa:qpid/testing
added to repository list to install these packages.
The following are optional:
Package | Fedora 34 & CentOS 8 | Ubuntu Focal |
---|---|---|
node-js (devel) | nodejs-devel | libnode-dev |
.NET SDK 5.0 | dotnet-sdk-5.0 | aspnetcore-runtime-5.0 |
A broker is required against which to run the test. Any AMQP 1.0 broker should work. Suggestions: Apache ActiveMQ Artemis, Qpid Dispatch Router.
Git repository: https://gitbox.apache.org/repos/asf/qpid-interop-test.git
By default, qpid-interop-test will install to /usr/local
, use --CMAKE_INSTALL_PREFIX
option to change.
# If you want to use Rhea Javascript client: git clone https://github.com/amqp/rhea.git git clone https://gitbox.apache.org/repos/asf/qpid-interop-test.git cd qpid-interop-test && mkdir build && cd build cmake .. make sudo make install
Start a broker. Then:
qpid-interop-test <test-name> [test-options...]
<test-name>
may be one of:
amqp-types-test
- a test of AMQP simple typesamqp-complex-types-test
- a test of AMQP complex types (arrays, lists, maps)amqp-large-content-test
- a test of variable-size types using large content (up to 10MB)jms-messages-test
- a test of JMS message types as implemented by qpid-jmsjms-hdrs-props-test
- a test of user-definable message headers and properties as implemented by qpid-jms.all
- run all the above tests sequentially.For help on tests that can be run and options, run:
qpid-interop-test --help
For help on options for an individual test, run:
qpid-interop-test <test-name> --help
The Qpid Interop Test root directory has a containers
directory which contains Dockerfiles for Fedora 34, CentOS 8 and Ubuntu Focal. The build process builds and installs Qpid Interop Test as well as the Qpid Dispatch Router for use as a local broker.
For example:
podman build -f containers/Dockerfile.f34 -t fedora34.qit podman run -it fedora34.qit /bin/bash
In the container:
sudo /sbin/qdrouterd --daemon qpid-interop-test all