#!/bin/bash # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to you under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts" . ${TOOLDIR}/env SHOWDETAILS="" PRESENTATION="Limited" if [ "$1" = "details" ] then # Show details SHOWDETAILS="ShowDetails" PRESENTATION="Full" fi # We have one catalog per platform if [ ! -e ${TESTLOGDIR} ] then echo "${TESTLOGDIR} does not exist" exit fi # Get the list of testsuite we are running: TESTLISTFILE="${DERBYDIR}/testing/showtestlist" SUITES=`gawk '{ print $1 }' ${TESTLISTFILE} | grep -v "^#"` # Get the set of platforms cd ${TESTLOGDIR} PLATFORMS=`ls` TESTID=`echo ${DERBYDIR} | gawk -F/ '{ print $NF }'` # Derby | TinderBox_Derby | XDerbyX | myDerbySandbox | jvm1.5 .... TINDER=`echo "${TESTID}" | grep TinderBox` # Contains TinderBox LARGEDATA=`echo "${TESTID}" | grep LargeData` # Contains LargeData # Get the list of revisions REVISIONSFILE="${DERBYDIR}/testing/revisionlist" # head -60 to reduce to approx. last 3 months of daily tests (otherwise last 60 - ..TinderBox) # Here we show all: REVISIONS=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#"` PREVUPDATEREV=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#" | head -2 | tail -1` # CHANGE HERE TO USE A DIFFERENT FILE: DTI="${DERBYDIR}/testing/${PRESENTATION}/index_all.html" DTIPUB="${PUBLISHDIR}/${PRESENTATION}/index_all.html" echo "" > ${DTI} chmod go+r ${DTI} echo " " >> ${DTI} echo "" >> ${DTI} echo "" >> ${DTI} if [ "$1" != "details" ] then echo "" >> ${DTI} echo " " >> ${DTI} echo " " >> ${DTI} echo " " >> ${DTI} # echo " " >> ${DTI} echo " " >> ${DTI} echo " " >> ${DTI} echo "
" >> ${DTI} echo " Apache Derby" >> ${DTI} echo " is an open source, 100% Java SQL Database." >> ${DTI} echo " Web space sponsored by" >> ${DTI} # echo " " >> ${DTI} # echo " \"MultiNet> ${DTI} # echo " src=\"http://www.multinet.no/gfx/multilogo.jpg\">" >> ${DTI} # echo " " >> ${DTI} # echo "
" >> ${DTI} echo "
" >> ${DTI} fi TDB="TD style=\"vertical-align: bottom;\"" TDT="TD style=\"vertical-align: top;\"" DURHD="<$TDB>" if [ "${TINDER}" != "" ] || [ "${LARGEDATA}" != "" ] then # Show duration % SHOWDURSUITE="Derbyall" if [ "${LARGEDATA}" != "" ] then SHOWDURSUITE="LargeData" fi DURHD="<$TDB>     ${SHOWDURSUITE}
    duration
    vs baseline
" fi # if [ "${TESTID}" = "TinderBox_Derby" ] # then # Show duration % # DURHD="<$TDB>     Derbyall
    duration
    vs baseline
" # fi FOOTPRINTBASEREV=`head -1 ${DERBYDIR}/testing/builds/baseline.size | gawk -F\# '{ print $2 }'` # TS=`cat ${UPDATELOGDIR}/${FOOTPRINTBASEREV}/UpdateTime` TS=`head -2 ${DERBYDIR}/testing/builds/baseline.size | tail -1 | gawk -F\# '{ print $2 }'` BGCOLOR="bgcolor=\"${COLOR0}\"" echo "" >> ${DTI} echo "" >> ${DTI} echo "<$TDB> Revision " >> ${DTI} echo "<$TDB>     Date, Time " >> ${DTI} echo "<$TDB>     Changes " >> ${DTI} echo "<$TDB>     Size of derby.jar
    
[Baseline: ${FOOTPRINTBASEREV}
    ${TS}]" >> ${DTI} echo "<$TDB>     Derbyall
    failures
