qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kp...@apache.org
Subject [1/2] qpid-site git commit: Added content pages for Qpid Interop Test
Date Tue, 05 Dec 2017 23:18:41 GMT
Repository: qpid-site
Updated Branches:
  refs/heads/asf-site ed98eeda0 -> 3ef7d3097


http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/input/releases/qpid-interop-test-0.1.0/QUICKSTART.md
----------------------------------------------------------------------
diff --git a/input/releases/qpid-interop-test-0.1.0/QUICKSTART.md b/input/releases/qpid-interop-test-0.1.0/QUICKSTART.md
new file mode 100644
index 0000000..94e457a
--- /dev/null
+++ b/input/releases/qpid-interop-test-0.1.0/QUICKSTART.md
@@ -0,0 +1,234 @@
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+
+-->
+
+# QUICKSTART GUIDE
+
+You must build *and install* qpid-interop-test before you can run the tests.
+
+By default, qpid-interop-test will install to /usr/local, but you can set any
+non-priviedged directory as the install prefix using the CMAKE_INSTALL_PREFIX
+environment variable, for example $HOME/install.
+
+The following tools are needed to build qpid-interop-test:
+
+ * git
+ * gcc-c++
+ * Python 2.7.x
+ * cmake
+ * Java JDK
+ * Maven
+ * JSON cpp
+
+The following Qpid components must be installed *before* you build and install
+qpid-interop-test:
+
+ * Qpid Proton (including C++ Proton API)
+ * Qpid Python
+
+The following are not required, but if installed and present, will be tested:
+
+ * Rhea (a Javascript client, also requires npm and nodejs)
+ * AMQP.Net Lite (requires mono)
+
+Pre-requisites can be installed using the standard system package manager (yum,
+dnf, apt-get etc.) OR built from source and installed.
+
+These are the install steps:
+
+1. Install prerequisites, from packages or source
+2. Install or download / build AMQP brokers to test against (or set up networked brokers)
+3. Build qpid-interop-test
+4. Run the tests
+
+## 1. Install prerequisites
+
+### 1.1 RHEL6
+
+Currently RHEL6 is not supported because it uses Python 2.6.x, and the test code uses
+features of Python 2.7.x. This may be supported in a future release.
+
+### 1.2 RHEL7
+
+From a clean install:
+
+````
+yum install cmake maven java-1.8.0-openjdk-devel perl-XML-XPath
+````
+
+Some packages will need to be downloaded from [EPEL](https://fedoraproject.org/wiki/EPEL).
+To set up the EPEL repo in yum:
+
+````
+wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
+rpm -ivh epel-release-latest-6.noarch.rpm
+````
+
+then install the following packages:
+
+````
+yum install jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton
+````
+
+### 1.3 Fedora 26
+
+All packages are available directly from the Fedora repositories:
+
+````
+dnf install gcc-c++ cmake maven java-1.8.0-openjdk-devel perl-XML-XPath jsoncpp-devel nodejs-rhea
qpid-proton-cpp-devel python-qpid-proton
+````
+
+## 2. Obtaining a broker
+
+Qpid-interop-test requires a running broker to be available. This
+may be on localhost as a local install or build, or on another machine, in which case its
+IP addresss must be known. Some local broker install options are:
+
+### 2.1 ActiveMQ 5
+
+Download from [Apache](http://activemq.apache.org/download.html).
+
+Make the following changes to the `activemq.xml` config file: For XML element
+`broker.transportConnectors.transportConnector@name="amqp"` add the attribute
+`wireFormat.allowNonSaslConnections=true`. ie:
+
+````
+<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576000&amp;wireFormat.allowNonSaslConnections=true"/>
+````
+
+### 2.2 Artemis
+
+Download from [Apache](https://activemq.apache.org/artemis/download.html).
+
+### 2.3 Qpid cpp broker
+
+    yum install qpid-cpp-server
+
+and set the configuration file in /etc/qpid/qpidd.conf as follows:
+
+````
+auth=no
+queue-patterns=jms.queue.qpid-interop
+````
+
+### 2.4 Qpid Dispatch Router
+
+    yum install qpid-dispatch-router
+
+and add the following to the config file in /etc/qpid-dispatch/qdrouterd.conf:
+
+````
+listener {
+    host: ::1
+    port: amqp
+    authenticatePeer: no
+    saslMechanisms: ANONYMOUS
+}
+
+````
+
+## 3. Install qpid-interop-test
+
+Qpid-interop-test may be installed locally (preferred for local builds) or to the system
+(which requires root privileges). For a local install, use the `-DCMAKE_INSTALL_PREFIX`
+option to the `cmake` command. If it is omitted, then qpid-interop-test will be installed
+into the default system directories.  The source may be unpacked, or (if you need to use
the
+latest and greatest), cloned from git:
+
+````
+git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git
+````
+
+Assuming the source tree is located in directory {{qpid-interop-test}}:
+
+````
+cd qpid-interop-test
+mkdir build
+cd build
+````
+For a local install:
+
+````
+cmake -DCMAKE_INSTALL_PREFIX=<abs-path-to-local-install-dir> ..
+make install
+````
+
+For a system install, root privileges are required:
+
+````
+cmake ..
+make
+sudo make install
+
+````
+
+## 4. Run the tests
+
+### 4.1 Set the environment
+
+The config.sh script is in the qpid-interop-test build directory: 
+
+````
+source build/config.sh
+````
+
+### 4.2 Start the test broker
+
+If the broker is at a remote location rather than localhost, the IP address must be known.
 In tests using
+the Qpid Dispatch Router, then the entire broker network must be running before the tests
are run. The IP
+addresses of the sender (the broker to which messages are being sent) and receiver (the broker
from which
+messages will be received) must be known.
+
+### 4.3 Run chosen tests
+
+The available tests are:
+
+| Module | Description | Clients |
+| ------ | ----------- | ------- |
+| amqp_large_content_test | Tests implementation of large messages up to 10MB | C++ Python
AMQP.NetLite |
+| amqp_types_test | Tests the implementation of AMQP 1.0 types | C++ Python Rhea AMQP.NetLite
|
+| jms_hdrs_props_test | Tests JMS headers and properties | C++ JMS Python |
+| jms_messages_test | Tests all JMS message types (except ObjectMessage) | C++ JMS Python
|
+
+The preferred method to run the tests is using the Python module option as follows:
+
+````
+python -m qpid_interop_test.amqp_types_test
+python -m qpid_interop_test.jms_messages_test
+...
+````
+
+If the broker is remote, use the following to point to the broker(s):
+
+````
+python -m qpid_interop_test.amqp_types_test --sender <broker-ip-addr> --receiver <broker-ip-addr>
+python -m qpid_interop_test.jms_messages_test --sender <broker-ip-addr> --receiver
<broker-ip-addr>
+...
+````
+
+In tests using the Qpid dispatch router, a multi-node configuration may be set up such that
messages
+are sent to a different broker to that from which they will be received. For example, to
send to
+broker A and receive from broker B:
+
+````
+python -m qpid_interop_test.amqp_types_test --sender <broker-ip-addr-A> --receiver
<broker-ip-addr-B>
+python -m qpid_interop_test.jms_messages_test --sender <broker-ip-addr-A> --receiver
<broker-ip-addr-B>
+...
+````

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/input/releases/qpid-interop-test-0.1.0/index.md
----------------------------------------------------------------------
diff --git a/input/releases/qpid-interop-test-0.1.0/index.md b/input/releases/qpid-interop-test-0.1.0/index.md
new file mode 100644
index 0000000..e025179
--- /dev/null
+++ b/input/releases/qpid-interop-test-0.1.0/index.md
@@ -0,0 +1,61 @@
+;;
+;; Licensed to the Apache Software Foundation (ASF) under one
+;; or more contributor license agreements.  See the NOTICE file
+;; distributed with this work for additional information
+;; regarding copyright ownership.  The ASF licenses this file
+;; to you under the Apache License, Version 2.0 (the
+;; "License"); you may not use this file except in compliance
+;; with the License.  You may obtain a copy of the License at
+;;
+;;   http://www.apache.org/licenses/LICENSE-2.0
+;;
+;; Unless required by applicable law or agreed to in writing,
+;; software distributed under the License is distributed on an
+;; "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+;; KIND, either express or implied.  See the License for the
+;; specific language governing permissions and limitations
+;; under the License.
+;;
+
+# Qpid Interop Test 0.1.0
+
+Qpid Interop Test is a suite of AMQP interoperability tests.  More
+about [Qpid Interop
+Test]({{site_url}}/components/interop-test/index.html).
+
+For a detailed list of the changes in this release, see the [release
+notes](release-notes.html).
+
+## Downloads
+
+It's important to [verify the
+integrity]({{site_url}}/download.html#verify-what-you-download) of
+the files you download.
+
+| Content | Download | Verify |
+|---------|----------|--------|
+| Interop Test | [qpid-interop-test-0.1.0.tar.gz](http://archive.apache.org/dist/qpid/interop-test/0.1.0/qpid-interop-test-0.1.0.tar.gz)
| [PGP](http://archive.apache.org/dist/qpid/interop-test/0.1.0/qpid-interop-test-0.1.0.tar.gz.asc)
|
+
+## Documentation
+
+
+ - [Quickstart guide](QUICKSTART.html)
+ - [User guide](users-guide.html)
+ - [Developer overview](https://git-wip-us.apache.org/repos/asf?p=qpid-interop-test.git;a=blob_plain;f=docs/qpid-interop-test-devel-overview.txt;hb=0.1.0)
+ - [Test HOWTO](https://git-wip-us.apache.org/repos/asf?p=qpid-interop-test.git;a=blob_plain;f=docs/Test_HOWTO.txt;hb=0.1.0)
+ - [Shim HOWTO](https://git-wip-us.apache.org/repos/asf?p=qpid-interop-test.git;a=blob_plain;f=docs/Shim_HOWTO.txt;hb=0.1.0)
+
+
+## More information
+
+ - [All release artefacts](http://archive.apache.org/dist/qpid/interop-test/0.1.0)
+ - [Resolved issues in JIRA](https://issues.apache.org/jira/issues/?jql=project+%3D+QPIDIT+AND+fixVersion+%3D+%270.1.0%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC)
+ - [Source repository tag](https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git/tree/refs/tags/0.1.0)
+
+<script type="text/javascript">
+  _deferredFunctions.push(function() {
+      if ("0.1.0" === "{{current_interop_test_release}}") {
+          _modifyCurrentReleaseLinks();
+      }
+  });
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/input/releases/qpid-interop-test-0.1.0/release-notes.md
----------------------------------------------------------------------
diff --git a/input/releases/qpid-interop-test-0.1.0/release-notes.md b/input/releases/qpid-interop-test-0.1.0/release-notes.md
new file mode 100644
index 0000000..77e22e9
--- /dev/null
+++ b/input/releases/qpid-interop-test-0.1.0/release-notes.md
@@ -0,0 +1,74 @@
+;;
+;; Licensed to the Apache Software Foundation (ASF) under one
+;; or more contributor license agreements.  See the NOTICE file
+;; distributed with this work for additional information
+;; regarding copyright ownership.  The ASF licenses this file
+;; to you under the Apache License, Version 2.0 (the
+;; "License"); you may not use this file except in compliance
+;; with the License.  You may obtain a copy of the License at
+;;
+;;   http://www.apache.org/licenses/LICENSE-2.0
+;;
+;; Unless required by applicable law or agreed to in writing,
+;; software distributed under the License is distributed on an
+;; "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+;; KIND, either express or implied.  See the License for the
+;; specific language governing permissions and limitations
+;; under the License.
+;;
+
+# Qpid Interop Test 0.1.0 Release Notes
+
+Qpid Interop Test is a suite of AMQP interoperability tests.  More
+about [Qpid Interop
+Test]({{site_url}}/components/interop-test/index.html).
+
+For more information about this release, including download links and
+documentation, see the [release overview](index.html).
+
+
+## New features and improvements
+
+ - [QPIDIT-20](https://issues.apache.org/jira/browse/QPIDIT-20) - Add ability to detect broker,
skip tests that fail for that broker
+ - [QPIDIT-21](https://issues.apache.org/jira/browse/QPIDIT-21) - Add shims for C++ client
+ - [QPIDIT-22](https://issues.apache.org/jira/browse/QPIDIT-22) - Add ability to run on Jenkins
CI
+ - [QPIDIT-32](https://issues.apache.org/jira/browse/QPIDIT-32) - Use Maven to build Java
components
+ - [QPIDIT-33](https://issues.apache.org/jira/browse/QPIDIT-33) - Add JMS message headers
and properties to test suite
+ - [QPIDIT-41](https://issues.apache.org/jira/browse/QPIDIT-41) - Rearrange test directory
structure to better organize tests and shims
+ - [QPIDIT-42](https://issues.apache.org/jira/browse/QPIDIT-42) - Split JMS message test
into two separate tests: message bodies, and message headers/properties
+ - [QPIDIT-44](https://issues.apache.org/jira/browse/QPIDIT-44) - Add AMQP large content
test
+ - [QPIDIT-53](https://issues.apache.org/jira/browse/QPIDIT-53) - Eliminate use of authentication
when collecting broker connection properties
+ - [QPIDIT-84](https://issues.apache.org/jira/browse/QPIDIT-84) - Update README, QUICKSTART,
add a users' guide
+ - [QPIDIT-96](https://issues.apache.org/jira/browse/QPIDIT-96) - Improvements in Java component
management
+ - [QPIDIT-98](https://issues.apache.org/jira/browse/QPIDIT-98) - Change Proton C++ Receiver
shims to use latest non-deprecated API calls
+
+## Bugs fixed
+
+ - [QPIDIT-24](https://issues.apache.org/jira/browse/QPIDIT-24) - Broker identification failure
blocks tests
+ - [QPIDIT-34](https://issues.apache.org/jira/browse/QPIDIT-34) - Update to jsoncpp text
format has broken test harness for all C++ shims
+ - [QPIDIT-38](https://issues.apache.org/jira/browse/QPIDIT-38) - Artemis broker-added properties
not handled correctly in python receive shim
+ - [QPIDIT-40](https://issues.apache.org/jira/browse/QPIDIT-40) - Sender and Receiver threads
don't stop when tests end in some error conditions
+ - [QPIDIT-51](https://issues.apache.org/jira/browse/QPIDIT-51) - Method needed to skip sensing
broker type
+ - [QPIDIT-55](https://issues.apache.org/jira/browse/QPIDIT-55) - Proton install dir is hard
coded into cmake
+ - [QPIDIT-56](https://issues.apache.org/jira/browse/QPIDIT-56) - Rhea installs to /usr/lib
regardless of cmake install dir
+ - [QPIDIT-57](https://issues.apache.org/jira/browse/QPIDIT-57) - Cmake installer should
check for presence of Node.js and Rhea client
+ - [QPIDIT-66](https://issues.apache.org/jira/browse/QPIDIT-66) - Shims should install into
a libexec directory, not into the Python site-packages path
+ - [QPIDIT-67](https://issues.apache.org/jira/browse/QPIDIT-67) - Compile errors after recent
header cleanup in Proton C++ bindings
+ - [QPIDIT-69](https://issues.apache.org/jira/browse/QPIDIT-69) - JMS tests fail with "Import
Error: no module names jms_types"
+ - [QPIDIT-73](https://issues.apache.org/jira/browse/QPIDIT-73) - Rhea shim char type broken
by recent updates to Rhea
+ - [QPIDIT-82](https://issues.apache.org/jira/browse/QPIDIT-82) - JMS tests fail intermittently
with null message
+ - [QPIDIT-83](https://issues.apache.org/jira/browse/QPIDIT-83) - JAVA classpath points to
maven repository rather than installed location
+
+## Tasks
+
+ - [QPIDIT-1](https://issues.apache.org/jira/browse/QPIDIT-1) - Initial code import
+ - [QPIDIT-2](https://issues.apache.org/jira/browse/QPIDIT-2) - Add command-line options
to control which shims and/or AMQP type combinations to run
+ - [QPIDIT-13](https://issues.apache.org/jira/browse/QPIDIT-13) - Submit patch to Proton
for AMQP type support needed by ProtonPython shim
+ - [QPIDIT-16](https://issues.apache.org/jira/browse/QPIDIT-16) - Place Qpid JMS shim build
management under Maven
+ - [QPIDIT-17](https://issues.apache.org/jira/browse/QPIDIT-17) - Add JMS test suite
+ - [QPIDIT-18](https://issues.apache.org/jira/browse/QPIDIT-18) - Use existing structured
text representation standard for communicating between test and shims
+ - [QPIDIT-47](https://issues.apache.org/jira/browse/QPIDIT-47) - Add Rhea javascript shim
for AMQP types test
+ - [QPIDIT-48](https://issues.apache.org/jira/browse/QPIDIT-48) - Add test options which
allow separate addresses for the sender and receiver
+ - [QPIDIT-52](https://issues.apache.org/jira/browse/QPIDIT-52) - Make qpid-interop-test
installable
+ - [QPIDIT-59](https://issues.apache.org/jira/browse/QPIDIT-59) - Create a HOWTO file on
writing a new shim
+ - [QPIDIT-60](https://issues.apache.org/jira/browse/QPIDIT-60) - Create a HOWTO file on
writing a new test
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/input/releases/qpid-interop-test-0.1.0/users-guide.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-interop-test-0.1.0/users-guide.html.in b/input/releases/qpid-interop-test-0.1.0/users-guide.html.in
new file mode 100644
index 0000000..1691216
--- /dev/null
+++ b/input/releases/qpid-interop-test-0.1.0/users-guide.html.in
@@ -0,0 +1,454 @@
+<div class="quoteblock">
+<div class="title">Apache License</div>
+<div class="content">
+<div class="paragraph"><p>Licensed to the Apache Software Foundation (ASF) under
one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at</p></div>
+<div class="paragraph"><p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p></div>
+<div class="paragraph"><p>Unless required by applicable law or agreed to in writing,
software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.</p></div>
+</div>
+<div class="attribution">
+</div></div>
+<h1 id="_qpid_interoperability_test_users_guide">Qpid Interoperability Test Users Guide</h1>
+<div class="sect1">
+<h2 id="_1_introduction">1. Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>qpid-interop-test is an AMQP client interoperability
test suite. It tests
+various aspects of the AMQP protocol and/or test client features against
+each other to ensure that they can interoperate.</p></div>
+<div class="paragraph"><p>The test suite consists of tests and shims. Each test
has a set of test-cases
+which make up the test. Each test case will pass or fail a specific feature
+or piece of functionality under test.</p></div>
+<div class="paragraph"><p>Each test has a set of shims, which are small and specific
clients which
+send and receive messages, and is written using one of the client libraries
+under test. For example, the amqp_types test has shims for the following
+clients:
+* AmqpNetLite
+* ProtonCpp
+* ProtonPython
+* RheaJS</p></div>
+<div class="paragraph"><p>To obtain both self- and interoperability testing,
each test program will
+run each shim against every other shim in the role of both sender and
+receiver. For the amqp-type-test example above, this will result in the
+following combinations of shims being used:</p></div>
+<div class="tableblock">
+<table rules="all"
+width="30%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="10%" />
+<col width="45%" />
+<col width="45%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"><strong>Sender shim</strong></p></td>
+<td align="left" valign="top"><p class="table"><strong>Receiver shim</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">3</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">4</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">6</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">7</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">8</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">9</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">10</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">11</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">12</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">13</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+<td align="left" valign="top"><p class="table">AmqpNetLite</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">14</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+<td align="left" valign="top"><p class="table">ProtonCpp</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">15</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+<td align="left" valign="top"><p class="table">ProtonPython</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">16</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+<td align="left" valign="top"><p class="table">RheaJS</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>so that for each test case, 16 individual tests are
run. The test program
+will by default run all the available shims against each other in this way,
+but it is possible to control which shims are used using the --include-shim
+or --exclude-shim arguments (see below).</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_2_obtaining">2. Obtaining</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>qpid-interop-test is an Apache Qpid project.</p></div>
+<div class="paragraph"><p>Web page: xxx</p></div>
+<div class="paragraph"><p>Download soruce: xxx</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_3_building">3. Building</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_a_install_dependencies">a. Install dependencies:</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Build tools: git, gcc, cmake
+</p>
+</li>
+<li>
+<p>
+Qpid Proton: qpid-proton-c-devel
+</p>
+</li>
+</ul></div>
+</div>
+<div class="sect2">
+<h3 id="_b_decide_on_local_vs_system_install">b. Decide on local vs system install</h3>
+<div class="sect3">
+<h4 id="_local_install">Local install:</h4>
+<div class="paragraph"><p>Installs all of the Proton and QIT bits in a local
directory. This is
+useful for limited testing where you don&#8217;t want to have these files
+in your system directories. Also, if you don&#8217;t have root privileges, then
+this is the only way to install. The drawback is that you may need to
+adjust some environment settings (<code>PATH</code>, <code>PYTHONPATH</code>,
<code>LD_LIBRARY_PATH</code>) so
+that the test will run.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_system_install">System install:</h4>
+<div class="paragraph"><p>Installs the files into traditional system locations.
This type of install
+requires root privileges. As the files are located in expected locations, no
+environment settings need be made.</p></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_c_build_qpid_proton">c. Build qpid-proton</h3>
+<div class="paragraph"><p><strong>System install:</strong></p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> $ cd qpid-proton
+ $ mkdir build
+ $ cd build
+ $ cmake ..
+ $ make
+ $ sudo make install</code></pre>
+</div></div>
+<div class="paragraph"><p><strong>Local install:</strong></p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> $ cd qpid-proton
+ $ mkdir build
+ $ cd build
+ $ cmake ..
+ $ make install</code></pre>
+</div></div>
+</div>
+<div class="sect2">
+<h3 id="_d_build_qpid_interop_test">d. Build qpid-interop-test</h3>
+<div class="paragraph"><p><strong>System install:</strong></p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> $ cd qpid-interop-test
+ $ mkdir build
+ $ cd build
+ $ cmake ..
+ $ make
+ $ sudo make install</code></pre>
+</div></div>
+<div class="paragraph"><p><strong>Local install:</strong></p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> $ cd qpid-interop-test
+ $ mkdir build
+ $ cd build
+ $ cmake ..
+ $ make install</code></pre>
+</div></div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_4_running">4. Running</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The tests assume a broker is available and running.
The assumed default is at
+<code>localhost:5672</code>. For other broker location(s), use the <code>--sender</code>
and <code>--receiver</code>
+arguments to specify where the clients should interact, see below.</p></div>
+<div class="paragraph"><p>The tests do not start or stop brokers.</p></div>
+<div class="paragraph"><p>There are several tests in the test suite:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<strong>amqp_types_test.py</strong> - Tests all of the AMQP primitive types.
This primarily tests
+   the encoding and decoding of AMQP types.
+</p>
+</li>
+<li>
+<p>
+<strong>amqp_large_content_test.py</strong> - Tests large messages of various
types. Messages sizes
+   are 1MB, 10MB, 100MB. Compound types (lists, maps, etc) send elements of various
+   sizes so that the total payload is the target size.
+</p>
+</li>
+<li>
+<p>
+<strong>jms_messages_test.py</strong> - Tests JMS message types (as implemented
by Qpid-jms over AMQP)
+   from all the Qpid clients (including non-jms clients)
+</p>
+</li>
+<li>
+<p>
+<strong>jms_hdrs_props_test.py</strong> - Tests various combinations of JMS headers
and properties
+   are correctly sent and received by the various clients.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Each test is executed directly.</p></div>
+<div class="sect2">
+<h3 id="_command_line_arguments">Command-line arguments</h3>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 1. Common to all tests</caption>
+<col width="20%" />
+<col width="80%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--help</code></p></td>
+<td align="left" valign="top"><p class="table">Print help. This is useful for
seeing the available argument options and
+                   defaults for some arguments.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--sender</code></p></td>
+<td align="left" valign="top"><p class="table">Node to which test suite will
send messages.
+                   Format: <code>ip-address:port</code>
+                   Default: <code>localhost:5672</code></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--receiver</code></p></td>
+<td align="left" valign="top"><p class="table">Node from which test suite will
receive messages.
+                   Format: <code>ip-address:port</code>
+                   Default: <code>localhost:5672</code></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--no-skip</code></p></td>
+<td align="left" valign="top"><p class="table">Do not skip tests that are excluded
by default for reasons of a known bug.
+               Warning: some tests may lock up of freeze rather than fail.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--broker-type</code></p></td>
+<td align="left" valign="top"><p class="table">Specify the broker manually, which
eliminates the test connection made
+               to the broker to determine its identity through connection properties. If
+               "None" is specified, then Artemis broker will be assumed, but this will
+               change in the future when Artemis fixes the connection properties issue.
+               Format: For our current brokers: one of: "ActiveMQ", "qpid-cpp",
+               "qpid-dispatch-router". Artemis does not currently pass its name
+               in connection properties, and is equivalent to "None".</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--include-shim</code></p></td>
+<td align="left" valign="top"><p class="table">Name of shim to include. Cannot
be used together with <code>--exclude-shim</code>. May
+               be used multiple times to include more than one shim.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--exclude-shim</code></p></td>
+<td align="left" valign="top"><p class="table">Name of shim to exclude. Cannot
be used together with <code>--include-shim</code>. May
+               be used multiple times to exclude more that one shim.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 2. amqp-types-test</caption>
+<col width="20%" />
+<col width="80%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--include-type</code></p></td>
+<td align="left" valign="top"><p class="table">Name of AMQP type to include.
Cannot be used together with <code>--exclude-type</code>.
+                   May be used multiple times to include more than one type.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--exclude-type</code></p></td>
+<td align="left" valign="top"><p class="table">Name of AMQP type to exclude.
Cannot be used together with <code>--include-type</code>.
+                   May be used multiple times to exclude more than one type.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 3. amqp-large-content-test</caption>
+<col width="100%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">No other parameters. There is
currently no way to select/limit the message size, but there
+an issue open to address this limitation.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 4. jms-messages-test</caption>
+<col width="20%" />
+<col width="80%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--include-type</code></p></td>
+<td align="left" valign="top"><p class="table">Name of JMS message type to include.
Cannot be used together with
+               <code>--exclude-type</code>. May be used multiple times to include
more than one type.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--exclude-type</code></p></td>
+<td align="left" valign="top"><p class="table">Name of JMS message type to exclude.
Cannot be used together with
+               <code>--include-type</code>. May be used multiple times to exclude
more than one type.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<caption class="title">Table 5. jms-hdrs-props-test</caption>
+<col width="20%" />
+<col width="80%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--include-type</code></p></td>
+<td align="left" valign="top"><p class="table">Name of Java property type to
include. Cannot be used together with
+               <code>--exclude-type</code>. May be used multiple times to include
more than one type.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table"><code>--exclude-type</code></p></td>
+<td align="left" valign="top"><p class="table">Name of Java property type to
exclude. Cannot be used together with
+               <code>--include-type</code>. May be used multiple times to exclude
more than one type.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>There is currently no way to control/limit the JMS
header types in this test, but there is
+an issue open to address this limitation.</p></div>
+<div class="sect3">
+<h4 id="_examples">Examples:</h4>
+<div class="paragraph"><p>To limit amqp_types_test to boolean type only:
+<code>$ amqp_types_test --include-type boolean</code></p></div>
+<div class="paragraph"><p>To limit amqp_types_test to Qpid-cpp and Proton-python
shims only:
+<code>$ amqp_types_test --include-shim ProtonCpp --include-shim ProtonPython</code></p></div>
+<div class="paragraph"><p>To test against a pair of Dispatch Routers and a broker
running on the local machine
+as follows (first set up the brokers and routers):</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code>+----------+     9001 +----------+    5672 +--------+
+| sender   |---------&gt;| dispatch |--------&gt;|        |
+|  shim    |          | router 1 |         |        |
++----------+          +----------+         |        |
+                                           | broker |
++----------+     9002 +----------+    5672 |        |
+| receiver |&lt;---------| dispatch |&lt;--------|        |
+|  shim    |          | router 2 |         |        |
++----------+          +----------+         +--------+</code></pre>
+</div></div>
+<div class="paragraph"><p><code>$ amqp_types_test --sender localhost:9001
--receiver localhost:9002</code></p></div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_5_output">5. Output</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>All the tests will list each test as it runs and whether
it passes or fails.
+If a test fails, then the details of the failure will be printed at the end of
+the test.</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><code> ======================================================================
+ FAIL: test.B.MESSAGE.JMS_TYPE_HEADER:string+JMS_REPLYTO_HEADER:topic.QpidJms-&gt;ProtonCpp
(__main__.PartB_JmsHeaderCombination_TestCase)
+ ----------------------------------------------------------------------
+ Traceback (most recent call last):
+   File "./install/lib/python2.7/site-packages/qpid_interop_test/jms_hdrs_props_test.py",
line 422, in inner_test_method
+     receive_shim)
+   File "./install/lib/python2.7/site-packages/qpid_interop_test/jms_hdrs_props_test.py",
line 313, in run_test
+     self.fail(str(receive_obj))
+ AssertionError: JmsReceiver error: Unexpected JMS message header: JMS_PRIORITY: Expected
default priority (4), found priority 0</code></pre>
+</div></div>
+<div class="paragraph"><p>Currently, the tests do not produce log files.</p></div>
+</div>
+</div>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/input/site.css
----------------------------------------------------------------------
diff --git a/input/site.css b/input/site.css
index 81058e3..c6fca7f 100644
--- a/input/site.css
+++ b/input/site.css
@@ -218,6 +218,7 @@ td, th {
 
 td:last-child, th:last-child {
     padding-right: 0;
+    border-right: none;
 }
 
 td {

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/python/generate.py
----------------------------------------------------------------------
diff --git a/python/generate.py b/python/generate.py
index 00631eb..01b08f5 100644
--- a/python/generate.py
+++ b/python/generate.py
@@ -393,6 +393,9 @@ def _fetch_issues(project, release):
     if project in ("qpid-cpp", "qpid-java", "qpid-python", "broker-j"):
         project = "qpid"
 
+    if project in ("qpid-interop-test"):
+        project = "qpidit"
+
     if project == "proton":
         fix_version = "proton-c-{}".format(release)
 

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/python/plano.py
----------------------------------------------------------------------
diff --git a/python/plano.py b/python/plano.py
index 15e7bce..de5df14 100644
--- a/python/plano.py
+++ b/python/plano.py
@@ -536,6 +536,9 @@ def call_and_print_on_error(command, *args, **kwargs):
     except CalledProcessError:
         eprint(read(output_file), end="")
         raise
+    except OSError as e:
+        eprint("\"{0}\": {1}".format(command, e))
+        raise
 
 _child_processes = list()
 

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/scripts/gen-interop-test-release-docs
----------------------------------------------------------------------
diff --git a/scripts/gen-interop-test-release-docs b/scripts/gen-interop-test-release-docs
index a7c7c39..f02b68c 100755
--- a/scripts/gen-interop-test-release-docs
+++ b/scripts/gen-interop-test-release-docs
@@ -21,11 +21,16 @@
 import os
 
 from generate import *
+from shutil import copyfile
 
 def gen_interop_test_docs(release, source_dir, output_dir):
-    pass
-
-## Now do stuff ##
+  # Copy QUICKSTART.md into the output directory
+  copyfile("%s/QUICKSTART.md"%(source_dir), "%s/QUICKSTART.md"%(output_dir))
+  # Generate docbook output
+  build_dir = make_temp_dir()
+  source_file = "{}/docs/users-guide.txt".format(source_dir)
+  output_file = "{}/users-guide.html.in".format(output_dir)
+  call(["asciidoc", "--doctype", "book", "--no-header-footer", "--out-file", output_file,
source_file])
 
 release, issues_release, source_release, release_dir, checkout_dir = setup_release_script()
 source_dir = checkout_dir or fetch_source("interop-test", source_release)

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/3ef7d309/scripts/gen-interop-test-release-page
----------------------------------------------------------------------
diff --git a/scripts/gen-interop-test-release-page b/scripts/gen-interop-test-release-page
index fbeb9ee..aa406a1 100755
--- a/scripts/gen-interop-test-release-page
+++ b/scripts/gen-interop-test-release-page
@@ -32,9 +32,11 @@ component_records = (
 
 documentation = \
 """
-
- - XXX
-
+ - [Quickstart guide](QUICKSTART.html)
+ - [User guide](users-guide.html)
+ - [Developer overview](https://git-wip-us.apache.org/repos/asf?p=qpid-interop-test.git;a=blob_plain;f=docs/qpid-interop-test-devel-overview.txt;hb=0.1.0)
+ - [Test HOWTO](https://git-wip-us.apache.org/repos/asf?p=qpid-interop-test.git;a=blob_plain;f=docs/Test_HOWTO.txt;hb=0.1.0)
+ - [Shim HOWTO](https://git-wip-us.apache.org/repos/asf?p=qpid-interop-test.git;a=blob_plain;f=docs/Shim_HOWTO.txt;hb=0.1.0)
 """
 
 template = \


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


Mime
View raw message