diff options
author | Kai Engert <kaie@kuix.de> | 2013-02-28 12:44:50 +0100 |
---|---|---|
committer | Kai Engert <kaie@kuix.de> | 2013-02-28 12:44:50 +0100 |
commit | 3ecd967b2a9e23403935e2bc932597f7e03e7f24 (patch) | |
tree | 4b0f054f0354c2dbe401f86d864c04c6034c1621 /tests/qa_stage | |
parent | f45b9ca74a609e0521d0cc4b7fc91603774992df (diff) | |
download | nss-hg-3ecd967b2a9e23403935e2bc932597f7e03e7f24.tar.gz |
Bug 845556, reorganize NSS directory layout, moving files, very large changeset! r=wtc
Diffstat (limited to 'tests/qa_stage')
-rwxr-xr-x | tests/qa_stage | 336 |
1 files changed, 336 insertions, 0 deletions
diff --git a/tests/qa_stage b/tests/qa_stage new file mode 100755 index 000000000..f0960c845 --- /dev/null +++ b/tests/qa_stage @@ -0,0 +1,336 @@ +#! /bin/sh +######################################################################## +# +# /u/sonmi/bin/qa_stage - /u/svbld/bin/init/nss/qa_stage +# +# this script is supposed to convert the tinderbox and daily QA files +# for use on mozilla.org +# +# parameters +# ---------- +# nssversion (supported: 30b, 31, tip) +# builddate (default - today) +# +######################################################################## + +if [ -z "$BUILDNUMBER" ] +then + BUILDNUMBER=1 +fi +if [ `uname` = "Linux" ] ; then + PATH=".:/u/sonmi/bin:/u/sonmi/bin/linux:/usr/bsd:/usr/ucb/:/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/usr/bin/X11:/usr/etc:/etc:/usr/demos:/usr/demos/bin:/usr/local/bin:/usr/local/X11/bin:/tools/ns/bin" + export PATH +fi + +Echo() +{ + if [ "$O_SILENT" = "OFF" ] ; then + echo $* + fi +} + +################################### qa_stage_init ########################## +# +######################################################################## +qa_stage_init() +{ + umask 000 + + eval_opts $* + + if [ -z "${QAYEAR}" ] ; then + QAYEAR=`date +%Y` + elif [ "$QAYEAR" = "" ] ; then + QAYEAR=`date +%Y` + fi + + Echo "Init..." + DAYBUILD=${QAYEAR}${BUILDDATE}.${BUILDNUMBER} + NSS_D0=/share/builds/mccrel3/nss + NSS_VER_DIR=${NSS_D0}/nss${NSSVER} + NTDIST=${NSS_VER_DIR}/builds/${DAYBUILD}/blowfish_NT4.0_Win95/mozilla/dist + UXDIST=${NSS_VER_DIR}/builds/${DAYBUILD}/booboo_Solaris8/mozilla/dist + TESTSCRIPTDIR=${NSS_VER_DIR}/builds/${DAYBUILD}/booboo_Solaris8/mozilla/security/nss/tests + RESULTDIR=${NSS_VER_DIR}/builds/${DAYBUILD}/booboo_Solaris8/mozilla/tests_results/security + TBX_RESULTDIR=${NSS_D0}/nsstip/tinderbox/tests_results/security + + MOZ_D0=/pub/security/nss + MOZ_RESULTDIR=${MOZ_D0}/daily_qa/${DAYBUILD} + MOZ_TBX_RESULTDIR=${MOZ_D0}/tinderbox + + export BUILDDATE NSSVER QAYEAR NTDIST UXDIST TESTSCRIPTDIR RESULTDIR + + + IPLANET_TBX_URL="http://cindercone.red.iplanet.com${TBX_RESULTDIR}" + IPLANET_DQA_URL="http://cindercone.red.iplanet.com${RESULTDIR}" + + MOZ_TBX_URL="ftp://ftp.mozilla.org${MOZ_TBX_RESULTDIR}" + MOZ_DQA_URL="ftp://ftp.mozilla.org${MOZ_RESULTDIR}" + + export IPLANET_TBX_URL IPLANET_DQA_URL MOZ_TBX_URL MOZ_DQA_URL + STAGE_1=/u/sonmi/tmp/ftp_stage + + if [ ! -d $STAGE_1 ] ; then + Echo "Staging area daily QA (DQA): $DQA_STAGE does not exist, exit" + exit 1 + fi + cd $STAGE_1 || (Echo "Cant cd to $STAGE_1 , exit"; exit) + rm all.tar* 2>/dev/null + TBX_STAGE=$STAGE_1/tinderbox + DQA_STAGE=$STAGE_1/daily_qa/${DAYBUILD} + Echo "Staging area tbx: $TBX_STAGE" + Echo "Staging area daily QA (DQA): $DQA_STAGE" + Echo "Resultdir (sourcedir) for daily QA (RESULTDIR): $RESULTDIR" +} + +################################### qa_stage_dqa ########################## +# +######################################################################## +qa_stage_dqa() +{ + Echo "DQA:..." + Echo "Resultdir (sourcedir) for daily QA (RESULTDIR): $RESULTDIR" +#set -x + if [ ! -d $RESULTDIR ] ; then + Echo "Resultdir $RESULTDIR does not exist, can't push daily QA" + return + fi + cd $RESULTDIR || return + #for w in `find . -name "result*html"` + for w in `find . -name "result.html"` + do + if [ ! -d $DQA_STAGE/`dirname $w` ] ; then + mkdir -p $DQA_STAGE/`dirname $w` + fi + rm $DQA_STAGE/$w 2>/dev/null + cat $w | reformat_qa >$DQA_STAGE/$w + done + for w in `find . -name "output.log" -o -name "results.html"` + do +#echo $w + if [ ! -d $DQA_STAGE/`dirname $w` ] ; then + mkdir -p $DQA_STAGE/`dirname $w` + fi + cp $w $DQA_STAGE/$w + done +} + + +################################### qa_stage_tbx ########################## +# +######################################################################## +qa_stage_tbx() +{ + Echo "tbx: " + if [ ! -d $TBX_RESULTDIR ] ; then + Echo "TBX_RESULTDIR $TBX_RESULTDIR does not exist" + return + fi + cd $TBX_RESULTDIR || return + Echo "find from $TBX_FIND_FROM" + for w in `find $TBX_FIND_FROM -name "result.html"` + do + if [ ! -d "$TBX_STAGE/`dirname $w`" ] ; then + mkdir -p $TBX_STAGE/`dirname $w` + fi + rm $TBX_STAGE/$w 2>/dev/null + cat $w | reformat_qa >$TBX_STAGE/$w + done + for w in `find $TBX_FIND_FROM -name "output.log" -o -name "results.html"` + do + if [ ! -d $TBX_STAGE/`dirname $w` ] ; then + mkdir -p $TBX_STAGE/`dirname $w` + fi + cp $w $TBX_STAGE/$w + done +} + +match_tbxdirs() +{ + YY=`date +%Y` + DD=`date +%d` + MM=`date +%m` + HH=`date +%H` + + TBX_FIND_FROM="*-$YY$MM$DD-$HH.*" + i=$1 + while [ $i -gt 0 ] ; do + i=`expr $i - 1` + HH=`expr $HH - 1` + if [ $HH -lt 0 ] ; then + HH=23 + DD=`expr $DD - 1` + if [ $DD -eq 0 ] ; then + MM=`expr $MM - 1` + case $MM in + 0) + YY=`expr $YY - 1` + MM=12 + DD=31 + ;; + [13578]|10|12) + DD=31 + ;; + 2) + DD=28 + ;; + [469]|11) + DD=30 + ;; + esac + fi + fi + case $MM in + [123456789]) + MM=0$MM + ;; + esac + case $DD in + [123456789]) + DD=0$DD + ;; + esac + case $HH in + [0123456789]) + HH=0$HH + ;; + esac + TBX_FIND_FROM="$TBX_FIND_FROM *-$YY$MM$DD-$HH.*" + done +} + +################################### eval_opts ########################## +# global shell function, evapuates options and parameters, sets flags +# variables and defaults +######################################################################## +eval_opts() +{ + DO_TBX=OFF + DO_DQA=OFF + DO_CLEAN=OFF + O_SILENT=OFF + O_INCREMENTAL=OFF + O_MAIL=OFF + BUILDDATE=`date +%m%d` + NSSVER=tip + + TBX_FIND_FROM="." + + while [ -n "$1" ] + do + case $1 in + -d) + DO_DQA=ON + ;; + -m) + O_MAIL=ON + shift + MAILINGLIST=$1 + if [ -z "$MAILINGLIST" ] + then + echo "Error: -m requires a mailinglist to follow, for example sonmi@iplanet.com" + exit + fi + ;; + -ti) + DO_TBX=ON + match_tbxdirs 2 + O_INCREMENTAL=ON + ;; + -t) + DO_TBX=ON + ;; + -c) + DO_CLEAN=ON + ;; + -s) + O_SILENT=ON + ;; + + tip|3[0-9]*) + NSSVER=$1 + ;; + [01][0-9][0-3][0-9]) + BUILDDATE=$1 + ;; + esac + shift + done +} + +qa_stage_init $* + +if [ "$DO_CLEAN" = "ON" ] ; then + Echo "Cleaning old stuff" + if [ ! -d $STAGE_1 ] ; then + Echo "Staging area daily QA (DQA): $DQA_STAGE does not exist, exit" + exit 1 + fi + cd $STAGE_1 || (Echo "Cant cd to $STAGE_1 , exit"; exit) + if [ -n "$TBX_STAGE" -a -d "$TBX_STAGE" ] ; then + rm -rf $TBX_STAGE/* + else + Echo "nothing here to clean..." + fi +fi +if [ "$DO_DQA" = "ON" ] ; then + qa_stage_dqa + if [ "$O_MAIL" = "ON" -a -f "$DQA_STAGE/result.html" ] ; then + cat $DQA_STAGE/result.html | /usr/sbin/sendmail $MAILINGLIST + fi +fi +if [ "$DO_TBX" = "ON" ] ; then + qa_stage_tbx +fi +if [ ! -d $STAGE_1 ] ; then + Echo "Staging area daily QA (DQA): $DQA_STAGE does not exist, exit" + exit 1 +fi +cd $STAGE_1 || (Echo "Cant cd to $STAGE_1 , exit"; exit) +Echo "tar..." +if [ "$O_SILENT" = "ON" ] ; then + TARPARAM=cf +else + TARPARAM=cvf +fi + + +if [ "$DO_DQA" = "ON" -a "$DO_TBX" = "ON" ] ; then + Echo "tar $TARPARAM all.tar daily_qa tinderbox" + tar $TARPARAM all.tar daily_qa tinderbox +elif [ "$DO_DQA" = "ON" ] ; then + Echo "tar $TARPARAM all.tar daily_qa" + tar $TARPARAM all.tar daily_qa +else + Echo "tar $TARPARAM all.tar tinderbox" + tar $TARPARAM all.tar tinderbox +fi +gzip all.tar +# ssh-agent > /u/sonmi/.ssh/ssh-agent.info +# setenv like it says in that file +# ssh-add + +SSH_AUTH_SOCK=`grep SSH_AUTH_SOCK /u/sonmi/.ssh/ssh-agent.info | sed -e 's/setenv SSH_AUTH_SOCK //' -e 's/;//'` +SSH_AGENT_PID=`grep SSH_AGENT_PID /u/sonmi/.ssh/ssh-agent.info | sed -e 's/setenv SSH_AGENT_PID //' -e 's/;//'` +export SSH_AUTH_SOCK SSH_AGENT_PID +if [ "$O_SILENT" = "OFF" ] ; then + set -x + scp all.tar.gz sonmi@stage.mozilla.org:/home/ftp/pub/security/nss + ssh -l sonmi stage.mozilla.org '/home/sonmi/bin/nssqa_stage ' +else + scp all.tar.gz sonmi@stage.mozilla.org:/home/ftp/pub/security/nss >/dev/null 2>/dev/null + ssh -l sonmi stage.mozilla.org '/home/sonmi/bin/nssqa_stage ' >/dev/null 2>/dev/null +fi + +#" rlogin huey " +#" sftp sonmi@stage.mozilla.org" +#" cd /home/ftp/pub/security/nss" +#" lcd tmp/ftp_stage" +#" put all.tar.gz" +#" quit " +#" ssh -l sonmi stage.mozilla.org" +#" cd /home/ftp/pub/security/nss" +#" gunzip all.tar.gz" +#" tar xvf all.tar" +#" rm all.tar" + |