You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2016/11/18 18:09:02 UTC

qpid-interop-test git commit: NO_JIRA: Update instructions in QUICKSTART

Repository: qpid-interop-test
Updated Branches:
  refs/heads/master 1c1ec1725 -> fc29349e0


NO_JIRA: Update instructions in QUICKSTART


Project: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/commit/fc29349e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/tree/fc29349e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/diff/fc29349e

Branch: refs/heads/master
Commit: fc29349e053f5ef20e6e6cbd6fcf10bc81cfdb6a
Parents: 1c1ec17
Author: Kim van der Riet <kp...@apache.org>
Authored: Fri Nov 18 13:06:17 2016 -0500
Committer: Kim van der Riet <kp...@apache.org>
Committed: Fri Nov 18 13:06:17 2016 -0500

----------------------------------------------------------------------
 QUICKSTART | 209 +++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 153 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/fc29349e/QUICKSTART
----------------------------------------------------------------------
diff --git a/QUICKSTART b/QUICKSTART
index 7d820d5..84910c3 100644
--- a/QUICKSTART
+++ b/QUICKSTART
@@ -1,92 +1,189 @@
 QUICKSTART GUIDE
 ================
 
+All these instructions depend on choosing an install mechanism. Two options exist:
+A: Install to default locations using root privileges (TODO: I have not tested this option!)
+B: Install to custom local location which don't require privileges (and is safer for testing). In each case,
+   you should select the SAME prefix or install path for each component.
+The text below assumes you have chosen one of these. Your choice should be consistent for all components.
+
+These are the install steps:
+1. Install and build packages required for qpid-interop-test
+   a. Qpid Proton (includes C++ Proton API)
+   b. Qpid Python
+   c. Qpid JMS
+   d. Rhea
+2. Install and build qpid-interop-test
+3. Install or build AMQP brokers to test against
+4. Run the tests
+
+
 0. Prerequisites
-----------------
-* qpid-proton built and installed
-* For JMS testing, qpid-jms built and installed
+================
+* Necessary packages for building and running qpid-interop-test and its dependencies:
+TODO: Complete this list
+** C++: the usual suspects
+** Python: Nothing special, should be all installed standard on Lunux
+** Maven: mvn
+** Rhea: node npm
 
-1. Get the source
------------------
-git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git
+1. Install and build packages required for qpid-interop-test
+============================================================
 
-2. Get and build Qpid Proton
+a. Get and build Qpid Proton
 ----------------------------
 git clone https://git-wip-us.apache.org/repos/asf/qpid-proton.git
 cd qpid-proton
+
+# Build and install C++ components:
 mkdir build
 cd build
+
+# INSTALL OPTION A: (TODO: I have not tested this option!)
 cmake ..
 make
-# installing is optional, if you want to install, then the following line:
 sudo make install
+
+# INSTALL OPTION B:
+cmake -DCMAKE_INSTALL_PREFIX=/abs/path/to/local/install/dir ..
+make install
 cd ..
+
+# Build and install Java components:
 mvn -DskipTests install
+cd ..
 
-3. Get and build Qpid JMS
+
+b. Get and install Qpid Python
+------------------------------
+git clone https://git-wip-us.apache.org/repos/asf/qpid-python.git
+cd qpid-python
+
+# INSTALL OPTION A: (TODO: I have not tested this option!)
+sudo python setup.py install
+# INSTALL OPTION B:
+python setup.py install --prefix=/abs/path/to/local/install/dir
+cd ..
+
+
+c. Get and build Qpid JMS
 -------------------------
 git clone https://git-wip-us.apache.org/repos/asf/qpid-jms.git
 cd qpid-jms
+
 mvn -DskipTests install
+cd ..
 
 
-3 Prepare the tests
--------------------
-(ONLY IF NEEDED): Edit src/python/qpid_interop/types/simple_type_tests.py as
-needed, particularly AmqpPrimitiveTypes.TYPE_MAP which controls the AMQP types
-and test values for each type.
+d. Get and install Rhea
+-----------------------
+git clone https://github.com/grs/rhea.git
+cd rhea
 
-4. Build qpid-interop-test components:
---------------------------------------
+npm install debug
+# NOTE: This step requires root privileges, I can't find a way around it (as it needs to install the
+# link into the folders where node is installed, and I can't get a local link to work):
+sudo npm link
+cd ..
+
+2. Install and build qpid-interop-test
+======================================
+git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git
 cd qpid-interop-test
-./java-clean.sh
-./java-buuld.sh
-cd shims/qpid-jms
-./java-clean.sh
-./java-buuld.sh
-cd ../qpid-proton-cpp
+
+a. Build Java shims
+-------------------
+Java shims:
+mvn -DskipTests install
+
+b. Build C++ shims
+------------------
+cd shims/qpid-proton-cpp
 mkdir build
 cd build
-ccmake ..
-make clean
+
+# INSTALL OPTION A: (TODO: I have not tested this option!)
+cmake ..
 make
