#!/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 # 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/testlist" SUITES=`gawk '{ print $1 }' ${TESTLISTFILE} | grep -v "^#"` # Get the set of platforms cd ${TESTLOGDIR} PLATFORMS=`ls` NOOFPLFS=`echo ${PLATFORMS} | wc -w` PLFNO=1 # Get the list of revisions # Here we use all. REVISIONSFILE="${REVISIONLIST}" REVISIONS=`cat ${REVISIONSFILE} | gawk '{ print $1 }' | grep -v "^#"` for PLATFORM in ${PLATFORMS} do echo "${PLATFORM} [${PLFNO}/${NOOFPLFS}]" for SUITE in ${SUITES} do PREVREC=`head -1 ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data` PREVREV=`echo ${PREVREC} | gawk '{ print $2 }'` echo " ${SUITE}: ${PREVREV}" cp ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data \ ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data.prev echo -n "" > ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data.new for REVISION in ${REVISIONS} do # echo " ${REVISION}" # x = ${revision} # baseRev = platform.baseline.revision # echo "${REVISION} = ${PREVREV}" if [ "${REVISION}" = "${PREVREV}" ] then # echo "${REVISION}/${PREVREV} Done." break fi BASELINE=`head -1 ${PLATFORM}/baseline.csv | gawk '{ print $2 }'` # durBase = platform.baseRev(suite).duration BASETIME=`grep "^${SUITE} " ${PLATFORM}/${BASELINE}.csv | gawk '{ print $6 }'` BASESECONDS=`grep "^${SUITE} " ${PLATFORM}/baseline.csv | gawk '{ print $3 }'` # Jeez.... Shouldn't read this EVERY round... REVDATE=`gawk '{ print $1 }' ${DERBYDIR}/UpdateLog/${REVISION}/UpdateTime` if [ -e ${PLATFORM}/${REVISION}.csv ] then # 2: Number, 3: OK, 4: Failed, 5: Skipped RES=`grep "^${SUITE} " ${PLATFORM}/${REVISION}.csv` # yDur = platform.revision(suite).duration TIME=`echo ${RES} | grep "^${SUITE} " | gawk '{ print $6 }'` SECONDS=`${TOOLDIR}/toSeconds ${TIME}` # yPercent= (yDur/durBase)*100 PERCENT=`${TOOLDIR}/calcPercent ${SECONDS} ${BASESECONDS}` # echo "$x $yPercent" >> tmp.dur # yNtests = platform.revision(suite).NumberOfTests NTESTS=`echo ${RES} | grep "^${SUITE} " | gawk '{ print $2 }'` # "$x $yNtests" >> tmp.Ntests # yNok = platform.revision(suite).NumberOK NOK=`echo ${RES} | grep "^${SUITE} " | gawk '{ print $3 }'` # "$x $yNok" >> tmp.Nok # yNfail = platform.revision(suite).NumberFail NFAIL=`echo ${RES} | grep "^${SUITE} " | gawk '{ print $4 }'` # "$x $yNfail" >> tmp.Nfail CURRENT="${REVDATE} ${REVISION} ${PERCENT} ${NTESTS} ${NOK} ${NFAIL}" echo ${CURRENT} echo "${CURRENT}" >> ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data.new # echo -n "." else echo " No ${REVISION} for ${PLATFORM}" # echo -n "-" fi done # REVISIONS cat ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data.new ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data.prev > ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data echo "" done # SUITES let " PLFNO = ${PLFNO} + 1 " done # PLATFORMS