blob: 8bf35a5d8837e958725e1c44a05a4126d14c01d8 [file] [log] [blame]
#!/bin/bash
REMOTE_DEBUG=false
RERUN=true
JAVA_OPTION=""
debug_port=8000
TEST_SUITES=testSuites
fileName=testng-failed.xml
function help_usage ()
{
echo
echo "$0 (<jar_file_name> <suite file name>) [-r/rerun <true/false> -d/debug <true/false>]"
echo "nohup ./startTest.sh ui-ci-1707.0.5-SNAPSHOT-jar-with-dependencies.jar extendedSanity.xml -r false -d true &"
echo "by default rerun is true and remote debug is false."
echo
exit 2
}
function isBoolean ()
{
PARAM_NAME=$1
VALUE=$2
if [[ ${VALUE} != "true" ]] && [[ ${VALUE} != "false" ]]; then
echo "Valid parameter" ${PARAM_NAME} "values are: true/false"
help_usage
fi
}
function prepareFailedXmlFile ()
{
echo "1="$1 "2="$2 "fileName="${fileName}
PATTERN=`grep -w "test name=" ${FULL_PATH}/${TEST_SUITES}/$2 | awk -F'"' '{print $2}'`
sed '/<test name="'${PATTERN}'"/,/<!-- '${PATTERN}' --/d' $1 > ${FULL_PATH}/${TEST_SUITES}/${fileName}
sed -i 's/thread-count="[0-9]\+"/thread-count="1"/g' ${FULL_PATH}/${TEST_SUITES}/${fileName}
}
#main
[ $# -lt 2 ] && help_usage
JAR_FILE=$1
SUITE_FILE=$2
while [ $# -ne 0 ]; do
case $1 in
-r|rerun)
RERUN=$2
isBoolean $1 ${RERUN}
shift 1
shift 1
;;
-d|debug)
REMOTE_DEBUG=$2
isBoolean $1 ${REMOTE_DEBUG}
shift 1
shift 1
;;
*)
shift 1
;;
esac
done
CURRENT_DIR=`pwd`
BASEDIR=$(dirname $0)
if [ ${BASEDIR:0:1} = "/" ]
then
FULL_PATH=$BASEDIR
else
FULL_PATH=$CURRENT_DIR/$BASEDIR
fi
LOGS_PROP_FILE=file:${FULL_PATH}/conf/log4j.properties
#############################################
TARGET_DIR=${FULL_PATH}/target
CONF_FILE=${FULL_PATH}/conf/attsdc.yaml
DEBUG=true
MainClass=org.openecomp.sdc.ci.tests.run.StartTest
TESTS_DIR=/opt/app/sdc/ci/resources/tests
COMPONENTS_DIR=/opt/app/sdc/ci/resources/components
TARGET_LOG_DIR="${TARGET_DIR}/"
######ADD USERS################
BE_IP=`cat conf/attsdc.yaml | grep catalogBeHost| awk '{print $2}'`
ADD_USERS_SCRIPT="addUsersFromList_new.sh"
USER_LIST="conf/userList.txt"
chmod +x ${ADD_USERS_SCRIPT}
echo "add users..."
`./${ADD_USERS_SCRIPT} -ip ${BE_IP} -f ${USER_LIST}`
if [ ${REMOTE_DEBUG} == "true" ]; then
echo "Debug mode, Listen on port $debug_port";
JAVA_OPTION="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${debug_port}" ;
fi
cmd="java -Xmx2048m -Xms1024m $JAVA_OPTION -DdisplayException=true -Dtargetlog=${TARGET_LOG_DIR} -DfilePath=${FILES_TEST} -Dconfig.resource=${CONF_FILE} -Ddebug=${DEBUG} -Dlog4j.configuration=${LOGS_PROP_FILE} -cp $JAR_FILE ${MainClass} $SUITE_FILE &"
if [ $DEBUG == "true" ]
then
$cmd
else
$cmd >> /dev/null
fi
if [ ${RERUN} == "true" ]; then
if [ -f ${TARGET_DIR}/${fileName} ]; then
echo "Prepare" ${TARGET_DIR}/${fileName} "file to rerun all failed tests ...";
prepareFailedXmlFile ${TARGET_DIR}/${fileName} $SUITE_FILE;
SUITE_FILE=${fileName};
cmd="java -Xmx2048m -Xms1024m $JAVA_OPTION -DdisplayException=true -Dtargetlog=${TARGET_LOG_DIR} -DfilePath=${FILES_TEST} -Dconfig.resource=${CONF_FILE} -Ddebug=${DEBUG} -Dlog4j.configuration=${LOGS_PROP_FILE} -cp $JAR_FILE ${MainClass} $SUITE_FILE &"
$cmd;
fi
fi
status=`echo $?`
source ExtentReport/versions.info
now=$(date +'%Y-%m-%d_%H_%M')
REPORT_NAME=${now}
VERSION=${osVersion}
if [[ $env == *"DEV20"* ]]
then
MYENV="Nightly"
else
MYENV=""
fi
COPY_REPORT_SCRIPT="copyToStorage.sh"
chmod +x ${COPY_REPORT_SCRIPT}
echo "copy report to storage..."
sh ./${COPY_REPORT_SCRIPT} ${REPORT_NAME} ${VERSION} ${MYENV}
MAILING_SCRIPT_NAME="sendMail.sh"
chmod +x ${MAILING_SCRIPT_NAME}
echo "Sending report via mail..."
`./${MAILING_SCRIPT_NAME} ${REPORT_NAME} ${VERSION} ${MYENV}`
echo "##################################################"
echo "################# status is ${status} #################"
echo "##################################################"
exit $status