Meego Wiki
Views

Quality/QA-tools/MCTS test automation design/poc-implementation

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Qpid and libcqpid changes)
Line 57: Line 57:
== Status 28.12.2010 ==
== Status 28.12.2010 ==
Minimal implementation of Qpid cleint library C wrapper has been done. Event tags and libcqpid usage implementation work in testrunner-lite is in progress.
Minimal implementation of Qpid cleint library C wrapper has been done. Event tags and libcqpid usage implementation work in testrunner-lite is in progress.
 +
 +
=== Events ===
 +
JSON formatted events structures are carried in body of AMQP message. Each event should have at least the following fields:
 +
* name (string)
 +
Example event with additional data:
 +
{
 +
  "name" : "event1",
 +
  "data" :
 +
  {
 +
    "description" : "Measurement value",
 +
    "value" : 123
 +
  }
 +
}

Revision as of 08:39, 29 December 2010

Contents

Required components

Alternative AMQP implementation

Building and installing required components

Qpid

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

libcqpid C-wrapper for Qpid

Requires Qpid client libraries.

git clone git://gitorious.org/qpid-c-wrapper/libcqpid.git
cd libcqpid
./configure
make
sudo make install

JSON

tar xzvf json-c-0.9.tar.gz
cd json-c-0.9
./configure
make
sudo make install
sudo ldconfig

OpenAMQ (not used anymore)

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

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.

Status 20.12.2010

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.

Status 28.12.2010

Minimal implementation of Qpid cleint library C wrapper has been done. Event tags and libcqpid usage implementation work in testrunner-lite is in progress.

Events

JSON formatted events structures are carried in body of AMQP message. Each event should have at least the following fields:

  • name (string)

Example event with additional data:

{ 
  "name" : "event1",
  "data" :
  {
    "description" : "Measurement value",
    "value" : 123
  }
}
Personal tools