blob: 93064d0678998df6bbeebe1ea9488f328433b375 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
#!/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}
if [ -s "ExtentReport/ShortReport.csv" ]
then
SKIP_TESTS_LIST=$(cat ExtentReport/ShortReport.csv |awk -F, '{print $2}' | sed 's/&.*//g' | uniq)
for SKIP_TEST in ${SKIP_TESTS_LIST}; do
sed -i "s/.*\"${SKIP_TEST}\".*//g" ${FULL_PATH}/${TEST_SUITES}/${fileName};
done;
fi
}
function setUpdatedTimeToReport ()
{
LINE_NUMBER_OF_START_REPORT_DATE=`grep -A1 -nw "Start" ExtentReport/SDC_UI_Extent_Report.html | tail -1 | awk '{print $1}' | tr -d -`
END_REPORT_DATE=`grep -A1 -nw "End" ExtentReport/SDC_UI_Extent_Report.html | tail -1 | awk -F'[>|<]' '{print $3}'`
EPOCH_START_REPORT_DATE=`date --date="${1}" +%s`
EPOCH_END_REPORT_DATE=`date --date="${END_REPORT_DATE}" +%s`
let DIFF_EPOCH_TIME=${EPOCH_END_REPORT_DATE}-${EPOCH_START_REPORT_DATE}
TAKEN_TIME_IN_MINUTES=`echo $((${DIFF_EPOCH_TIME}/60))`
LINE_NUMBER_OF_TAKEN_REPORT_TIME=`grep -A1 -nw "Time Taken" ExtentReport/SDC_UI_Extent_Report.html | tail -1 | awk '{print $1}' | tr -d -`
PATTERN="div class='panel-lead'>";
sed -i "${LINE_NUMBER_OF_START_REPORT_DATE}s/${PATTERN}.*\</${PATTERN}$1\<\//1" ExtentReport/SDC_UI_Extent_Report.html
sed -i "${LINE_NUMBER_OF_TAKEN_REPORT_TIME}s/${PATTERN}.*\</${PATTERN}${TAKEN_TIME_IN_MINUTES} min\<\//1" ExtentReport/SDC_UI_Extent_Report.html
}
#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} -Dorg.freemarker.loggerLibrary=none -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} -Dorg.freemarker.loggerLibrary=none -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}
REPORT_START_DATE=${reportStartTime}
if [ ${RERUN} == "true" ]; then
setUpdatedTimeToReport "${REPORT_START_DATE}";
fi
if [[ $env == *"DEV20"* ]]
then
MYENV="Nightly"
else
MYENV=""
fi
COPY_REPORT_SCRIPT="copyToStorage.sh"
chmod +x ${COPY_REPORT_SCRIPT}
echo "copy report to storage..."
( ./${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
|