summaryrefslogtreecommitdiffstats
path: root/.gitreview
AgeCommit message (Expand)AuthorFilesLines
2019-10-08Add defaultbranch in .gitreviewEric Debeau1-0/+1
2017-07-19[DOC-23]Initial structure and Documentation GuideRich Bennett1-0/+4
d='n27' href='#n27'>27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
#!/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