+sudo make install
+
+# INSTALL OPTION B:
+cmake -DPROTON_INSTALL_DIR=/abs/path/to/local/install/dir ..
+make
+
 cd ../../..
 
-5. Run the tests (uninstalled)
-------------------------------
-Note that installation is still to be completed, this section will change to
-reflect installation details when complete.
-
-Select one of the following two options:
-
-a. qpid-proton installed (default install location):
-Assuming proton's "make install" has been run, from top level qpid-interop-test directory:
-export PYTHONPATH=/usr/local/lib64/proton/bindings/python:src/py/qpid-interop-test
-export LD_LIBRARY_PATH=/usr/local/lib64
-export QPID_INTEROP_TEST_HOME=<abs path to top level qpid-interop-test directory>
-
-b. qpid-proton installed to local directory <abs-path-to-local-proton-install-dir>:
-Assuming proton's "make install" has been run, from top level qpid-interop-test directory:
-export PYTHONPATH=<abs-path-to-local-proton-install-dir>/lib64/proton/bindings/python:src/python/qpid-interop-test
-export LD_LIBRARY_PATH=<abs-path-to-local-proton-install-dir>/lib64
-export QPID_INTEROP_TEST_HOME=<abs path to top level qpid-interop-test directory>
-
-c. qpid-proton built but not installed:
-Assuming proton's "make" has been run from a "build" directory as described in the proton README (but not make install), from top level qpid-interop-test directory:
-export PYTHONPATH=<abs path to top level qpid-proton directory>/proton-c/bindings/python:<abs path to top level qpid-proton directory>/build/proton-c/bindings/python:src/python/qpid-interop-test
-export LD_LIBRARY_PATH=<abs path to top level qpid-proton directory>/build/proton-c
-export QPID_INTEROP_TEST_HOME=<abs path to top level qpid-interop-test directory>
-
-Start a broker (Artemis, Active-MQ or Qpid).
-NOTE: For qpidd, YOU MUST USE THE FOLLOWING PARAMETERS:
+c. Prepare Rhea shims
+---------------------
+cd shims/rhea-js/amqp_types_test
+npm install node-uuid
+npm link rhea
+cd ../../../..
+
+
+3. Install or build AMQP brokers to test against
+================================================
+The following are possible brokers to install or build for testing against:
+
+a. Artemis
+----------
+TODO: Helpful hints on obtaining/building
+Make the following changes to the broker.xml file:
+configuration.core.address-settings.address-setting for match="#":
+  add the following:
+    <auto-create-jms-queues>true</auto-create-jms-queues>
+
+b. ActiveMQ
+-----------
+TODO: Helpful hints on obtaining/building
+Make the following changes to the activemq.xml config file:
+broker.transportConnectors.transportConnector for name "amqp": add "wireFormat.allowNonSaslConnections=true"; ie:
+<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576000&amp;wireFormat.allowNonSaslConnections=true"/>
+
+c. Qpid C++
+-----------
+TODO: Helpful hints on obtaining/building
+When starting the broker, configure or use the following parameters:
   --load-module amqp : will enable the AMQP 1.0 protocol
   --queue-pattern jms.queue.qpid-interop: will automatically create queues using this prefix as needed
   --auth no : will disable authentication (which these tests do not use).
 
-From top level directory:
-AMQP type tests:
-./src/python/qpid-interop-test/types/simple_type_tests.py
+d. Qpid Java
+------------
+TODO: Helpful hints on obtaining/building
+TODO: Not yet tested
+
+e. Qpid Dispatch Router
+-----------------------
+TODO: Helpful hints on obtaining/building
+* Configure the router to listen on both IP4 and IP6 ports (ie one listener for 127.0.0.1 and one for
+  ::1 respectively).
+* Set authenticatePeer to no and make sure saslMechanisms: ANONYMOUS is present (even though there is no
+  authentication). 
+
+
+
+4. Run the tests
+================
+The following depend on which choice was made for installation above:
+
+OPTION A (root install default locations):
+------------------------------------------
+TODO: Still needs testing
+
+OPTION B (local install)
+------------------------
+# Set environment (use this in a script file)
+INSTALL_PATH=/abs/path/to/local/install/dir
+export QPID_INTEROP_TEST_HOME=/abs/path/to/local/qpid-interop-test
+export PYTHONPATH=${INSTALL_PATH}/lib64/proton/bindings/python:${INSTALL_PATH}/lib/python2.7/site-packages:${QPID_INTEROP_TEST_HOME}/src/python
+export LD_LIBRARY_PATH=${INSTALL_PATH}/lib64
+
+Start the test broker
+
+All of the tests are located in ${QPID_INTEROP_TEST_HOME}/src/python/qpid-interop-test, and can be directly called:
+./src/python/qpid-interop-test/amqp_types_test.py 
+./src/python/qpid-interop-test/jms_messages_test.py
+etc.
 
-JMS message tests:
-./src/python/qpid-interop-test/jms/jms_message_tests.py
 


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