#!/bin/sh

# 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.
#

echo $QPID_SRC_HOME

if test "'x$QPID_SRC_HOME'" == "'x'"
then
    export QPID_SRC_HOME=$(cd "$(dirname $0)/../../../.."; pwd)
fi
export CPP=$QPID_SRC_HOME/cpp/examples
export PYTHON=$QPID_SRC_HOME/python/examples
export JAVA=$QPID_SRC_HOME/java/client/example/src/main/java/org/apache/qpid/example/jmsexample

export AMQP_SPEC=$QPID_SRC_HOME/specs/amqp.0-10-qpid-errata.xml
export PYTHONPATH=$QPID_SRC_HOME/python/
export LOG4J=file://$QPID_SRC_HOME/java/client/example/src/main/java/log4j.xml

trap cleanup EXIT

run_broker(){
  $QPID_SRC_HOME/cpp/src/qpidd -d --no-data-dir --auth no
}

stop_broker(){
  $QPID_SRC_HOME/cpp/src/qpidd -q
}

cleanup(){
  if [ -e /tmp/qpidd.5672.pid ]; then
    stop_broker
  fi
  find $CPP -name '*.out' | xargs rm -f
  find $PYTHON -name '*.out' | xargs rm -f
  find $JAVA -name '*.out' | xargs rm -f
}

QPID_LIBS=`find $QPID_SRC_HOME/java/build/lib -name '*.jar' | tr '\n' ":"`
export CLASSPATH=$QPID_LIBS:$CLASSPATH

verify=$QPID_SRC_HOME/cpp/examples/verify

for script in $(find $JAVA -name 'verify*' -not -path '*.svn' -not -name '*.*')
do
  run_broker
  $verify $script
  stop_broker
done
