formatted according to the nss tab 8 rules

This commit is contained in:
sonmi%netscape.com 2001-02-20 21:49:30 +00:00
Родитель df867a03d1
Коммит d56d55b69b
2 изменённых файлов: 480 добавлений и 478 удалений

Просмотреть файл

@ -9,18 +9,18 @@
# #
# parameters # parameters
# ---------- # ----------
# nssversion (supported: 30b, 31, tip) # nssversion (supported: 30b, 31, tip)
# builddate (default - today) # builddate (default - today)
# #
# options # options
# ------- # -------
# -y answer all questions with y - use at your own risk...ignores warnings # -y answer all questions with y - use at your own risk...ignores warnings
# -s silent (only usefull with -y) # -s silent (only usefull with -y)
# -h, -? - you guessed right - displays this text # -h, -? - you guessed right - displays this text
# -d debug # -d debug
# -f <filename> - write the (error)output to filename # -f <filename> - write the (error)output to filename
# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.nssqa # -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.nssqa
# -l <mozroot> run on a local build # -l <mozroot> run on a local build
# #
# 12/1/00 # 12/1/00
# took out the (unused) local directory for releasebuild QA on NT # took out the (unused) local directory for releasebuild QA on NT
@ -28,27 +28,27 @@
# took hardcoded machinenames out # took hardcoded machinenames out
######################################################################## ########################################################################
O_OPTIONS=ON # accept options (see above for listing) O_OPTIONS=ON # accept options (see above for listing)
WIN_SET_LOCALDIRS=ON # run QA in a local directory rather than accross WIN_SET_LOCALDIRS=ON # run QA in a local directory rather than accross
# the net # the net
WIN_WAIT_FOREVER=ON # first we wait forever for a TESTDIR to appear, than WIN_WAIT_FOREVER=ON # first we wait forever for a TESTDIR to appear, than
# we wait forever for the build to finish... # we wait forever for the build to finish...
. `dirname $0`/header # utilities, shellfunctions etc, global to NSS QA . `dirname $0`/header # utilities, shellfunctions etc, global to NSS QA
is_running ${TMP}/nssqa # checks if the file exists, if yes Exits, if not is_running ${TMP}/nssqa # checks if the file exists, if yes Exits, if not
# creates to implement a primitive locking mechanism # creates to implement a primitive locking mechanism
#if [ $O_CRON = "OFF" -a $O_WIN = "OFF" ] # if we are running from cron #if [ $O_CRON = "OFF" -a $O_WIN = "OFF" ] # if we are running from cron
# or on windows this has been done # or on windows this has been done
#then #then
#set_host # sets the HOST and DOMSUF variables - carefull, #set_host # sets the HOST and DOMSUF variables - carefull,
#fi # hardcoded to redplanet #fi # hardcoded to redplanet
KILL_SELFSERV=ON # cleanup will also kill the leftover selfserv processes KILL_SELFSERV=ON # cleanup will also kill the leftover selfserv processes
#. `dirname $0`/nssqa.header #derived from init.sh #. `dirname $0`/nssqa.header #derived from init.sh
TMP_ALL_SH_OUT=${TMP}/nssqa_all_sh_out.$$ #redirecting all.sh's output TMP_ALL_SH_OUT=${TMP}/nssqa_all_sh_out.$$ #redirecting all.sh's output
TMPFILES="$TMPFILES $TMP_ALL_SH_OUT" TMPFILES="$TMPFILES $TMP_ALL_SH_OUT"
################################ check_distdir ######################### ################################ check_distdir #########################
@ -57,65 +57,65 @@ TMPFILES="$TMPFILES $TMP_ALL_SH_OUT"
######################################################################## ########################################################################
check_distdir() check_distdir()
{ {
set_objdir set_objdir
if [ ! -d "$LOCALDIST_BIN" ] if [ ! -d "$LOCALDIST_BIN" ]
then then
Debug "Dist $DIST" Debug "Dist $DIST"
Warning "$LOCALDIST_BIN (the dist binaries dir) does not exist" Warning "$LOCALDIST_BIN (the dist binaries dir) does not exist"
return 1 return 1
fi fi
if [ ! -d "$LOCALDIST" -a ! -h "$LOCALDIST" ] if [ ! -d "$LOCALDIST" -a ! -h "$LOCALDIST" ]
then then
Debug "Dist $DIST" Debug "Dist $DIST"
Warning "$LOCALDIST (the dist directory) does not exist" Warning "$LOCALDIST (the dist directory) does not exist"
return 1 return 1
fi fi
Debug "LOCALDIST_BIN $LOCALDIST_BIN" Debug "LOCALDIST_BIN $LOCALDIST_BIN"
Debug "Dist $DIST" Debug "Dist $DIST"
return 0 return 0
} }
################################ run_all ############################### ################################ run_all ###############################
# local shell function to start the all.sh after asking user and redirect # local shell function to start the all.sh after asking user and redirect
# the output apropriately # the output apropriately
######################################################################## ########################################################################
run_all() run_all()
{ {
check_distdir || return 1 check_distdir || return 1
kill_by_name selfserv kill_by_name selfserv
ask "Testing $OBJDIR continue with all.sh" "y" "n" || Exit ask "Testing $OBJDIR continue with all.sh" "y" "n" || Exit
Debug "running all.sh in `pwd`... please be patient :)" Debug "running all.sh in `pwd`... please be patient :)"
if [ $O_SILENT = ON ] if [ $O_SILENT = ON ]
then then
if [ $O_DEBUG = ON -a $O_FILE = ON ] if [ $O_DEBUG = ON -a $O_FILE = ON ]
then then
all.sh >>$FILENAME 2>>$FILENAME all.sh >>$FILENAME 2>>$FILENAME
else else
all.sh >/dev/null 2>/dev/null all.sh >/dev/null 2>/dev/null
fi fi
else else
#if [ $O_FILE = ON ] #FIXME - write to tmp file and copy #if [ $O_FILE = ON ] #FIXME - write to tmp file and copy
#then #then
#all.sh 2>&1 | tee $TMP_ALL_SH_OUT #all.sh 2>&1 | tee $TMP_ALL_SH_OUT
#if [ -r $TMP_ALL_SH_OUT ] #if [ -r $TMP_ALL_SH_OUT ]
#then #then
#cat $TMP_ALL_SH_OUT >>$FILENAME #cat $TMP_ALL_SH_OUT >>$FILENAME
#fi #fi
#else #else
all.sh all.sh
#fi #fi
fi fi
Debug "Done with all.sh " Debug "Done with all.sh "
line line
} }
all_sh() all_sh()
{ {
echo echo
} }
@ -124,136 +124,139 @@ echo
######################################################################## ########################################################################
nssqa_main() nssqa_main()
{ {
# determine if all needed symbolic links are present, in case # determine if all needed symbolic links are present, in case
# we build on one platform and QA on another # we build on one platform and QA on another
if [ $O_WIN = "OFF" ] if [ $O_WIN = "OFF" ]
then then
if [ ! -h ${NTDIST}/WINNT5.0_DBG.OBJ -o \ if [ ! -h ${NTDIST}/WINNT5.0_DBG.OBJ -o \
! -h ${UXDIST}/SunOS5.8_OPT.OBJ -o \ ! -h ${UXDIST}/SunOS5.8_OPT.OBJ -o \
! -h ${UXDIST}/OSF1V5.0_DBG.OBJ ] ! -h ${UXDIST}/OSF1V5.0_DBG.OBJ ]
then then
# create the symbolic links # create the symbolic links
mksymlinks $* || mksymlinks $* ||
glob_usage "Can't make the neccessary symbolic links" glob_usage "Can't make the neccessary symbolic links"
fi fi
fi fi
if [ -d $TESTSCRIPTDIR ] #the directory mozilla/security/nss/tests, if [ -d $TESTSCRIPTDIR ] #the directory mozilla/security/nss/tests,
then # where all.sh lives then # where all.sh lives
cd $TESTSCRIPTDIR cd $TESTSCRIPTDIR
else else
Exit "cant cd to $TESTSCRIPTDIR Exiting" Exit "cant cd to $TESTSCRIPTDIR Exiting"
fi fi
Debug testing from `pwd` Debug testing from `pwd`
line line
Debug "HOST: $HOST, DOMSUF: $DOMSUF" Debug "HOST: $HOST, DOMSUF: $DOMSUF"
# From the operatingsystem figure out the name of the build # From the operatingsystem figure out the name of the build
case `uname -s` in
SunOS)
#first testing the 32 bit 2.6 build, even on 2.8
MAPPED_OS=Solaris2.6
;;
OSF1)
MAPPED_OS=OSF1V4.0
;;
AIX)
MAPPED_OS=AIX4.3
;;
Linux)
MAPPED_OS=Linux2.2
;;
HP-UX)
MAPPED_OS=HPUX11.00
;;
*)
if [ "$os_name" = "Windows" ]
then
MAPPED_OS=NT4.0
else
Exit "Sorry, operating system `uname -s` is not supported yet"
fi
;;
esac
OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}*
Debug Testing build for $MAPPED_OS in $OSDIR
if [ $O_WIN = "ON" ]
then
WaitForever ${OSDIR}/SVbuild.InProgress.1 0 #Wait for the build to finish...
OS_TARGET=WINNT;export OS_TARGET;Debug "OS_TARGET set to $OS_TARGET"
Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
else
Wait ${OSDIR}/SVbuild.InProgress.1 0 #Wait for the build to finish...
fi
find_nt_masterbuild
Debug "Dist $DIST"
run_all
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
run_all
IS_64=""
# now for the 64 bit build!
case `uname -s` in
#OSF1) has been done already - always 64 bit
SunOS)
MAPPED_OS=Solaris*8
IS_64=`(isainfo -v | grep 64)>/dev/null 2>/dev/null && echo 64 bit`
OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}
if [ -n "$IS_64" ]
then #Wait for the 64 bit build to finish...
Debug Testing build for $MAPPED_OS in $OSDIR
Wait ${OSDIR}/SVbuild.InProgress.1 0
fi
;;
AIX)
IS_64=`lslpp -l | grep "bos.64bit"> /dev/null && echo 64 bit`
;;
HP-UX)
IS_64=`getconf KERNEL_BITS | grep 64 >/dev/null && echo 64 bit`
;;
*)
if [ "$O_WIN" = "ON" ]
then
OS_TARGET=WIN95;export OS_TARGET;Debug "OS_TARGET set to $OS_TARGET"
Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
run_all
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
run_all
Debug "Copy results from $NT_MASTERDIR/mozilla/tests_results/security to $RESULTDIR"
cp -r $NT_MASTERDIR/mozilla/tests_results/security/* $RESULTDIR
fi
return
;;
esac
if [ -n "$IS_64" ]
then #Wait for the 64 bit build to finish...
Debug "This is a $IS_64 platform"
USE_64=1;export USE_64;Debug "Use_64 set to $USE_64"
unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
run_all
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
run_all
else
Debug "This is a 32 bit platform"
fi
case `uname -s` in
SunOS)
#first testing the 32 bit 2.6 build, even on 2.8
MAPPED_OS=Solaris2.6
;;
OSF1)
MAPPED_OS=OSF1V4.0
;;
AIX)
MAPPED_OS=AIX4.3
;;
Linux)
MAPPED_OS=Linux2.2
;;
HP-UX)
MAPPED_OS=HPUX11.00
;;
*)
if [ "$os_name" = "Windows" ]
then
MAPPED_OS=NT4.0
else
Exit "Sorry, operating system `uname -s` is not supported yet"
fi
;;
esac
OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}*
Debug Testing build for $MAPPED_OS in $OSDIR
if [ $O_WIN = "ON" ]
then
WaitForever ${OSDIR}/SVbuild.InProgress.1 0
#Wait for the build to finish Windows a lot longer
OS_TARGET=WINNT;export OS_TARGET;Debug "OS_TARGET set to $OS_TARGET"
Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
else
Wait ${OSDIR}/SVbuild.InProgress.1 0
#Wait for the build to finish... Unix a few hours
fi
find_nt_masterbuild
Debug "Dist $DIST"
run_all
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
run_all
IS_64=""
# now for the 64 bit build!
case `uname -s` in
#OSF1) has been done already - always 64 bit
SunOS)
MAPPED_OS=Solaris*8
IS_64=`(isainfo -v | grep 64)>/dev/null 2>/dev/null && echo 64 bit`
OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}
if [ -n "$IS_64" ]
then #Wait for the 64 bit build to finish...
Debug Testing build for $MAPPED_OS in $OSDIR
Wait ${OSDIR}/SVbuild.InProgress.1 0
fi
;;
AIX)
IS_64=`lslpp -l | grep "bos.64bit"> /dev/null && echo 64 bit`
;;
HP-UX)
IS_64=`getconf KERNEL_BITS | grep 64 >/dev/null && echo 64 bit`
;;
*)
if [ "$O_WIN" = "ON" ]
then
OS_TARGET=WIN95;export OS_TARGET
Debug "OS_TARGET set to $OS_TARGET"
Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
run_all
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
run_all
Debug "Copy results from $NT_MASTERDIR/mozilla/tests_results/security to $RESULTDIR"
cp -r $NT_MASTERDIR/mozilla/tests_results/security/* $RESULTDIR
fi
return
;;
esac
if [ -n "$IS_64" ]
then #Wait for the 64 bit build to finish...
Debug "This is a $IS_64 platform"
USE_64=1;export USE_64;Debug "Use_64 set to $USE_64"
unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
run_all
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
run_all
else
Debug "This is a 32 bit platform"
fi
} }
if [ $O_FILE = ON ] if [ $O_FILE = ON ]
then then
nssqa_main 2>>$FILENAME nssqa_main 2>>$FILENAME
else else
nssqa_main nssqa_main
fi fi
Exit "Done." Exit "Done."

Просмотреть файл

@ -8,19 +8,19 @@
# #
# parameters # parameters
# ---------- # ----------
# nssversion (supported: 30b, 31, tip) # nssversion (supported: 30b, 31, tip)
# builddate (default - today) # builddate (default - today)
# #
# options # options
# ------- # -------
# -y answer all questions with y - use at your own risk...ignores warnings # -y answer all questions with y - use at your own risk...ignores warnings
# -s silent (only usefull with -y) # -s silent (only usefull with -y)
# -h, -? - you guessed right - displays this text # -h, -? - you guessed right - displays this text
# -d debug # -d debug
# -f <filename> - write the (error)output to filename # -f <filename> - write the (error)output to filename
# -m <mailinglist> - send filename to mailinglist (csl) only useful # -m <mailinglist> - send filename to mailinglist (csl) only useful
# with -f # with -f
# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.qa_stat # -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.qa_stat
# #
######################################################################## ########################################################################
@ -53,107 +53,107 @@ find_qa_systems()
for w in `ls $RESULTDIR | grep \.1$ | sed -e "s/\..*//" | sort -u` for w in `ls $RESULTDIR | grep \.1$ | sed -e "s/\..*//" | sort -u`
do do
NO_RSH="FALSE" NO_RSH="FALSE"
QA_OS="" QA_OS=""
QA_RHVER="" QA_RHVER=""
IS_64="" IS_64=""
IS_WIN="" IS_WIN=""
grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa && NO_RSH=TRUE grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa && NO_RSH=TRUE
if [ $NO_RSH = "TRUE" ] if [ $NO_RSH = "TRUE" ]
then then
grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \ grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \
-e "s/WINDOWS-OS-LINE:_Windows/${w}/g" >>$TMP_PLATFORMLIST_FILE -e "s/WINDOWS-OS-LINE:_Windows/${w}/g" >>$TMP_PLATFORMLIST_FILE
grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \ grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \
-e "s/WINDOWS-OS-LINE:_Windows/${w}/g" -e "s/WINDOWS-OS-LINE:_Windows/${w}/g"
else else
QA_SYS=`rsh $w uname -sr` QA_SYS=`rsh $w uname -sr`
echo $QA_SYS | grep Linux && QA_RHVER=`rsh $w cat /etc/redhat-release` echo $QA_SYS | grep Linux && QA_RHVER=`rsh $w cat /etc/redhat-release`
if [ -n "$QA_RHVER" ] if [ -n "$QA_RHVER" ]
then then
QA_OS=`echo $w $QA_RHVER | sed -e "s/Red Hat /RH /" \ QA_OS=`echo $w $QA_RHVER | sed -e "s/Red Hat /RH /" \
-e "s/ release//"` -e "s/ release//"`
else else
case $QA_SYS in case $QA_SYS in
*SunOS*5.8*) *SunOS*5.8*)
IS_64=`rsh $w isainfo -v | grep 64 >/dev/null && \ IS_64=`rsh $w isainfo -v | grep 64 >/dev/null && \
echo 64 bit` echo 64 bit`
if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi; if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
;; ;;
*HP*) *HP*)
IS_64=`rsh $w getconf KERNEL_BITS | grep 64 >/dev/null && \ IS_64=`rsh $w getconf KERNEL_BITS | grep 64 >/dev/null && \
echo 64 bit` echo 64 bit`
if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi; if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
;; ;;
*AIX*) *AIX*)
IS_64=`rsh $w lslpp -l | grep "bos.64bit"> /dev/null && \ IS_64=`rsh $w lslpp -l | grep "bos.64bit"> /dev/null && \
echo 64 bit` echo 64 bit`
if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi; if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
;; ;;
esac esac
QA_OS=`echo "$w $QA_SYS $IS_64"` QA_OS=`echo "$w $QA_SYS $IS_64"`
fi fi
echo $QA_OS echo $QA_OS
echo $QA_OS | sed -e "s/ /_/g" >>$TMP_PLATFORMLIST_FILE # use later for echo $QA_OS | sed -e "s/ /_/g" >>$TMP_PLATFORMLIST_FILE # use later for
# missing list # missing list
fi fi
done done
} }
################################### set_files ########################## ################################### set_files ##########################
# local shell function, sets the name of the resultfile to: # local shell function, sets the name of the resultfile to:
# <filename> if option -f <filename> # <filename> if option -f <filename>
# $RESULTDIR/result if write permission # $RESULTDIR/result if write permission
# (mozilla/tests_results/security/result) # (mozilla/tests_results/security/result)
# $HOME/resultNSS${NSSVER}-${BUILDDATE} if no write permission in $RESULTDIR # $HOME/resultNSS${NSSVER}-${BUILDDATE} if no write permission in $RESULTDIR
######################################################################## ########################################################################
set_files() set_files()
{ {
if [ $O_FILE = ON -a $O_CRON = OFF ] # if -f was specified write there if [ $O_FILE = ON -a $O_CRON = OFF ] # if -f was specified write there
then then
RFILE=$FILENAME RFILE=$FILENAME
else else
RFILE=${RESULTDIR}/result RFILE=${RESULTDIR}/result
#RFILE=${RESULTDIR}/result.$$ #RFILE=${RESULTDIR}/result.$$
if [ ! -w $RESULTDIR ] if [ ! -w $RESULTDIR ]
then then
RFILE=$HOME/resultNSS${NSSVER}-${BUILDDATE} RFILE=$HOME/resultNSS${NSSVER}-${BUILDDATE}
Debug "Using alternate resultfile $RFILE" Debug "Using alternate resultfile $RFILE"
elif [ $O_CRON = ON ] elif [ $O_CRON = ON ]
then then
find ${RESULTDIR} -exec chmod a+rw {} \; #FIXME - umask find ${RESULTDIR} -exec chmod a+rw {} \; #FIXME - umask
#doesn't seem to work - this is a tmp workaround #doesn't seem to work - this is a tmp workaround
fi fi
if [ ! -x $RESULTDIR -o ! -r $RESULTDIR -o ! -w $RESULTDIR ] if [ ! -x $RESULTDIR -o ! -r $RESULTDIR -o ! -w $RESULTDIR ]
then then
glob_usage "$RESULTDIR does not have the right permissions `ls -l $RESULTDIR`" glob_usage "$RESULTDIR does not have the right permissions `ls -l $RESULTDIR`"
fi fi
if [ -d $RESULTDIR ] if [ -d $RESULTDIR ]
then then
cd $RESULTDIR cd $RESULTDIR
else else
glob_usage "$RESULTDIR does not exist" glob_usage "$RESULTDIR does not exist"
fi fi
fi fi
TMP_E_FILE=${RFILE}.E$$ TMP_E_FILE=${RFILE}.E$$
TMP_P_FILE=${RFILE}.P$$ TMP_P_FILE=${RFILE}.P$$
TMP_PLATFORMLIST_FILE=${RFILE}.platform.$$ TMP_PLATFORMLIST_FILE=${RFILE}.platform.$$
rm $TMP_PLATFORMLIST_FILE 2>/dev/null rm $TMP_PLATFORMLIST_FILE 2>/dev/null
TMP_PERF_FILE=${RFILE}.perf.$$ TMP_PERF_FILE=${RFILE}.perf.$$
HTML_FILE=${RFILE}.html HTML_FILE=${RFILE}.html
TMPFILES="$TMPFILES $TMP_E_FILE $TMP_P_FILE" TMPFILES="$TMPFILES $TMP_E_FILE $TMP_P_FILE"
#FIXME rm the rest too - add them to the TMPFILES #FIXME rm the rest too - add them to the TMPFILES
FILENAME=$RFILE #we might want to mail it...later switch to html file FILENAME=$RFILE #we might want to mail it...later switch to html file
O_FILE="ON" O_FILE="ON"
rm $HTML_FILE $RFILE $TMP_E_FILE $TMP_P_FILE 2>/dev/null rm $HTML_FILE $RFILE $TMP_E_FILE $TMP_P_FILE 2>/dev/null
cp $DOCDIR/QAheader.html $HTML_FILE cp $DOCDIR/QAheader.html $HTML_FILE
} }
################################# html_eot ######################### ################################# html_eot #########################
# local shell function, writes end of the html table # local shell function, writes end of the html table
######################################################################## ####################################################################
html_eot() html_eot()
{ {
echo '</table>' echo '</table>'
@ -161,7 +161,7 @@ echo '</table>'
################################# html_footer ######################### ################################# html_footer #########################
# local shell function, writes end of the html body # local shell function, writes end of the html body
######################################################################## #######################################################################
html_footer() html_footer()
{ {
@ -175,41 +175,41 @@ echo '</html>'
######################################################################## ########################################################################
setQAsysvars() setQAsysvars()
{ {
if [ "$MACHINE" != "0" ] if [ "$MACHINE" != "0" ]
then then
TESTDATE=`ls -ld $MACHINE | awk '{ print $5, $6, $7 }'` TESTDATE=`ls -ld $MACHINE | awk '{ print $5, $6, $7 }'`
TESTNUMBER=`echo $MACHINE | sed -e 's/.*\.//'` TESTNUMBER=`echo $MACHINE | sed -e 's/.*\.//'`
SYSNAME=`echo $MACHINE | sed -e 's/\..*//'` SYSNAME=`echo $MACHINE | sed -e 's/\..*//'`
Debug "SYSNAME= $SYSNAME" Debug "SYSNAME= $SYSNAME"
QA_SYS_OS=`grep $SYSNAME $TMP_PLATFORMLIST_FILE |sed -e 's/ //' | \ QA_SYS_OS=`grep $SYSNAME $TMP_PLATFORMLIST_FILE |sed -e 's/ //' | \
sort | uniq | sed -e "s/$SYSNAME//" \ sort | uniq | sed -e "s/$SYSNAME//" \
-e "s/WINNT_WIN95/Windows NT/" \ -e "s/WINNT_WIN95/Windows NT/" \
-e "s/WINNT_WINNT/Windows NT/" \ -e "s/WINNT_WINNT/Windows NT/" \
-e "s/Windows_NT_WIN95/Windows NT/" \ -e "s/Windows_NT_WIN95/Windows NT/" \
-e "s/Windows_NT_WINNT/Windows NT/" | sort | uniq` -e "s/Windows_NT_WINNT/Windows NT/" | sort | uniq`
Debug "QA_SYS_OS= $QA_SYS_OS" Debug "QA_SYS_OS= $QA_SYS_OS"
fi fi
BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' -e 's/_DBG/ Debug/' \ BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' -e 's/_DBG/ Debug/' \
-e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \ -e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
-e 's/_/ /'` -e 's/_/ /'`
Debug "BUILD_SYS=$BUILD_SYS" Debug "BUILD_SYS=$BUILD_SYS"
if [ -f "${RESULTDIR}/${MACHINE}/results.html" ] if [ -f "${RESULTDIR}/${MACHINE}/results.html" ]
then then
RESULT="http://cindercone${RESULTDIR}/${MACHINE}/results.html" RESULT="http://cindercone${RESULTDIR}/${MACHINE}/results.html"
Debug "RESULT=$RESULT" Debug "RESULT=$RESULT"
else else
RESULT="0" RESULT="0"
Debug "no resultfile" Debug "no resultfile"
fi fi
if [ -f "${RESULTDIR}/${MACHINE}/output.log" ] if [ -f "${RESULTDIR}/${MACHINE}/output.log" ]
then then
LOG="http://cindercone${RESULTDIR}/${MACHINE}/output.log" LOG="http://cindercone${RESULTDIR}/${MACHINE}/output.log"
Debug "LOG=$LOG" Debug "LOG=$LOG"
else else
LOG="0" LOG="0"
Debug "no logfile" Debug "no logfile"
fi fi
} }
HTML_ERRORCOLOR=\"#FF0000\" HTML_ERRORCOLOR=\"#FF0000\"
@ -225,47 +225,46 @@ HTML_PASSEDMSG=Passed
######################################################################## ########################################################################
html_line() html_line()
{ {
echo '<tr NOSAVE>' echo '<tr NOSAVE>'
echo '<td NOSAVE>'$BUILD_SYS'</td>' echo '<td NOSAVE>'$BUILD_SYS'</td>'
echo '' echo ''
echo '<td NOSAVE>'$QA_SYS_OS'</td>' echo '<td NOSAVE>'$QA_SYS_OS'</td>'
echo '' echo ''
echo '<td>'$SYSNAME'</td>' echo '<td>'$SYSNAME'</td>'
#echo '<td>'$SYSNAME $TESTNUMBER $TESTDATE'</td>' #echo '<td>'$SYSNAME $TESTNUMBER $TESTDATE'</td>'
echo '' echo ''
if [ "$1" = "failed" ] if [ "$1" = "failed" ]
then then
echo '<td BGCOLOR='$HTML_ERRORCOLOR' NOSAVE><b>'$HTML_ERRORMSG'</b></td>' echo '<td BGCOLOR='$HTML_ERRORCOLOR' NOSAVE><b>'$HTML_ERRORMSG'</b></td>'
elif [ "$1" = "passed" ] elif [ "$1" = "passed" ]
then then
echo '<td BGCOLOR='$HTML_PASSEDCOLOR' NOSAVE>'$HTML_PASSEDMSG'</td>' echo '<td BGCOLOR='$HTML_PASSEDCOLOR' NOSAVE>'$HTML_PASSEDMSG'</td>'
else else
echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>' echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
fi fi
if [ "$RESULT" = "0" ] if [ "$RESULT" = "0" ]
then then
echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>' echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
else else
echo '<td>&nbsp;<a href="'$RESULT'">result</a>&nbsp;</td>' echo '<td>&nbsp;<a href="'$RESULT'">result</a>&nbsp;</td>'
fi fi
echo '' echo ''
if [ "$LOG" = "0" ] if [ "$LOG" = "0" ]
then then
echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>' echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
else else
echo '<td>&nbsp;<a href="'$LOG'">log</a>&nbsp;</td>' echo '<td>&nbsp;<a href="'$LOG'">log</a>&nbsp;</td>'
fi fi
echo '' echo ''
if [ "$1" = "failed" ] if [ "$1" = "failed" ]
then then
echo '<td>&nbsp;<a href="#errorlist">error</a>&nbsp;</td>' echo '<td>&nbsp;<a href="#errorlist">error</a>&nbsp;</td>'
else else
echo '<td></td>' echo '<td></td>'
fi fi
echo '<td>'$TESTDATE $TESTNUMBER'</td>' echo '<td>'$TESTDATE $TESTNUMBER'</td>'
echo '</tr>' echo '</tr>'
} }
################################# qa_errorlist ######################### ################################# qa_errorlist #########################
@ -273,65 +272,65 @@ echo '</tr>'
######################################################################## ########################################################################
qa_errorlist() qa_errorlist()
{ {
if [ "$1" = "1" ] if [ "$1" = "1" ]
then then
echo " R e s u l t E r r o r l i s t" echo " R e s u l t E r r o r l i s t"
lline lline
fi fi
#FIXME it should also examine the files for passed messages, since #FIXME it should also examine the files for passed messages, since
#sometimes empty results and output.log files are generated #sometimes empty results and output.log files are generated
grep red */results.html | grep red */results.html |
sed -e 's/.results.html:<TR><TD>/ /' -e 's/<[^>]*>/ /g' sed -e 's/.results.html:<TR><TD>/ /' -e 's/<[^>]*>/ /g'
if [ "$1" = "1" ] if [ "$1" = "1" ]
then then
lline lline
echo " O u t p u t E r r o r / W a r n i n g l i s t" echo " O u t p u t E r r o r / W a r n i n g l i s t"
lline lline
fi fi
grep 'cache hits; .* cache misses, .* cache not reusable' */output.log | grep 'cache hits; .* cache misses, .* cache not reusable' */output.log |
grep -v selfserv | grep -v selfserv |
grep -v '0 cache hits; 1 cache misses, 0 cache not reusable' | grep -v '0 cache hits; 1 cache misses, 0 cache not reusable' |
grep -v '0 cache hits; 0 cache misses, 0 cache not reusable' | grep -v '0 cache hits; 0 cache misses, 0 cache not reusable' |
grep -v ' cache hits; 1 cache misses, 0 cache not reusable' grep -v ' cache hits; 1 cache misses, 0 cache not reusable'
#grep -v '999 cache hits; 1 cache misses, 0 cache not reusable' #grep -v '999 cache hits; 1 cache misses, 0 cache not reusable'
if [ "$1" = "1" ] if [ "$1" = "1" ]
then then
lline lline
echo " C o r e l i s t " echo " C o r e l i s t "
lline lline
fi fi
find . -name core -print 2>/dev/null find . -name core -print 2>/dev/null
} }
platformlist() platformlist()
{ {
lline lline
echo " P l a t f o r m l i s t " echo " P l a t f o r m l i s t "
grep Platform */results.html | grep Platform */results.html |
sed -e 's/.results.html:<H4>Platform:/ /' \ sed -e 's/.results.html:<H4>Platform:/ /' \
-e 's/<BR>//' | -e 's/<BR>//' |
while read MACHINE BUILDPLATFORM while read MACHINE BUILDPLATFORM
do do
grep $MACHINE $1 >/dev/null grep $MACHINE $1 >/dev/null
ret=$? ret=$?
setQAsysvars setQAsysvars
if [ $ret -eq 0 ] if [ $ret -eq 0 ]
then then
echo "Failed $MACHINE $BUILDPLATFORM" echo "Failed $MACHINE $BUILDPLATFORM"
html_line failed >>$HTML_FILE html_line failed >>$HTML_FILE
#echo "1 $MACHINE $BUILDPLATFORM Failed 2" #echo "1 $MACHINE $BUILDPLATFORM Failed 2"
else else
echo "Passed $MACHINE $BUILDPLATFORM" echo "Passed $MACHINE $BUILDPLATFORM"
html_line passed >>$HTML_FILE html_line passed >>$HTML_FILE
#echo "1 $MACHINE $BUILDPLATFORM passed 2" #echo "1 $MACHINE $BUILDPLATFORM passed 2"
fi fi
done done
} }
@ -340,89 +339,89 @@ platformlist()
######################################################################## ########################################################################
check_platforms() check_platforms()
{ {
#lline #lline
#echo " M i s s i n g P l a t f o r m s" #echo " M i s s i n g P l a t f o r m s"
#lline #lline
QA_MISSING="QA report missing" QA_MISSING="QA report missing"
MACHINE="0" MACHINE="0"
for BUILDPLATFORM in `cat $TESTSCRIPTDIR/platformlist` for BUILDPLATFORM in `cat $TESTSCRIPTDIR/platformlist`
do do
grep $BUILDPLATFORM $TMP_PLATFORMLIST_FILE > /dev/null || { grep $BUILDPLATFORM $TMP_PLATFORMLIST_FILE > /dev/null || {
echo "$BUILDPLATFORM not tested: $QA_MISSING" >>$TMP_P_FILE echo "$BUILDPLATFORM not tested: $QA_MISSING" >>$TMP_P_FILE
setQAsysvars setQAsysvars
html_line missing >>$HTML_FILE html_line missing >>$HTML_FILE
} }
done done
} }
lline() lline()
{ {
echo echo
echo "------------------------------------------------------------------" echo "------------------------------------------------------------------"
echo echo
} }
header() header()
{ {
lline lline
echo "QA results for NSS $NSSVER builddate $QAYEAR $BUILDDATE " echo "QA results for NSS $NSSVER builddate $QAYEAR $BUILDDATE "
echo "today's date `date`" echo "today's date `date`"
lline lline
echo "testing in $RESULTDIR" echo "testing in $RESULTDIR"
} }
rsaperf() rsaperf()
{ {
grep RSAPERF */output.log | grep -v "_DBG" > $TMP_PERF_FILE grep RSAPERF */output.log | grep -v "_DBG" > $TMP_PERF_FILE
echo '&nbsp;' echo '&nbsp;'
echo '<br>&nbsp;' echo '<br>&nbsp;'
echo '<center>' echo '<center>'
echo '<h1>' echo '<h1>'
echo '<a NAME="Performance list"></a>Performance list</h1></center>' echo '<a NAME="Performance list"></a>Performance list</h1></center>'
echo '&nbsp;' echo '&nbsp;'
echo '<table BORDER WIDTH="100%" NOSAVE >' echo '<table BORDER WIDTH="100%" NOSAVE >'
echo '<tr NOSAVE>' echo '<tr NOSAVE>'
echo '<td NOSAVE><b><font size=+1>Build-OS and version</font></b></td>' echo '<td NOSAVE><b><font size=+1>Build-OS and version</font></b></td>'
echo '' echo ''
echo '<td><b><font size=+1>Systemname</font></b></td>' echo '<td><b><font size=+1>Systemname</font></b></td>'
echo '' echo ''
echo '<td><b><font size=+1># of iterations</font></b></td>' echo '<td><b><font size=+1># of iterations</font></b></td>'
echo '' echo ''
echo '<td><b><font size=+1>average for one op</font></b></td>' echo '<td><b><font size=+1>average for one op</font></b></td>'
echo '' echo ''
echo '<td><b><font size=+1>Total</font></b></td>' echo '<td><b><font size=+1>Total</font></b></td>'
echo '' echo ''
echo '<td><b><font size=+1>QA time / #</font></b></td>' echo '<td><b><font size=+1>QA time / #</font></b></td>'
echo '</tr>' echo '</tr>'
cat $TMP_PERF_FILE | while read MACHINE BUILDPLATFORM no_iter t1 t2 total total_unit t3 t4 t5 average average_unit cat $TMP_PERF_FILE | while read MACHINE BUILDPLATFORM no_iter t1 t2 total total_unit t3 t4 t5 average average_unit
do do
BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' \ BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' \
-e 's/_DBG/ Debug/' \ -e 's/_DBG/ Debug/' \
-e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \ -e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
-e 's/_/ /'` -e 's/_/ /'`
TESTNUMBER=`echo $MACHINE | sed -e 's/[^\.]*\.//' -e 's/\/.*//'` TESTNUMBER=`echo $MACHINE | sed -e 's/[^\.]*\.//' -e 's/\/.*//'`
MACHINE=`echo $MACHINE | sed -e 's/\..*//'` MACHINE=`echo $MACHINE | sed -e 's/\..*//'`
TESTDATE=`ls -ld ${MACHINE}.${TESTNUMBER} | awk '{ print $5, $6, $7 }'` TESTDATE=`ls -ld ${MACHINE}.${TESTNUMBER} | awk '{ print $5, $6, $7 }'`
echo '<tr>' echo '<tr>'
echo '<td>'$BUILD_SYS'</td>' echo '<td>'$BUILD_SYS'</td>'
echo '' echo ''
echo '<td>'$MACHINE'</td>' echo '<td>'$MACHINE'</td>'
echo '' echo ''
echo '<td>'$no_iter'</td>' echo '<td>'$no_iter'</td>'
echo '' echo ''
echo '<td>'$average' '$average_unit'</td>' echo '<td>'$average' '$average_unit'</td>'
echo '' echo ''
echo '<td>'$total' '$total_unit'</td>' echo '<td>'$total' '$total_unit'</td>'
echo '' echo ''
echo '<td>'$TESTDATE $TESTNUMBER'</td>' echo '<td>'$TESTDATE $TESTNUMBER'</td>'
echo '' echo ''
echo '</tr>' echo '</tr>'
done done
echo '</table>' echo '</table>'
} }
set_files set_files
@ -455,5 +454,5 @@ qa_errorlist 2 | sed -e "s/^/<br>/" >>$HTML_FILE
html_footer >>$HTML_FILE html_footer >>$HTML_FILE
EARLY_EXIT=FALSE EARLY_EXIT=FALSE
FILENAME=$HTML_FILE #we might want to mail it... FILENAME=$HTML_FILE #we might want to mail it...
Exit Exit