" >> ${DTI} echo "${DURHD}" >> ${DTI} echo "<$TDB>    Notes " >> ${DTI} echo "" >> ${DTI} SANDBOX=`basename ${DERBYDIR}` no=1 for REVISION in ${REVISIONS} do echo -n "${REVISION} " TS=`cat ${UPDATELOGDIR}/${REVISION}/UpdateTime` DT=`echo ${TS} | gawk '{ print $1 }'` TT=`echo ${TS} | gawk '{ print $2 }'` TZ=`echo ${TS} | gawk '{ print $3 }'` TS="${DT} ${TT} ${TZ}" CHGLINK="    " if [ -e ${DERBYDIR}/testing/UpdateInfo/${REVISION}.txt ] then CHGLINK="    Chgs " fi FOOTPRINT="    " if [ -e ${DERBYDIR}/testing/builds/${REVISION}.size ] then SIZE=`grep derby.jar ${DERBYDIR}/testing/builds/${REVISION}.size | gawk '{ print $2" "$3 }'` FOOTPRINT="    ${SIZE}" fi DERBALLFAILS="" DERBALLPRCNT="" # TINDERBOX=`echo ${DERBYDIR} | grep TinderBox_` # if [ "${TESTID}" = "TinderBox_Derby" ] # then DERBALLFAILS="[" for PLATFORM in ${PLATFORMS} # TinderBox uses ONE platform.. do if [ -e ${PLATFORM}/externallyVisible ] || [ "${SHOWDETAILS}" = "ShowDetails" ] then if [ -e ${PLATFORM}/${REVISION}.csv ] then # 2: Number, 3: OK, 4: Failed, 5: Skipped, 6: time RES=`grep "^derbyall " ${PLATFORM}/${REVISION}.csv` if [ "${LARGEDATA}" != "" ] then RES=`grep "^largeData " ${PLATFORM}/${REVISION}.csv` fi FAILED=`echo ${RES} | gawk '{ print $4 }'` if [ "${FAILED}" == "" ] then FAILED="?" fi DERBALLFAILS="${DERBALLFAILS} ${FAILED} " if [ "${TINDER}" != "" ] || [ "${LARGEDATA}" != "" ] then TIME=`grep "^derbyall " ${PLATFORM}/${REVISION}.csv | gawk '{ print $6 }'` if [ "${LARGEDATA}" != "" ] then TIME=`grep "^largeData " ${PLATFORM}/${REVISION}.csv | gawk '{ print $6 }'` fi SECONDS=`${TOOLDIR}/toSeconds ${TIME}` BASESECONDS=`grep "^derbyall " ${PLATFORM}/baseline.csv | gawk '{ print $3 }'` if [ "${LARGEDATA}" != "" ] then BASESECONDS=`grep "^largeData " ${PLATFORM}/baseline.csv | gawk '{ print $3 }'` fi PERCENT=`${TOOLDIR}/calcPercent ${SECONDS} ${BASESECONDS}` DERBALLPRCNT="   ${PERCENT}% " fi else DERBALLFAILS="${DERBALLFAILS} - " fi fi # visible, showdetails done # PLATFORMS DERBALLFAILS="${DERBALLFAILS}]" # fi # TINDERBOX BLDERRLINK="" if [ -e ${DERBYDIR}/testing/UpdateInfo/${REVISION}-buildDetails.txt ] then BLDERRLINK="     Build Errors!
" fi FAILURELINK="" if [ -e ${DERBYDIR}/FailReports/${REVISION}.html ] then FAILURELINK="    ${DERBALLFAILS} " elif [ -e ${DERBYDIR}/FailReports/${REVISION}M.html ] then # When we have Mods. e.g. JDK 1.6 testing with local mods to compatibility script.... FAILURELINK="    ${DERBALLFAILS} " fi NOTE="" if [ -e ${DERBYDIR}/testing/Notes/${REVISION}.txt ] then TXT=`cat ${DERBYDIR}/testing/Notes/${REVISION}.txt` NOTE="${TXT}" fi echo "<$TDT>"${REVISION}"" >> ${DTI} echo "<$TDT>${TS}" >> ${DTI} echo "<$TDT>${CHGLINK}" >> ${DTI} echo "<$TDT>${FOOTPRINT}" >> ${DTI} echo "<$TDT>${BLDERRLINK}${FAILURELINK}" >> ${DTI} echo "<$TDT>${DERBALLPRCNT}" >> ${DTI} echo "<$TDT>${NOTE}" >> ${DTI} no=`expr $no + 1` echo "" >> ${DTI} done # REVISIONS echo "
" >> ${DTI} echo " [${no}]" echo "
" >> ${DTI} echo "
" >> ${DTI} echo "" >> ${DTI} date +%Y-%m-%d" "%H:%M:%S" "%Z >> ${DTI} echo "" >> ${DTI} echo "
" >> ${DTI} # if [ "${SHOWDETAILS}" != "ShowDetails" ] # then # echo "Web space sponsored by " >> ${DTI} # echo "" >> ${DTI} # echo "\"MultiNet" >> ${DTI} # fi echo "" >> ${DTI} echo "" >> ${DTI} if [ "${SHOWDETAILS}" != "ShowDetails" ] then SRC="${DTI}" DST="${DTIPUB}" echo "**** OBS! ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}" ### ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST} fi