Meego Wiki
Views

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

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Current status 20.12.2010)
(Qpid and libcqpid changes)
Line 1: Line 1:
= Required components =
= Required components =
-
* [http://www.openamq.org/ OpenAMQ message broker and client API]
+
* [http://qpid.apache.org/ Qpid AMQP message broker and client libary]
 +
* [http://gitorious.org/qpid-c-wrapper/libcqpid Experimental C wrapper for Qpid client library]
* [http://oss.metaparadigm.com/json-c/ JSON C implementation]
* [http://oss.metaparadigm.com/json-c/ JSON C implementation]
* testrunner-lite
* testrunner-lite
 +
 +
=== Alternative AMQP implementation ===
 +
* [http://www.openamq.org/ OpenAMQ message broker and client API]
== Building and installing required components ==
== Building and installing required components ==
-
== OpenAMQ ==
+
== Qpid ==
 +
To ensure successful building of Qpid you should install package libboost-all-dev. Check also file INSTALL of Qpid release for other prerequisites.
 +
* Download [http://mirror.eunet.fi/apache//qpid/0.8/qpid-cpp-0.8.tar.gz sources]
 +
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 ==
 +
* Download [http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz sources]
 +
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.
* Download [http://download.imatix.com/openamq/stable/OpenAMQ-1.3d1.tar.gz sources]
* Download [http://download.imatix.com/openamq/stable/OpenAMQ-1.3d1.tar.gz sources]
  tar xzvf OpenAMQ-1.3d1.tar.gz
  tar xzvf OpenAMQ-1.3d1.tar.gz
Line 16: Line 44:
  sudo cp ibase/lib/*.a /usr/local/openamq/lib
  sudo cp ibase/lib/*.a /usr/local/openamq/lib
  sudo cp ibase/include/*.h /usr/local/openamq/include
  sudo cp ibase/include/*.h /usr/local/openamq/include
-
== JSON ==
+
 
-
* Download [http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz sources]
+
-
tar xzvf json-c-0.9.tar.gz
+
-
cd json-c-0.9
+
-
./configure
+
-
make
+
-
sudo make install
+
-
sudo ldconfig
+
= Testrunner-lite =
= Testrunner-lite =
-
Testrunner-lite using OpenAMQ and JSON for event messaging can be found from [http://meego.gitorious.org/~slahtinen/meego-quality-assurance/slahtinens-testrunner-lite a testrunner-lite clone] in branch multidut.
+
Testrunner-lite using libcqpid and JSON for event messaging can be found from [http://meego.gitorious.org/~slahtinen/meego-quality-assurance/slahtinens-testrunner-lite 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.
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.
-
== Current status 20.12.2010 ==
+
== 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.
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.
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.

Revision as of 13:23, 28 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.

Personal tools