#!/bin/bash # usage: lt-gui.sh [func|load] [headless] [useconfig] # default is func NON headless (GUI) and do not use /ionu/config/${IONU_ENV}.conf.json # headless implies useconfig TESTNAME=func if [ "$1" = "load" ]; then TESTNAME=load shift; elif [ "$1" = "func" ]; then shift; fi if [ "${PLATFORM}" = "" ]; then PLATFORM=Darwin fi if [ "${IONUHOME}" = "" ]; then IONUHOME=/ionu fi # generic args export JVM_ARGS="-Xms1024m -Xmx2048m -Djava.library.path=./lib" export LOGLEVEL="--loglevel jmeter=DEBUG" HEADLESS="" USECONFIG=false if [ "$1" = "headless" ]; then HEADLESS="--nongui" USECONFIG=true export LOGLEVEL="--loglevel jmeter=WARN" shift; fi if [ "$1" = "useconfig" ]; then USECONFIG=true shift fi # setup export TESTFILE="${TESTNAME}test.jmx" export PROPFILE="${TESTNAME}test.properties" export OUTFILE="${TESTNAME}test.jtl" echo "Test file: ${TESTFILE} Properties: ${PROPFILE} Output: ${OUTFILE}" CONFIGARGS="" if [ "${USECONFIG}" = true ]; then cfgjar=`ls ../ionu-configuration/target/ionu-configuration-*.one-jar.jar` sg=`java -jar ${cfgjar} "storageGuard.storageGuardLoadBalancer" | cut -f 2` cg=`java -jar ${cfgjar} "cloudGuard.webapp-host-absolute" | cut -f 2` ds=`java -jar ${cfgjar} "discoveryServices.discoLoadBalancer" | cut -f 2` echo "Using configuration - CG: ${cg} SG: ${sg} DS: ${ds}" CONFIGARGS="${CONFIGARGS} -Jtest.server=`echo -n ${cg} | sed -E 's#^.*://##' | sed 's/:.*//'`" scheme=`echo -n ${cg} | sed -E 's#:.*##'` CONFIGARGS="${CONFIGARGS} -Jtest.server.scheme=$scheme" port=`echo -n ${cg} | sed -E 's#^.*://##' | awk '{sub(/^[^:]*:?/,""); print $0}'` if [ "${port}" = "" -a "${scheme}" = "http" ]; then port="80"; fi if [ "${port}" = "" -a "${scheme}" = "https" ]; then port="443"; fi CONFIGARGS="${CONFIGARGS} -Jtest.server.port=${port}" CONFIGARGS="${CONFIGARGS} -Jtest.server.sg=`echo -n ${sg} | sed -E 's#^.*://##' | sed 's/:.*//'`" scheme=`echo -n ${sg} | sed -E 's#:.*##'` CONFIGARGS="${CONFIGARGS} -Jtest.server.sg.scheme=$scheme" port=`echo -n ${sg} | sed -E 's#^.*://##' | awk '{sub(/^[^:]*:?/,""); print $0}'` if [ "${port}" = "" -a "${scheme}" = "http" ]; then port="80"; fi if [ "${port}" = "" -a "${scheme}" = "https" ]; then port="443"; fi CONFIGARGS="${CONFIGARGS} -Jtest.server.sg.port=${port}" CONFIGARGS="${CONFIGARGS} -Jtest.server.ds=`echo -n ${ds} | sed -E 's#^.*://##' | sed 's/:.*//'`" scheme=`echo -n ${ds} | sed -E 's#:.*##'` CONFIGARGS="${CONFIGARGS} -Jtest.server.ds.scheme=$scheme" port=`echo -n ${ds} | sed -E 's#^.*://##' | awk '{sub(/^[^:]*:?/,""); print $0}'` if [ "${port}" = "" -a "${scheme}" = "http" ]; then port="80"; fi if [ "${port}" = "" -a "${scheme}" = "https" ]; then port="443"; fi CONFIGARGS="${CONFIGARGS} -Jtest.server.ds.port=${port}" echo "Configuration args: ${CONFIGARGS}" fi # !!! Copy BeanShell dependency jar's # !!! Versions are hardwired! REPO=~/.m2/repository #cp "${REPO}/com/dt/dovetail/1.4.0/dovetail-1.4.0.jar" lib cp "${REPO}/org/mongodb/mongo-java-driver/2.10.0/mongo-java-driver-2.10.0.jar" lib if [ -f "${REPO}/log4j/log4j/1.2.16/log4j-1.2.16.jar" ]; then cp "${REPO}/log4j/log4j/1.2.16/log4j-1.2.16.jar" lib else cp "${REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar" lib fi rm -f lib/ionu-1.0.0.jar cp "${REPO}/org/json/json/20090211/json-20090211.jar" lib cp "${REPO}/com/dt/dtcore/1.0.0/dtcore-1.0.0.jar" lib cp "${REPO}/com/dt/dtcs/1.0.0/dtcs-1.0.0.jar" lib <<<<<<< HEAD IJV="1.2.9" IJVEYE=${IJV} ======= IJV="1.2.8" IJVEYE="${IJV}" >>>>>>> cloud_release/1.2.8 cp "${REPO}/com/ionu/csf/${IJV}/csf-${IJV}.jar" lib jar -uvf lib/csf-${IJV}.jar -C ../ionu-resources/gen/java/resources com/ionu/csf/ResourceStrings.properties cp "${REPO}/com/ionu/ijw/${IJV}/ijw-${IJV}.jar" lib cp "${REPO}/com/ionu/eye/${IJVEYE}/eye-${IJVEYE}.jar" lib cp "${REPO}/com/ionu/ionuSamd/${IJV}/ionuSamd-${IJV}.jar" lib cp ../libeye/lib/${PLATFORM}/libeye* lib cp ../libeye/lib/${PLATFORM}/libz* lib cp ../thirdparty/openssl/lib/${PLATFORM}/libcrypto* lib cp ../thirdparty/openssl/lib/${PLATFORM}/libssl* lib # -Juser.count=4 # Oracle JVM hates on OSX if [ `uname` = "Darwin" ]; then JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home PATH="$JAVA_HOME/bin:$PATH" fi LD_LIBRARY_PATH=./lib DYLD_LIBRARY_PATH=./lib rm *.log rm -rf Office rm jmeter-keyring* bin/jmeter.sh ${LOGLEVEL} ${HEADLESS} --propfile "$PROPFILE" --testfile "$TESTFILE" --logfile "${OUTFILE}" ${CONFIGARGS} "$@" exit 0;