|
Packit |
40b132 |
#! /bin/sh
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# /u/sonmi/bin/qa_stat - /u/svbld/bin/init/nss/qa_stat
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# this script is supposed to automatically run QA for NSS on all required
|
|
Packit |
40b132 |
# Unix platforms
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# parameters
|
|
Packit |
40b132 |
# ----------
|
|
Packit |
40b132 |
# nssversion (supported: 30b, 31, tip)
|
|
Packit |
40b132 |
# builddate (default - today)
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# options
|
|
Packit |
40b132 |
# -------
|
|
Packit |
40b132 |
# -y answer all questions with y - use at your own risk...ignores warnings
|
|
Packit |
40b132 |
# -s silent (only usefull with -y)
|
|
Packit |
40b132 |
# -h, -? - you guessed right - displays this text
|
|
Packit |
40b132 |
# -d debug
|
|
Packit |
40b132 |
# -f <filename> - write the (error)output to filename
|
|
Packit |
40b132 |
# -m <mailinglist> - send filename to mailinglist (csl) only useful
|
|
Packit |
40b132 |
# with -f
|
|
Packit |
40b132 |
# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.qa_stat
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
O_OPTIONS=ON
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
TBX_EXIT=49 # in case we are running on a tinderbox build, any
|
|
Packit |
40b132 |
# early exit needs to return an error
|
|
Packit |
40b132 |
if [ -z "$O_TBX" -o "$O_TBX" = "OFF" ] ; then
|
|
Packit |
40b132 |
if [ -z "$O_LOCAL" -o "$O_LOCAL" = "OFF" ] ; then
|
|
Packit |
40b132 |
. `dirname $0`/header
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
Debug "Sourced header O_TBX=$O_TBX O_LOCAL=$O_LOCAL"
|
|
Packit |
40b132 |
TBX_EXIT=48
|
|
Packit |
40b132 |
EARLY_EXIT=TRUE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
URL="cindercone.red.iplanet.com"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
DOCDIR=/u/sonmi/doc
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
HTML_ERRORCOLOR=\"#FF0000\"
|
|
Packit |
40b132 |
HTML_ERRORMSG=Failed
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
HTML_MISSINGCOLOR=\"#FFFFCC\"
|
|
Packit |
40b132 |
HTML_MISSINGMSG=Missing
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
HTML_INCOMPLETECOLOR=$HTML_MISSINGCOLOR
|
|
Packit |
40b132 |
HTML_INCOMPLETEMSG=Incomplete
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
HTML_PASSEDCOLOR=\"#66FF99\"
|
|
Packit |
40b132 |
HTML_PASSEDMSG=Passed
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
# this file is used to deal with hanging rsh - a new shell is started
|
|
Packit |
40b132 |
# for each rsh, and a function is called after it is finished - they
|
|
Packit |
40b132 |
# communicate with this file
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
RSH_FILE=$TMP/rsh.$$
|
|
Packit |
40b132 |
echo >$RSH_FILE
|
|
Packit |
40b132 |
TMPFILES="$TMPFILES $WARNINGLIST $RSH_FILE "
|
|
Packit |
40b132 |
RSH_WAIT_TIME=80 #maximum time allowed for the 2 rsh to finish...
|
|
Packit |
40b132 |
#TOTAL_TESTS=106
|
|
Packit |
40b132 |
TOTAL_TESTS=252 #tip
|
|
Packit |
40b132 |
#TOTAL_TESTS=244 #3.4
|
|
Packit |
40b132 |
#TOTAL_TESTS=123 #3.3.2
|
|
Packit |
40b132 |
BCT_TOTAL_TESTS=122 #3.2.2
|
|
Packit |
40b132 |
#TOTAL_TESTS=133 #tip
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
Debug "NTDIST $NTDIST"
|
|
Packit |
40b132 |
Debug "UXDIST $UXDIST"
|
|
Packit |
40b132 |
Debug "TESTSCRIPTDIR $TESTSCRIPTDIR"
|
|
Packit |
40b132 |
Debug "RESULTDIR $RESULTDIR"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### watch_rsh ##############################
|
|
Packit |
40b132 |
# local shell function, deals with a hanging rsh (kills it...)
|
|
Packit |
40b132 |
# this function is started as a backgroundprocess before the rsh is started,
|
|
Packit |
40b132 |
# and writes info to the RSH_FILE, after the rsh is finished it writes finish
|
|
Packit |
40b132 |
# info to the same file (this time called as a function, forground).
|
|
Packit |
40b132 |
# the backgroundprocess stays around for RSH_WAIT_TIME, if then the finish
|
|
Packit |
40b132 |
# information is not there attempts to kill the rsh
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
# watch_rsh start qa_computername &
|
|
Packit |
40b132 |
# watch_rsh stop qa_computername
|
|
Packit |
40b132 |
#
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
watch_rsh()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
case $1 in
|
|
Packit |
40b132 |
start)
|
|
Packit |
40b132 |
echo "$2 started" >>$RSH_FILE
|
|
Packit |
40b132 |
sleep $RSH_WAIT_TIME
|
|
Packit |
40b132 |
O_ALWAYS_YES=ON # may modify global flags because this is a
|
|
Packit |
40b132 |
# forked off bg process - kill_by_name otherwise
|
|
Packit |
40b132 |
# will ask the user if it really should be killed
|
|
Packit |
40b132 |
grep "$2 finished" $RSH_FILE >/dev/null || kill_by_name "rsh $2"
|
|
Packit |
40b132 |
exit
|
|
Packit |
40b132 |
;;
|
|
Packit |
40b132 |
stop)
|
|
Packit |
40b132 |
echo "$2 finished" >>$RSH_FILE
|
|
Packit |
40b132 |
;;
|
|
Packit |
40b132 |
esac
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### find_qa_systems ########################
|
|
Packit |
40b132 |
# local shell function, tries to determine the QA operating system
|
|
Packit |
40b132 |
# works remotely, and for Windows machines
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
find_qa_systems()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
for QA_SYS in `ls $RESULTDIR | grep '\.1$' | sed -e "s/\..*//" | sort -u`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
NO_RSH="FALSE"
|
|
Packit |
40b132 |
QA_OS=""
|
|
Packit |
40b132 |
QA_RHVER=""
|
|
Packit |
40b132 |
IS_64=""
|
|
Packit |
40b132 |
IS_WIN=""
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
grep OS-LINE ${RESULTDIR}/${QA_SYS}.nssqa >/dev/null && NO_RSH=TRUE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ "$NO_RSH" = "TRUE" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
QA_OS=`grep OS-LINE ${RESULTDIR}/${QA_SYS}.nssqa | sort -u | sed \
|
|
Packit |
40b132 |
-e "s/.*-OS-LINE: /${QA_SYS}/"`
|
|
Packit |
40b132 |
QA_OS_STRING=`echo $QA_OS | sed -e "s/^[_ ]//" -e "s/ /_/g"`
|
|
Packit |
40b132 |
echo $QA_OS_STRING >>$PLATFORMLIST
|
|
Packit |
40b132 |
if [ "$O_SILENT" != ON ] ; then
|
|
Packit |
40b132 |
echo $QA_OS
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
#grep OS-LINE ${RESULTDIR}/${QA_SYS}.nssqa | sort -u | sed \
|
|
Packit |
40b132 |
#-e "s/.*-OS-LINE: /${QA_SYS}_/" >>$PLATFORMLIST
|
|
Packit |
40b132 |
#if [ "$O_SILENT" != ON ] ; then
|
|
Packit |
40b132 |
#grep OS-LINE ${RESULTDIR}/${QA_SYS}.nssqa | sort -u | sed \
|
|
Packit |
40b132 |
#-e "s/.*-OS-LINE:/${QA_SYS}/"
|
|
Packit |
40b132 |
#fi
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
REM_SYSNAME=$QA_SYS
|
|
Packit |
40b132 |
watch_rsh start $REM_SYSNAME &
|
|
Packit |
40b132 |
qa_stat_get_sysinfo $QA_SYS
|
|
Packit |
40b132 |
watch_rsh stop $REM_SYSNAME
|
|
Packit |
40b132 |
echo $QA_OS_STRING >>$PLATFORMLIST
|
|
Packit |
40b132 |
# use later for missing list
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
################################### qa_stat_init ##########################
|
|
Packit |
40b132 |
# local shell function, sets the name of the resultfile to:
|
|
Packit |
40b132 |
# <filename> if option -f <filename>
|
|
Packit |
40b132 |
# $RESULTDIR/result if write permission
|
|
Packit |
40b132 |
# (mozilla/tests_results/security/result)
|
|
Packit |
40b132 |
# $HOME/resultNSS${NSSVER}-${BUILDDATE} if no write permission in $RESULTDIR
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
qa_stat_init()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
if [ $O_FILE = ON -a $O_CRON = OFF ] # if -f was specified write there
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
RFILE=$FILENAME
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
RFILE=${RESULTDIR}/result.$$
|
|
Packit |
40b132 |
if [ ! -w $RESULTDIR ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
RFILE=$HOME/resultNSS${NSSVER}-${BUILDDATE}.$$
|
|
Packit |
40b132 |
Debug "Using alternate resultfile $RFILE"
|
|
Packit |
40b132 |
#elif [ $O_CRON = ON ]
|
|
Packit |
40b132 |
#then
|
|
Packit |
40b132 |
##find ${RESULTDIR} -exec chmod a+rw {} \; #FIXME - umask
|
|
Packit |
40b132 |
##doesn't seem to work - this is a tmp workaround
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ ! -x $RESULTDIR -o ! -r $RESULTDIR -o ! -w $RESULTDIR ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
glob_usage "$RESULTDIR does not have the right permissions `ls -l $RESULTDIR`"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ -d $RESULTDIR ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
cd $RESULTDIR
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
glob_usage "$RESULTDIR does not exist"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
ERRORLIST=${RFILE}.E
|
|
Packit |
40b132 |
PLATFORMLIST=${RFILE}.P
|
|
Packit |
40b132 |
PERFLIST=${RFILE}.PE
|
|
Packit |
40b132 |
TMP_HTML_FILE=${RFILE}.html
|
|
Packit |
40b132 |
HTML_FILE=${RESULTDIR}/result.html
|
|
Packit |
40b132 |
WARNINGLIST=${RFILE}.W
|
|
Packit |
40b132 |
BCMISSINGLIST=${RFILE}.BCM
|
|
Packit |
40b132 |
BCERRORLIST=${RFILE}.BCE
|
|
Packit |
40b132 |
TMPFILE=${RFILE}.T
|
|
Packit |
40b132 |
ML_FILE=${RFILE}.ML
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
TMPFILES="$TMPFILES $TMPFILE"
|
|
Packit |
40b132 |
TMPFILES="$TMPFILES $ERRORLIST $PLATFORMLIST $PERFLIST $WARNINGLIST \
|
|
Packit |
40b132 |
$BCMISSINGLIST $BCERRORLIST $ML_FILE" #FIXME uncomment
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
FILENAME=$RFILE #we might want to mail it...later switch to html file
|
|
Packit |
40b132 |
O_FILE="ON"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
rm $ERRORLIST $PLATFORMLIST $PERFLIST $WARNINGLIST \
|
|
Packit |
40b132 |
$BCMISSINGLIST $BCERRORLIST $TMP_HTML_FILE 2>/dev/null
|
|
Packit |
40b132 |
touch $ERRORLIST $PLATFORMLIST $PERFLIST $WARNINGLIST \
|
|
Packit |
40b132 |
$BCMISSINGLIST $BCERRORLIST $TMP_HTML_FILE 2>/dev/null
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ $O_WIN = "ON" -a "$O_TBX" = "ON" ] ; then
|
|
Packit |
40b132 |
HTML_PATH="http://${URL}${UX_D0}/nss${NSSVER}/tinderbox/tests_results/security/`basename $RESULTDIR`"
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
HTML_PATH="http://${URL}${RESULTDIR}"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
HREF_TMP_HTML_FILE="${HTML_PATH}/`basename $HTML_FILE`"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
write_qa_header_html >$TMP_HTML_FILE
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
################################# html_footer #########################
|
|
Packit |
40b132 |
# local shell function, writes end of the html body
|
|
Packit |
40b132 |
#######################################################################
|
|
Packit |
40b132 |
write_qa_header_html()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
echo 'Subject: QA Report ' $NSSVER $BUILDDATE '
|
|
Packit |
40b132 |
From: sonmi@iplanet.com
|
|
Packit |
40b132 |
Reply-To: sonmi@iplanet.com
|
|
Packit |
40b132 |
Content-Type: text/html; charset=us-ascii
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
<html>
|
|
Packit |
40b132 |
<head>
|
|
Packit |
40b132 |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
etscape]">
|
|
Packit |
40b132 |
</head>
|
|
Packit |
40b132 |
<body>
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
Tinderbox
|
|
Packit |
40b132 |
>
|
|
Packit |
40b132 |
Tinderbox QA result
|
|
Packit |
40b132 |
Mozilla Daily NSS QA result
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
<center>
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
<font size=+2>QA Results</font></center>
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
<font size=+1>Build-OS and version</font>
|
|
Packit |
40b132 |
<font size=+1>QA-OS</font>
|
|
Packit |
40b132 |
<font size=+1>Systemname</font>
|
|
Packit |
40b132 |
<font size=+1>P/F</font>
|
|
Packit |
40b132 |
<font size=+1>result</font>
|
|
Packit |
40b132 |
<font size=+1>output</font>
|
|
Packit |
40b132 |
<font size=+1>errors</font>
|
|
Packit |
40b132 |
<font size=+1>QA time / #</font>
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
'
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
################################# html_footer #########################
|
|
Packit |
40b132 |
# local shell function, writes end of the html body
|
|
Packit |
40b132 |
#######################################################################
|
|
Packit |
40b132 |
html_footer()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
echo '</body>'
|
|
Packit |
40b132 |
echo '</html>'
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
################################# setQAsysvars #########################
|
|
Packit |
40b132 |
# local shell function, sets system specific variables
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
setQAsysvars()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
if [ "$MACHINE" != "0" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
MACHINE=`echo $MACHINE | sed -e 's/^bct.//g'`
|
|
Packit |
40b132 |
TESTDATE=`ls -ld $MACHINE | awk '{ print $6, $7, $8 }'`
|
|
Packit |
40b132 |
TESTNUMBER=`echo $MACHINE | sed -e 's/.*\.//'`
|
|
Packit |
40b132 |
SYSNAME=`echo $MACHINE | sed -e 's/\..*//'`
|
|
Packit |
40b132 |
Debug "SYSNAME= $SYSNAME"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ "$O_TBX" = "ON" -o "$O_LOCAL" = "ON" ] ; then
|
|
Packit |
40b132 |
QA_SYS_OS=$QA_OS
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
QA_SYS_OS=`grep $SYSNAME $PLATFORMLIST |
|
|
Packit |
40b132 |
sed -e 's/
//' | \
|
|
Packit |
40b132 |
sort | uniq | sed -e "s/$SYSNAME//" \
|
|
Packit |
40b132 |
-e "s/^_//" | sort | uniq`
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
Debug "QA_SYS_OS= $QA_SYS_OS"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' -e 's/_DBG/ Debug/' \
|
|
Packit |
40b132 |
-e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
|
|
Packit |
40b132 |
-e 's/_/ /'`
|
|
Packit |
40b132 |
Debug "BUILD_SYS=$BUILD_SYS"
|
|
Packit |
40b132 |
if [ -f "${RESULTDIR}/${MACHINE}/results.html" ] ; then
|
|
Packit |
40b132 |
RESULT="${HTML_PATH}/${MACHINE}/results.html"
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
RESULT="0"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ -f "${RESULTDIR}/bct/${MACHINE}/results.html" ] ; then
|
|
Packit |
40b132 |
BCB_RESULT="${HTML_PATH}/bct/${MACHINE}/results.html"
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
BCB_RESULT="0"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ -f "${RESULTDIR}/${MACHINE}/output.log" ] ; then
|
|
Packit |
40b132 |
LOG="${HTML_PATH}/${MACHINE}/output.log"
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
LOG="0"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ -f "${RESULTDIR}/bct/${MACHINE}/output.log" ] ; then
|
|
Packit |
40b132 |
BCB_LOG="${HTML_PATH}/bct/${MACHINE}/output.log"
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
BCB_LOG="0"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
################################# html_line() #########################
|
|
Packit |
40b132 |
# local shell function, writes a line in the html table
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
html_line()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$BUILD_SYS''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
if [ "$QA_SYS_OS" != "0" ] ; then
|
|
Packit |
40b132 |
echo ''$QA_SYS_OS''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
if [ "$SYSNAME" != "0" ] ; then
|
|
Packit |
40b132 |
echo ''$SYSNAME''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
#echo ''$SYSNAME $TESTNUMBER $TESTDATE''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
# hopefully we never run more different tests on a tinderbox build...
|
|
Packit |
40b132 |
# on win some shells can not handle exit codes greater then 52 (64???)
|
|
Packit |
40b132 |
# so for very early exits the codes are set 50-45, for failures later
|
|
Packit |
40b132 |
# in the process the higher the number, the more failures
|
|
Packit |
40b132 |
if [ "$O_TBX" = "ON" -a "$TBX_EXIT" -gt 45 ] ; then
|
|
Packit |
40b132 |
TBX_EXIT=0
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ "$1" = "failed" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
TBX_EXIT=`expr $TBX_EXIT + 1`
|
|
Packit |
40b132 |
echo ''$HTML_ERRORMSG''
|
|
Packit |
40b132 |
elif [ "$1" = "passed" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
echo ''$HTML_PASSEDMSG''
|
|
Packit |
40b132 |
elif [ "$1" = "incomplete" ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
TBX_EXIT=`expr $TBX_EXIT + 1`
|
|
Packit |
40b132 |
echo ''$HTML_INCOMPLETEMSG''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
TBX_EXIT=`expr $TBX_EXIT + 1`
|
|
Packit |
40b132 |
echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ "$CURRENT_TABLE" != "BC" ] ; then
|
|
Packit |
40b132 |
if [ "$RESULT" = "0" ] ; then
|
|
Packit |
40b132 |
echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ' result '
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ "$LOG" = "0" ] ; then
|
|
Packit |
40b132 |
echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ' log '
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ "$1" = "failed" ] ; then
|
|
Packit |
40b132 |
echo ' error '
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
#<font size=+1>errors</font>
|
|
Packit |
40b132 |
#<font size=+1>P/F</font>
|
|
Packit |
40b132 |
#<font size=+1>P/F</font>
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
#echo '<font size=+1>All Current</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>old dlls</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>old executables</font>'
|
|
Packit |
40b132 |
#if [ "$RESULT" != "0" -a "$LOG" != "0" ] ; then
|
|
Packit |
40b132 |
#echo 'result, log'
|
|
Packit |
40b132 |
#elif [ "$RESULT" = "0" -a "$LOG" != "0" ] ; then
|
|
Packit |
40b132 |
#echo 'log'
|
|
Packit |
40b132 |
#elif [ "$RESULT" != "0" -a "$LOG" = "0" ] ; then
|
|
Packit |
40b132 |
#echo 'result'
|
|
Packit |
40b132 |
#else
|
|
Packit |
40b132 |
#echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
#fi
|
|
Packit |
40b132 |
#if [ "$BCB_RESULT" != "0" -a "$BCB_LOG" != "0" ] ; then
|
|
Packit |
40b132 |
#echo 'result, log'
|
|
Packit |
40b132 |
#elif [ "$BCB_RESULT" = "0" -a "$BCB_LOG" != "0" ] ; then
|
|
Packit |
40b132 |
#echo 'log'
|
|
Packit |
40b132 |
#elif [ "$BCB_RESULT" != "0" -a "$BCB_LOG" = "0" ] ; then
|
|
Packit |
40b132 |
#echo 'result'
|
|
Packit |
40b132 |
#else
|
|
Packit |
40b132 |
#echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
#fi
|
|
Packit |
40b132 |
if [ "$BCB_RESULT" = "0" ] ; then
|
|
Packit |
40b132 |
echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ' result '
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
if [ "$BCB_LOG" = "0" ] ; then
|
|
Packit |
40b132 |
echo ''$HTML_MISSINGMSG''
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo ' log '
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
echo ''$TESTDATE $TESTNUMBER''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
################################# qa_errorlist #########################
|
|
Packit |
40b132 |
# local shell function, finds problems in the previously run QA
|
|
Packit |
40b132 |
# linux:the gnu grep, on Linux can output 10 lines above and 3 lines below
|
|
Packit |
40b132 |
# the errormessage
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
qa_errorlist()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
grep "bgcolor=red" ${MACHINES_TO_CHECK}*/results.html |
|
|
Packit |
40b132 |
sed -e 's/.results.html:/ /' -e 's/<[^>]*>/ /g'
|
|
Packit |
40b132 |
grep 'cache hits; .* cache misses, .* cache not reusable' \
|
|
Packit |
40b132 |
${MACHINES_TO_CHECK}*/output.log |
|
|
Packit |
40b132 |
grep strsclnt |
|
|
Packit |
40b132 |
grep -v '0 cache hits; 0 cache misses, 0 cache not reusable' |
|
|
Packit |
40b132 |
grep -v ' cache hits; 1 cache misses, 0 cache not reusable'
|
|
Packit |
40b132 |
for logfile in ${MACHINES_TO_CHECK}*/output.log; do
|
|
Packit |
40b132 |
grep -vi "write to SSL socket" $logfile |
|
|
Packit |
40b132 |
grep -vi "HDX PR_Read returned error" |
|
|
Packit |
40b132 |
grep -vi "no error" |
|
|
Packit |
40b132 |
grep -vi "12285" |
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP error
|
|
Packit |
40b132 |
#grep -vi "5938" | needed for -v option
|
|
Packit |
40b132 |
#grep -vi "HDX PR_Read hit EOF" |
|
|
Packit |
40b132 |
grep -vi "write to SSL socket" $logfile |
|
|
Packit |
40b132 |
grep -vi "peer cannot verify" |
|
|
Packit |
40b132 |
grep -vi "error" |
|
|
Packit |
40b132 |
grep -vi "fatal" |
|
|
Packit |
40b132 |
grep -vi "TCP Connection aborted" |
|
|
Packit |
40b132 |
grep -vi "TCP connection reset" |
|
|
Packit |
40b132 |
grep $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP -i failed
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "segmentation violation" \
|
|
Packit |
40b132 |
${MACHINES_TO_CHECK}*/output.log
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "memory fault" \
|
|
Packit |
40b132 |
${MACHINES_TO_CHECK}*/output.log
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "bus error" \
|
|
Packit |
40b132 |
${MACHINES_TO_CHECK}*/output.log
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "core dumped" \
|
|
Packit |
40b132 |
${MACHINES_TO_CHECK}*/output.log
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP fatal \
|
|
Packit |
40b132 |
${MACHINES_TO_CHECK}*/output.log
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP -i\
|
|
Packit |
40b132 |
"PKCS12 decode not verified" ${MACHINES_TO_CHECK}*/output.log
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ -n "${MACHINES_TO_CHECK}" ] ; then
|
|
Packit |
40b132 |
find ${MACHINES_TO_CHECK}* -name core -print 2>/dev/null |
|
|
Packit |
40b132 |
grep -v bct
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
find . -name core -print 2>/dev/null |
|
|
Packit |
40b132 |
grep -v bct
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
tbx_missing_platforms ()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
QA_MISSING="QA report missing"
|
|
Packit |
40b132 |
MACHINE="0"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ "$QA_OS_STRING" = "WINNT4.0" ] ; then
|
|
Packit |
40b132 |
QA_OS_STRING="Windows-NT-4.0"
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
for BUILDPLATFORM in `grep $QA_OS_STRING $TESTSCRIPTDIR/platformlist.tbx`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
if [ "$BUILDPLATFORM" != "$QA_OS_STRING" ] ; then
|
|
Packit |
40b132 |
Debug "BUILDPLATFORM = $BUILDPLATFORM QA_OS_STRING = $QA_OS_STRING"
|
|
Packit |
40b132 |
grep $BUILDPLATFORM ${MACHINES_TO_CHECK}*/results.html \
|
|
Packit |
40b132 |
>/dev/null || {
|
|
Packit |
40b132 |
setQAsysvars
|
|
Packit |
40b132 |
html_line missing >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################ platform _list ###########################
|
|
Packit |
40b132 |
# local shell function, generate pass/fail information for each Platform
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
platformlist()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
grep Platform ${MACHINES_TO_CHECK}*/results.html |
|
|
Packit |
40b132 |
sed -e 's/.results.html:Platform: /---/' \
|
|
Packit |
40b132 |
-e 's/ //' >$TMPFILE
|
|
Packit |
40b132 |
# this is done a little complicated to avoid starting a subshell in
|
|
Packit |
40b132 |
# a while read that gets the input from a pipeline, and variables set
|
|
Packit |
40b132 |
#in or underneath this function get unset after done...
|
|
Packit |
40b132 |
for MB in `cat $TMPFILE` ; do
|
|
Packit |
40b132 |
MACHINE=`echo $MB | sed -e "s/---.*//"`
|
|
Packit |
40b132 |
BUILDPLATFORM=`echo $MB | sed -e "s/.*---//"`
|
|
Packit |
40b132 |
grep "${MACHINE}[^0-9]" $ERRORLIST >/dev/null
|
|
Packit |
40b132 |
ret=$?
|
|
Packit |
40b132 |
setQAsysvars
|
|
Packit |
40b132 |
if [ $ret -eq 0 ]
|
|
Packit |
40b132 |
then
|
|
Packit |
40b132 |
echo "Failed $MACHINE $BUILDPLATFORM" >>$RFILE
|
|
Packit |
40b132 |
html_line failed >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
echo "Passed $MACHINE $BUILDPLATFORM" >>$RFILE
|
|
Packit |
40b132 |
html_line passed >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################ missing_platforms ###########################
|
|
Packit |
40b132 |
# local shell function, finds out if we ran on all required platforms
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
missing_platforms()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
QA_MISSING="QA report missing"
|
|
Packit |
40b132 |
MACHINE="0"
|
|
Packit |
40b132 |
SYSNAME="0"
|
|
Packit |
40b132 |
QA_SYS_OS="0"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
for BUILDPLATFORM in `cat $TESTSCRIPTDIR/platformlist`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
grep $BUILDPLATFORM $PLATFORMLIST > /dev/null || {
|
|
Packit |
40b132 |
setQAsysvars
|
|
Packit |
40b132 |
html_line missing >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################ incomplete_results ###########################
|
|
Packit |
40b132 |
# local shell function, finds out if all qa runs were complete
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
incomplete_results ()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
for w in `ls ${MACHINES_TO_CHECK}*/results.html`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
grep bgcolor=red $w || {
|
|
Packit |
40b132 |
PASSED_LINES=""
|
|
Packit |
40b132 |
PASSED_LINES=`grep bgcolor=lightGreen $w | wc -l`
|
|
Packit |
40b132 |
if [ -n "$PASSED_LINES" -a "$PASSED_LINES" -lt "$TOTAL_TESTS" ] ; then
|
|
Packit |
40b132 |
BUILDPLATFORM=`grep Platform $w | sed -e 's/Platform:/ /' -e 's/ //'`
|
|
Packit |
40b132 |
MACHINE=`echo $w | sed -e "s/.results.html//"`
|
|
Packit |
40b132 |
#MACHINE=`echo $w | sed -e "s/\.[0-9]*.results.html//"`
|
|
Packit |
40b132 |
setQAsysvars
|
|
Packit |
40b132 |
html_line incomplete >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
elif [ "$PASSED_LINES" -gt "$TOTAL_TESTS" ] ; then
|
|
Packit |
40b132 |
echo "WARNING - more tests than expected on $w ($PASSED_LINES)" >>$WARNINGLIST
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_table()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
echo ' '
|
|
Packit |
40b132 |
echo ' '
|
|
Packit |
40b132 |
echo '<center>'
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$1'</center>'
|
|
Packit |
40b132 |
echo ' '
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### psaperf ########################
|
|
Packit |
40b132 |
# local shell function, copies results of the daily performance test
|
|
Packit |
40b132 |
# into a table in the QA report
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
rsaperf()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
grep RSAPERF */output.log | grep -v "_DBG" > $PERFLIST
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_table "Performance list"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
echo '<font size=+1>Build-OS and version</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>Systemname</font>'
|
|
Packit |
40b132 |
echo '<font size=+1># of iterations</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>average for one op</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>Total</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA time / #</font>'
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
cat $PERFLIST |
|
|
Packit |
40b132 |
while read MACHINE BUILDPLATFORM no_iter t1 t2 total total_unit t3 \
|
|
Packit |
40b132 |
t4 t5 average average_unit
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
#caution subshell, variables local to this loop
|
|
Packit |
40b132 |
BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' \
|
|
Packit |
40b132 |
-e 's/_DBG/ Debug/' \
|
|
Packit |
40b132 |
-e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
|
|
Packit |
40b132 |
-e 's/_/ /'`
|
|
Packit |
40b132 |
TESTNUMBER=`echo $MACHINE | sed -e 's/[^\.]*\.//' -e 's/\/.*//'`
|
|
Packit |
40b132 |
MACHINE=`echo $MACHINE | sed -e 's/\..*//'`
|
|
Packit |
40b132 |
TESTDATE=`ls -ld ${MACHINE}.${TESTNUMBER} | awk '{ print $6, $7, $8 }'`
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$BUILD_SYS''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$MACHINE''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$no_iter''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$average' '$average_unit''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$total' '$total_unit''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''$TESTDATE $TESTNUMBER''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### qa_stat_cleanup ########################
|
|
Packit |
40b132 |
# local shell function, finishes html file, sets variables for global Exit
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
qa_stat_cleanup()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
html_footer >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
O_DEBUG=OFF
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
EARLY_EXIT=FALSE
|
|
Packit |
40b132 |
cp $TMP_HTML_FILE $HTML_FILE
|
|
Packit |
40b132 |
FILENAME=$HTML_FILE #we might want to mail it...
|
|
Packit |
40b132 |
Exit
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### bc_test ########################
|
|
Packit |
40b132 |
# local shell function, evaluates the results of the backward u
|
|
Packit |
40b132 |
# compatibility tests
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
bc_header()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
CURRENT_TABLE="BC" #so html_line can determine which fields to write
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_table "Backward Compatibility Test"
|
|
Packit |
40b132 |
echo '<font size=+1>Build-OS and version</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA-OS</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>Systemname</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>P/F</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>All Current</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>backward comp. test</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>result</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>output</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA time / #</font>'
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
old_bc_test()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
CURRENT_TABLE="BC" #so html_line can determine which fields to write
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_table "Backward Compatibility Test"
|
|
Packit |
40b132 |
echo '<font size=+1>Build-OS and version</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA-OS</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>Systemname</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>P/F</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>All Current</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>backward comp. test</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>result</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>output</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA time / #</font>'
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
for w in `ls */results.html`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
TMP_RESULT="`dirname $w`/results.tmp"
|
|
Packit |
40b132 |
TMP_BC_RESULT="`dirname bct/$w`/results.tmp"
|
|
Packit |
40b132 |
rm $TMP_RESULT $TMP_BC_RESULT 2>/dev/null
|
|
Packit |
40b132 |
cat $w | sed -e 's/<[^>]*>//g' -e 's/ /_/g' \
|
|
Packit |
40b132 |
-e 's/signtool_-[vw]/signtool_-vw/' |
|
|
Packit |
40b132 |
grep '_[PF]a[si][sl]ed' >$TMP_RESULT
|
|
Packit |
40b132 |
cat bct/$w | sed -e 's/<[^>]*>//g' -e 's/ /_/g' \
|
|
Packit |
40b132 |
-e 's/signtool_-[vw]/signtool_-vw/' |
|
|
Packit |
40b132 |
grep '_[PF]a[si][sl]ed' >$TMP_BC_RESULT
|
|
Packit |
40b132 |
diff $TMP_RESULT $TMP_BC_RESULT 2>>$BCMISSINGLIST |
|
|
Packit |
40b132 |
grep -v "Create_objsign_cert_.signtool_-G.*Passed" |
|
|
Packit |
40b132 |
grep -v "porting_Alice.s_email_cert" |
|
|
Packit |
40b132 |
grep -v "^[0-9,cad]*$" | grep -v "^---$" | grep -v "^---.$" |
|
|
Packit |
40b132 |
grep -v "Can.t_run_pk12util_tests_for_NSS_3.2" >/dev/null && (
|
|
Packit |
40b132 |
echo "$w differs" >> $BCMISSINGLIST
|
|
Packit |
40b132 |
echo "========================================="
|
|
Packit |
40b132 |
echo "diff $w bct/$w"
|
|
Packit |
40b132 |
echo "========================================="
|
|
Packit |
40b132 |
diff $TMP_RESULT $TMP_BC_RESULT 2>&1 |
|
|
Packit |
40b132 |
grep -v "Create_objsign_cert_.signtool_-G.*Passed" |
|
|
Packit |
40b132 |
grep -v "porting_Alice.s_email_cert" |
|
|
Packit |
40b132 |
grep -v "Can.t_run_pk12util_tests_for_NSS_3.2"
|
|
Packit |
40b132 |
) 2>&1 >>$BCERRORLIST
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
#diff -b $w bct/$w 2>>$BCMISSINGLIST |
|
|
Packit |
40b132 |
#grep -v "Create objsign cert .signtool -G.*Passed" |
|
|
Packit |
40b132 |
#grep -v "Listing signed files in jar .signtool -v.*Passed" |
|
|
Packit |
40b132 |
#grep -v "Listing signed files in jar .signtool -w.*Passed" |
|
|
Packit |
40b132 |
#grep -v "backward compatibility" |
|
|
Packit |
40b132 |
#grep -v "Can.t run pk12util tests for NSS 3.2" |
|
|
Packit |
40b132 |
#grep -v "porting Alice.s email cert " |
|
|
Packit |
40b132 |
#grep -v "^---$" | grep -v "^[<> ] $" |
|
|
Packit |
40b132 |
#grep -v "^---.$" | grep -v "^[<> ] .$" |
|
|
Packit |
40b132 |
#grep -v '< </BODY></HTML>' |
|
|
Packit |
40b132 |
#grep -v "^[0-9,cad]*$" 2>>$BCMISSINGLIST >/dev/null && (
|
|
Packit |
40b132 |
#echo "$w differs" >> $BCMISSINGLIST
|
|
Packit |
40b132 |
#echo "========================================="
|
|
Packit |
40b132 |
#echo "diff $w bct/$w"
|
|
Packit |
40b132 |
#echo "========================================="
|
|
Packit |
40b132 |
#diff -b $w bct/$w 2>&1 |
|
|
Packit |
40b132 |
#grep -v "Listing signed files in jar .signtool -v.*Passed" |
|
|
Packit |
40b132 |
#grep -v "Listing signed files in jar .signtool -w.*Passed" |
|
|
Packit |
40b132 |
#grep -v "backward compatibility" |
|
|
Packit |
40b132 |
#grep -v "Can.t run pk12util tests for NSS 3.2" |
|
|
Packit |
40b132 |
#grep -v "porting Alice.s email cert " |
|
|
Packit |
40b132 |
#grep -v "^---$" | grep -v "^[<> ] $" |
|
|
Packit |
40b132 |
#grep -v "^---.$" | grep -v "^[<> ] .$" |
|
|
Packit |
40b132 |
#grep -v '< </BODY></HTML>' |
|
|
Packit |
40b132 |
#grep -v "^[0-9,cad]*$" \
|
|
Packit |
40b132 |
#) 2>&1 >>$BCERRORLIST
|
|
Packit |
40b132 |
rm $TMP_RESULT $TMP_BC_RESULT 2>/dev/null
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
rm $ERRORLIST
|
|
Packit |
40b132 |
cat $BCMISSINGLIST | sed -e "s/^diff: bc_...s.//" \
|
|
Packit |
40b132 |
-e "s/.results.html.*/\/results.html/" |
|
|
Packit |
40b132 |
sort -u > $ERRORLIST
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
platformlist
|
|
Packit |
40b132 |
echo '' >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
head -200 $BCERRORLIST | sed -e 's/<[^>]*>//g' -e "s/^/ /"
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
bc_test()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
CURRENT_TABLE="BC" #so html_line can determine which fields to write
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_table "Backward Compatibility Test"
|
|
Packit |
40b132 |
echo '<font size=+1>Build-OS and version</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA-OS</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>Systemname</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>P/F</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>All Current</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>backward comp. test</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>result</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>output</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA time / #</font>'
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
set -x
|
|
Packit |
40b132 |
for w in `ls */results.html`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
BCT_DIR=`dirname "bct/$w"`
|
|
Packit |
40b132 |
BCT_RESULT="bct/$w"
|
|
Packit |
40b132 |
BCT_LOG="$BCT_DIR/output.log"
|
|
Packit |
40b132 |
grep "bgcolor=red" $BCT_RESULT |
|
|
Packit |
40b132 |
sed -e 's/.results.html:/ /' -e 's/<[^>]*>/ /g'
|
|
Packit |
40b132 |
grep 'cache hits; .* cache misses, .* cache not reusable' \
|
|
Packit |
40b132 |
$BCT_LOG |
|
|
Packit |
40b132 |
grep -v selfserv |
|
|
Packit |
40b132 |
grep -v '0 cache hits; 1 cache misses, 0 cache not reusable' |
|
|
Packit |
40b132 |
grep -v '0 cache hits; 0 cache misses, 0 cache not reusable' |
|
|
Packit |
40b132 |
grep -v ' cache hits; 1 cache misses, 0 cache not reusable'
|
|
Packit |
40b132 |
grep -vi "write to SSL socket" $BCT_LOG |
|
|
Packit |
40b132 |
grep -vi "HDX PR_Read returned error" |
|
|
Packit |
40b132 |
grep -vi "no error" |
|
|
Packit |
40b132 |
grep -vi "12285" |
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP error
|
|
Packit |
40b132 |
grep -vi "write to SSL socket" $BCT_LOG |
|
|
Packit |
40b132 |
grep -vi "peer cannot verify" |
|
|
Packit |
40b132 |
grep -vi "TCP Connection aborted" |
|
|
Packit |
40b132 |
grep -vi "error" |
|
|
Packit |
40b132 |
grep -vi "fatal" |
|
|
Packit |
40b132 |
grep -vi "TCP connection reset" |
|
|
Packit |
40b132 |
grep $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP -i failed $BCT_LOG
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "segmentation violation" $BCT_LOG
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "memory fault" $BCT_LOG
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "bus error" $BCT_LOG
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP "core dumped" $BCT_LOG
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP fatal $BCT_LOG
|
|
Packit |
40b132 |
grep -i $BEFORE_CONTEXT_GREP $AFTER_CONTEXT_GREP -i "PKCS12 decode not verified" $BCT_LOG
|
|
Packit |
40b132 |
find ${BTC_DIR} -name core -print
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
done 2>&1 >>$BCERRORLIST
|
|
Packit |
40b132 |
rm $ERRORLIST
|
|
Packit |
40b132 |
cat $BCMISSINGLIST | sed -e "s/^diff: bc_...s.//" \
|
|
Packit |
40b132 |
-e "s/.results.html.*/\/results.html/" |
|
|
Packit |
40b132 |
sort -u > $ERRORLIST
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
platformlist
|
|
Packit |
40b132 |
echo '' >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
head -200 $BCERRORLIST | sed -e 's/<[^>]*>//g' -e "s/^/ /"
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### bc_test ########################
|
|
Packit |
40b132 |
# local shell function, evaluates the results of the backward u
|
|
Packit |
40b132 |
# compatibility tests
|
|
Packit |
40b132 |
# move the whole function to old to tests a new solution
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
bc_test_old()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
CURRENT_TABLE="BC" #so html_line can determine which fields to write
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_table "Backward Compatibility Test"
|
|
Packit |
40b132 |
echo '<font size=+1>Build-OS and version</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA-OS</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>Systemname</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>P/F</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>All Current</font>'
|
|
Packit |
40b132 |
#echo '<font size=+1>backward comp. test</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>result</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>output</font>'
|
|
Packit |
40b132 |
echo '<font size=+1>QA time / #</font>'
|
|
Packit |
40b132 |
echo ''
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
for w in `ls */results.html`
|
|
Packit |
40b132 |
do
|
|
Packit |
40b132 |
diff -b $w bct/$w 2>>$BCMISSINGLIST |
|
|
Packit |
40b132 |
grep -v "Create objsign cert .signtool -G.*Passed" |
|
|
Packit |
40b132 |
grep -v "Listing signed files in jar .signtool -v.*Passed" |
|
|
Packit |
40b132 |
grep -v "Listing signed files in jar .signtool -w.*Passed" |
|
|
Packit |
40b132 |
grep -v "backward compatibility" |
|
|
Packit |
40b132 |
grep -v "Can.t run pk12util tests for NSS 3.2" |
|
|
Packit |
40b132 |
grep -v "porting Alice.s email cert " |
|
|
Packit |
40b132 |
grep -v "^---$" | grep -v "^[<> ] $" |
|
|
Packit |
40b132 |
grep -v "^---.$" | grep -v "^[<> ] .$" |
|
|
Packit |
40b132 |
grep -v '< </BODY></HTML>' |
|
|
Packit |
40b132 |
grep -v "^[0-9,cad]*$" 2>>$BCMISSINGLIST >/dev/null && (
|
|
Packit |
40b132 |
echo "$w differs" >> $BCMISSINGLIST
|
|
Packit |
40b132 |
echo "========================================="
|
|
Packit |
40b132 |
echo "diff $w bct/$w"
|
|
Packit |
40b132 |
echo "========================================="
|
|
Packit |
40b132 |
diff -b $w bct/$w 2>&1 |
|
|
Packit |
40b132 |
grep -v "Listing signed files in jar .signtool -v.*Passed" |
|
|
Packit |
40b132 |
grep -v "Listing signed files in jar .signtool -w.*Passed" |
|
|
Packit |
40b132 |
grep -v "backward compatibility" |
|
|
Packit |
40b132 |
grep -v "Can.t run pk12util tests for NSS 3.2" |
|
|
Packit |
40b132 |
grep -v "porting Alice.s email cert " |
|
|
Packit |
40b132 |
grep -v "^---$" | grep -v "^[<> ] $" |
|
|
Packit |
40b132 |
grep -v "^---.$" | grep -v "^[<> ] .$" |
|
|
Packit |
40b132 |
grep -v '< </BODY></HTML>' |
|
|
Packit |
40b132 |
grep -v "^[0-9,cad]*$" \
|
|
Packit |
40b132 |
) 2>&1 >>$BCERRORLIST
|
|
Packit |
40b132 |
done
|
|
Packit |
40b132 |
rm $ERRORLIST
|
|
Packit |
40b132 |
cat $BCMISSINGLIST | sed -e "s/^diff: bc_...s.//" \
|
|
Packit |
40b132 |
-e "s/.results.html.*/\/results.html/" |
|
|
Packit |
40b132 |
sort -u > $ERRORLIST
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
platformlist
|
|
Packit |
40b132 |
echo '' >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
head -200 $BCERRORLIST | sed -e 's/<[^>]*>//g' -e "s/^/ /"
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### tbx_main ########################
|
|
Packit |
40b132 |
# local shell function, tinderbox variation of the qa status script
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
tbx_main()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
TBX_EXIT=47
|
|
Packit |
40b132 |
qa_stat_get_sysinfo # find out the OS we are running and all required tests
|
|
Packit |
40b132 |
# on this OS
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
MACHINES_TO_CHECK=$HOST #`uname -n` only search the local tests for errors
|
|
Packit |
40b132 |
qa_errorlist > $ERRORLIST #
|
|
Packit |
40b132 |
platformlist
|
|
Packit |
40b132 |
#tbx_missing_platforms #temp. taken out until we find a better way to
|
|
Packit |
40b132 |
#determine if all necessary QA ran - right now we run different
|
|
Packit |
40b132 |
#tinderboxes on one machine
|
|
Packit |
40b132 |
incomplete_results
|
|
Packit |
40b132 |
echo '' >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
echo '' >> $TMP_HTML_FILE
|
|
Packit |
40b132 |
cat $ERRORLIST | sed -e "s/^/ /" >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
############################### qa_stat_main ########################
|
|
Packit |
40b132 |
# local shell function, main flow of the qa status script
|
|
Packit |
40b132 |
########################################################################
|
|
Packit |
40b132 |
qa_stat_main()
|
|
Packit |
40b132 |
{
|
|
Packit |
40b132 |
find_qa_systems 2>/dev/null
|
|
Packit |
40b132 |
MACHINES_TO_CHECK="" # check all founf qa runs
|
|
Packit |
40b132 |
qa_errorlist > $ERRORLIST
|
|
Packit |
40b132 |
platformlist
|
|
Packit |
40b132 |
missing_platforms
|
|
Packit |
40b132 |
incomplete_results
|
|
Packit |
40b132 |
echo '' >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
echo '' >> $TMP_HTML_FILE
|
|
Packit |
40b132 |
cat $ERRORLIST | sed -e "s/^/ /" >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
cat $WARNINGLIST 2>/dev/null | sed -e "s/^/ /" >>$TMP_HTML_FILE 2>/dev/null
|
|
Packit |
40b132 |
rsaperf >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
bc_header >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
MACHINES_TO_CHECK="bct/"
|
|
Packit |
40b132 |
TOTAL_TESTS=$BCT_TOTAL_TESTS
|
|
Packit |
40b132 |
BEFORE_CONTEXT_GREP="" #WORKAROUND - errors in one outputlog within the first
|
|
Packit |
40b132 |
AFTER_CONTEXT_GREP="" # or last lines will show up in the next/previos file
|
|
Packit |
40b132 |
qa_errorlist > $ERRORLIST
|
|
Packit |
40b132 |
platformlist
|
|
Packit |
40b132 |
missing_platforms
|
|
Packit |
40b132 |
incomplete_results
|
|
Packit |
40b132 |
echo '' >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
echo '' >> $TMP_HTML_FILE
|
|
Packit |
40b132 |
cat $ERRORLIST | sed -e "s/^/ /" >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
cat $WARNINGLIST 2>/dev/null | sed -e "s/^/ /" >>$TMP_HTML_FILE 2>/dev/null
|
|
Packit |
40b132 |
#bc_test >>$TMP_HTML_FILE
|
|
Packit |
40b132 |
}
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
CURRENT_TABLE="Standard"
|
|
Packit |
40b132 |
qa_stat_init
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
if [ "$O_TBX" = "ON" -o "$O_LOCAL" = "ON" ] ; then
|
|
Packit |
40b132 |
tbx_main
|
|
Packit |
40b132 |
else
|
|
Packit |
40b132 |
qa_stat_main
|
|
Packit |
40b132 |
fi
|
|
Packit |
40b132 |
|
|
Packit |
40b132 |
qa_stat_cleanup
|