summaryrefslogtreecommitdiff
path: root/java/client/src/test/java/org/apache/qpid/cts/bin/jmscts.sh
diff options
context:
space:
mode:
Diffstat (limited to 'java/client/src/test/java/org/apache/qpid/cts/bin/jmscts.sh')
-rwxr-xr-xjava/client/src/test/java/org/apache/qpid/cts/bin/jmscts.sh159
1 files changed, 159 insertions, 0 deletions
diff --git a/java/client/src/test/java/org/apache/qpid/cts/bin/jmscts.sh b/java/client/src/test/java/org/apache/qpid/cts/bin/jmscts.sh
new file mode 100755
index 0000000000..5786e0d689
--- /dev/null
+++ b/java/client/src/test/java/org/apache/qpid/cts/bin/jmscts.sh
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+# Copyright (c) 2006 The Apache Software Foundation
+#
+# Licensed 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.
+#
+
+# -----------------------------------------------------------------------------
+# Start/Stop Script for the JMS compliance test suite
+#
+# Required Environment Variables
+#
+# JAVA_HOME Points to the Java Development Kit installation.
+#
+# Optional Environment Variables
+#
+# JMSCTS_HOME Points to the JMS CTS installation directory.
+#
+# JAVA_OPTS Java runtime options used when the command is executed.
+#
+#
+# $Id: jmscts.sh,v 1.6 2003/09/27 09:50:49 tanderson Exp $
+# ---------------------------------------------------------------------------
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "The JAVA_HOME environment variable is not set."
+ echo "This is required to run jmscts"
+ exit 1
+fi
+if [ ! -r "$JAVA_HOME"/bin/java ]; then
+ echo "The JAVA_HOME environment variable is not set correctly."
+ echo "This is required to run jmscts"
+ exit 1
+fi
+_RUNJAVA="$JAVA_HOME"/bin/java
+
+
+# Guess JMSCTS_HOME if it is not set
+if [ -z "$JMSCTS_HOME" ]; then
+# resolve links - $0 may be a softlink
+ PRG="$0"
+ while [ -h "$PRG" ]; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '.*/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`/"$link"
+ fi
+ done
+
+ PRGDIR=`dirname "$PRG"`
+ JMSCTS_HOME=`cd "$PRGDIR/.." ; pwd`
+elif [ ! -r "$JMSCTS_HOME"/bin/jmscts.sh ]; then
+ echo "The JMSCTS_HOME environment variable is not set correctly."
+ echo "This is required to run jmscts"
+ exit 1
+fi
+
+# Set CLASSPATH to empty by default. User jars can be added via the setenv.sh
+# script
+CLASSPATH=
+
+if [ -r "$JMSCTS_HOME"/bin/setenv.sh ]; then
+ . "$JMSCTS_HOME"/bin/setenv.sh
+fi
+
+CLASSPATH="$CLASSPATH":"$JMSCTS_HOME"/lib/jmscts-0.5-b2.jar
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ JMSCTS_HOME=`cygpath --path --windows "$JMSCTS_HOME"`
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+fi
+
+POLICY_FILE="$JMSCTS_HOME"/config/jmscts.policy
+
+# Configure TrAX
+JAVAX_OPTS=-Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
+
+
+# Execute the requested command
+
+echo "Using JMSCTS_HOME: $JMSCTS_HOME"
+echo "Using JAVA_HOME: $JAVA_HOME"
+echo "Using CLASSPATH: $CLASSPATH"
+
+if [ "$1" = "run" ]; then
+
+ shift
+ exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \
+ -classpath "$CLASSPATH" \
+ -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \
+ org.exolab.jmscts.test.ComplianceTestSuite "$@"
+
+elif [ "$1" = "stress" ]; then
+
+ shift
+ exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \
+ -classpath "$CLASSPATH" \
+ -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \
+ org.exolab.jmscts.stress.StressTestSuite "$@"
+
+elif [ "$1" = "stop" ] ; then
+
+ shift
+ "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \
+ -classpath "$CLASSPATH" \
+ -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \
+ org.exolab.jmscts.core.Admin -stop
+
+elif [ "$1" = "abort" ] ; then
+
+ shift
+ exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \
+ -classpath "$CLASSPATH" \
+ -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \
+ org.exolab.jmscts.core.Admin -abort
+
+elif [ "$1" = "snapshot" ] ; then
+
+ shift
+ exec "$_RUNJAVA" $JAVA_OPTS $JAVAX_OPTS -Djmscts.home="$JMSCTS_HOME" \
+ -classpath "$CLASSPATH" \
+ -Djava.security.manager -Djava.security.policy="$POLICY_FILE" \
+ org.exolab.jmscts.core.Admin -snapshot "$@"
+
+else
+ echo "usage: jmscts.sh (commands)"
+ echo "commands:"
+ echo " run Run compliance tests"
+ echo " stress Run stress tests"
+ echo " stop Stop the JMS CTS"
+ echo " abort Abort the JMS CTS"
+ echo " snapshot Take a snapshot"
+ exit 1
+fi