1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
#!/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
|