#!/bin/bash # # 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. # # Run the cli-utility tests. source ./test_env.sh CLI_DIR=$PYTHON_COMMANDS trap stop_brokers INT TERM QUIT # helper function to create test.xquery in the current directory, so # that the python test program can find it. yes, it leaves a turd. create_test_xquery() { cat < ./test.xquery let \$w := ./weather return \$w/station = 'Raleigh-Durham International Airport (KRDU)' and \$w/temperature_f > 50 and \$w/temperature_f - \$w/dewpoint > 5 and \$w/wind_speed_mph > 7 and \$w/wind_speed_mph < 20 EOF } start_brokers() { # if the xml lib is present, use it. if not, disable any tests which # look like they're xml related. # if we start supporting xml on windows, it will need something similar # here if [ -f ../.libs/xml.so ] ; then xargs="--load-module ../.libs/xml.so" if [ ! -f test.xquery ] ; then create_test_xquery fi targs="" else echo "Ignoring XML tests" xargs="" targs="--ignore=*xml*" fi ../qpidd --daemon --port 0 --no-data-dir --no-module-dir --auth no $xargs > qpidd.port LOCAL_PORT=`cat qpidd.port` ../qpidd --daemon --port 0 --no-data-dir --no-module-dir --auth no $xargs > qpidd.port REMOTE_PORT=`cat qpidd.port` } stop_brokers() { $QPIDD_EXEC --no-module-dir -q --port $LOCAL_PORT $QPIDD_EXEC --no-module-dir -q --port $REMOTE_PORT } if test -d ${PYTHON_DIR} ; then start_brokers echo "Running CLI tests using brokers on ports $LOCAL_PORT $REMOTE_PORT" PYTHON_TESTS=${PYTHON_TESTS:-$*} $QPID_PYTHON_TEST -m cli_tests -b localhost:$LOCAL_PORT -Dremote-port=$REMOTE_PORT -Dcli-dir=$CLI_DIR $targs $PYTHON_TESTS $@ RETCODE=$? stop_brokers if test x$RETCODE != x0; then echo "FAIL CLI tests"; exit 1; fi fi