Contents |
To ensure successful building of Qpid you should install package libboost-all-dev. Check also file INSTALL of Qpid release for other prerequisites.
tar xzvf qpid-cpp-0.8.tar.gz cd qpidc-0.8 ./configure --without-sasl make sudo make install
Requires Qpid client libraries.
git clone git://gitorious.org/qpid-c-wrapper/libcqpid.git cd libcqpid ./configure make sudo make install
tar xzvf json-c-0.9.tar.gz cd json-c-0.9 ./configure make sudo make install sudo ldconfig
This implementation was tested before Qpid.
tar xzvf OpenAMQ-1.3d1.tar.gz cd OpenAMQ-1.3d1 IBASE=$PWD/ibase sh build.sh
We need to install archives and headers to system directories
sudo mkdir /usr/local/openamq sudo mkdir /usr/local/openamq/lib sudo mkdir /usr/local/openamq/include sudo cp ibase/lib/*.a /usr/local/openamq/lib sudo cp ibase/include/*.h /usr/local/openamq/include
Testrunner-lite using libcqpid and JSON for event messaging can be found from a testrunner-lite clone in branch multidut.
In this proof of concepts, a separate testrunner-lite processes are used to run tests on each DUT. This produces multiple result XML files and requires a tool which is able to combine the results.
Testrunner-lite is able to send and receive events through OpenAMQ message broker. Event data is serialized in JSON format and data is carried in the body of AMQP message.
Currently special test steps (ones with event attribute) can be used to send an event or wait for an event. This way execution of two distinct test runs can be synchronized. Also test steps run on DUT may generate/receive events, thus enabling communication between testrunner-lite or other DUTs.
Minimal implementation of Qpid cleint library C wrapper has been done. Event tags and libcqpid usage implementation work in testrunner-lite is in progress.
JSON formatted events structures are carried in body of AMQP message. Each event should have at least the following fields:
Example event with additional data:
{
"name" : "event1",
"data" :
{
"description" : "Measurement value",
"value" : 123
}
}