You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2006/11/24 09:35:06 UTC

svn commit: r478802 [2/3] - in /db/derby/code/trunk/tools/testing/reporting: ./ Failures/ TEMPLATES/ scripts/ scripts/gnuplot/

Added: db/derby/code/trunk/tools/testing/reporting/scripts/doplot_all
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/doplot_all?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/doplot_all (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/doplot_all Fri Nov 24 00:35:04 2006
@@ -0,0 +1,112 @@
+#!/bin/bash
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+VAR=$1
+# Only accepts _last20
+
+GNUPLOT=/usr/local/bin/gnuplot
+
+# 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 ${DERBYDIR}/testing/Full/plot
+PLATFORMS=`ls ${DERBYDIR}/testing/testlog`
+NPLFS=`echo ${PLATFORMS} | wc -w`
+echo ${PLATFORMS}
+
+GNUPLOTCMD="_GPLCMD_$$"
+
+TITLE=`echo ${DERBYDIR} | gawk -F / '{ print $NF }'`
+echo "<html>"                > plot${VAR}.html 
+echo "<head>"               >> plot${VAR}.html 
+echo "<meta content=\"text/html; charset=ISO-8859-1\" http-equiv=\"content-type\">" \
+                            >> plot${VAR}.html 
+echo "<title>${TITLE} - Duration plot</title>"      >> plot${VAR}.html 
+echo "</head>"              >> plot${VAR}.html 
+echo "<body>"               >> plot${VAR}.html 
+CREDTTM=`date`
+echo "<b>${TITLE} duration vs. baseline - All platforms per testsuite.</b> <i>(${CREDTTM})</i><br>"  >> plot${VAR}.html 
+for SUITE in ${SUITES}
+do
+  echo ${SUITE}
+  # Create the plot command:
+  PLOTCMD="NOT INITIALIZED"
+  let " PLFN = 1 "
+  let " FIRST = 1 " # true
+  for  PLATFORM in ${PLATFORMS}
+  do
+    echo "${PLATFORM}"
+    if [ -s ${PLATFORM}/${SUITE}${VAR}.data ]
+    then
+      if [ ${FIRST} == 1 ]
+      then
+        PLOTCMD="plot \"${PLATFORM}/${SUITE}${VAR}.data\" using 1:3 title \"${PLATFORM}\""
+        FIRST=0
+      else
+        PLOTCMD="${PLOTCMD}, \"${PLATFORM}/${SUITE}${VAR}.data\" using 1:3 title \"${PLATFORM}\""
+      fi
+      # echo "${PLFN}  ${NPLFS}"
+    fi
+    let " PLFN = ${PLFN} + 1 "
+  done
+  echo ${PLOTCMD}
+  # sleep 5
+  # Create the gnuplot settings
+
+  echo "${GNUPLOT} <<EOF"                                        > ${GNUPLOTCMD}
+  echo "set ylabel \"${SUITE} run duration in % of baseline.\"" >> ${GNUPLOTCMD}
+
+  echo "set xdata time"                                         >> ${GNUPLOTCMD}
+  echo "set timefmt \"%Y-%m-%d\""                               >> ${GNUPLOTCMD}
+  echo "set xrange [*:*]"                                       >> ${GNUPLOTCMD}
+  echo "set yrange [0:*]"                                       >> ${GNUPLOTCMD}
+  echo "set format x \"-%m-%d\""                                >> ${GNUPLOTCMD}
+  echo "set data style linespoints"                             >> ${GNUPLOTCMD}
+  echo "set xtics rotate"                                       >> ${GNUPLOTCMD}
+  echo "set grid xtics"                                         >> ${GNUPLOTCMD}
+  echo "set key top left"                                       >> ${GNUPLOTCMD}
+  echo "set xtics 604800"                                       >> ${GNUPLOTCMD}
+
+  echo "set term png color"                                     >> ${GNUPLOTCMD}
+  echo "set out \"plot_all.png\""                               >> ${GNUPLOTCMD}
+
+  echo "${PLOTCMD}"                                             >> ${GNUPLOTCMD}
+  echo "EOF"                                                    >> ${GNUPLOTCMD}
+
+  cat ${GNUPLOTCMD}
+  . ./${GNUPLOTCMD}
+  mv plot_all.png ${SUITE}_all${VAR}.png
+  chmod go+r  ${SUITE}_all${VAR}.png
+  
+  echo -n "<img src=\""              >> plot${VAR}.html 
+  echo    "${SUITE}_all${VAR}.png\">"      >> plot${VAR}.html
+  # sleep 20
+done # SUITES
+
+# Show baseline info for each platform:
+echo "<TABLE>"              >> plot${VAR}.html 
+
+echo "<TR>"  >> plot${VAR}.html 
+echo "<TD><i>Platform</i></TD> <TD><i>Baseline<br>Revision</i></TD> <TD><i>Baseline<br>Date time</i></TD>" >> plot${VAR}.html 
+echo "</TR>" >> plot${VAR}.html 
+
+for PLATFORM in ${PLATFORMS}
+do
+  echo "<TR>" >> plot${VAR}.html 
+  BASELINE=`head -1 ${DERBYDIR}/testing/testlog/${PLATFORM}/baseline.csv  | gawk '{ print $2 }'`
+  TS=`cat ${UPDATELOGDIR}/${BASELINE}/UpdateTime`
+  PLATF=`echo "${PLATFORM}" | sed -e 's/CYGWIN_/CYGWIN /' | gawk -F_ '{ print $1" "$2 }' | sed -e 's/CYGWIN /CYGWIN_/'`
+  echo "<TD>${PLATF}:</TD> <TD><B>${BASELINE}</B></TD> <TD>${TS}</TD>" >> plot${VAR}.html 
+  echo "</TR>" >> plot${VAR}.html 
+done # PLATFORMS
+
+echo "</TABLE>"              >> plot${VAR}.html 
+
+
+echo "</body>"              >> plot${VAR}.html 
+echo "</html>"              >> plot${VAR}.html 
+chmod go+r plot${VAR}.html
+rm ${GNUPLOTCMD}

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/doplot_all
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/doplot_all
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/env
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/env?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/env (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/env Fri Nov 24 00:35:04 2006
@@ -0,0 +1,37 @@
+# In all Derby regression test reporting scripts set
+# TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts" # then add
+# . ${TOOLDIR}/env
+
+# DERBYDIR is NOT really fixed: depends on which "sandbox" we're in.
+# DERBYDIR="${HOME}/Apache/TinderBox_Derby"
+# DERBYDIR="${HOME}/Apache/Derby"
+# For cron jobs move its definition to the respective bin/DerbyTools/cron* scripts
+
+TESTLOGDIR="${DERBYDIR}/testing/testlog"
+BUILDLOGDIR="${DERBYDIR}/BuildLog"
+UPDATELOGDIR="${DERBYDIR}/UpdateLog"
+REVISIONLIST="${DERBYDIR}/testing/revisionlist"
+HOSTLISTFILE=${DERBYDIR}/testing/testhostlist
+COLOR0=lightgrey
+COLOR1=lightblue
+
+### CHANGE THESE TO MATCH YOUR...
+WHOWEARE="How we present ourselves externally"
+WHOWEAREINTERN="How we present ourselves internally"
+WHOWEARELONG="How we present ourselves externally - long variant"
+WHOWEARELOGO="OURlogo.gif"
+WHOWEAREALT="Alternative to logo"
+INTERNHREF="http://local.host.our.domain/somewhere/somepage.html"
+EXTERNHREF="http://our.global.visibility.domain/somewhere/somepage.html"
+
+PUBLISHSITE=publish.host.my.domain
+PUBLISHUSER=publishinguser
+# PUBLISHDIR=public_html/public/Apache/Derby
+# Use ~/.ssh/config:
+# SCPUT=/usr/bin/scp
+# SSHUT=/usr/bin/ssh
+SCPUT=${TOOLDIR}/scp_dummy
+SSHUT=${TOOLDIR}/ssh_dummy
+
+MAILTOINT=Who.GetsMail@Internal.domain
+MAILTOEXT=Who.GetsMail@External.domain

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/env
------------------------------------------------------------------------------
    svn:eol-style = native

Added: db/derby/code/trunk/tools/testing/reporting/scripts/fromSeconds
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/fromSeconds?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/fromSeconds (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/fromSeconds Fri Nov 24 00:35:04 2006
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+SecOnlyString=$1
+# echo ${SecOnlyString}
+let " Hours = ${SecOnlyString} / 3600 "
+let " Rest = ${SecOnlyString} - ${Hours}*3600 "
+let " Minutes = ${Rest} / 60 "
+let " Seconds = ${Rest} - ${Minutes}*60 "
+if [ ${Seconds} -le 9 ]
+then
+  Seconds="0${Seconds}"
+fi
+if [ ${Minutes} -le 9 ]
+then
+  Minutes="0${Minutes}"
+fi
+if [ ${Hours} -le 9 ]
+then
+  Hours="0${Hours}"
+fi
+echo "${Hours}:${Minutes}:${Seconds} "

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/fromSeconds
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/fromSeconds
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/getBaselineTime
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/getBaselineTime?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/getBaselineTime (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/getBaselineTime Fri Nov 24 00:35:04 2006
@@ -0,0 +1,17 @@
+#!/bin/bash
+PLATFORM=$1
+SUITE=$2
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts" # then add
+. ${TOOLDIR}/env
+
+# We have one catalog per platform
+if [ ! -e ${TESTLOGDIR} ]
+then
+  echo "${TESTLOGDIR} does not exist"
+  exit
+fi
+
+cd ${TESTLOGDIR}
+SECONDS=`grep "^${SUITE} " ${PLATFORM}/baseline.csv | gawk '{ print $3 }'`
+echo ${SECONDS}

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/getBaselineTime
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/getBaselineTime
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration.gp
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration.gp?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration.gp (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration.gp Fri Nov 24 00:35:04 2006
@@ -0,0 +1,20 @@
+set ylabel "Test run duration in % of baseline."
+
+set xdata time
+set timefmt "%Y-%m-%d"
+set xrange [*:*]
+set yrange [0:*]
+set format x "-%m-%d"
+# set timefmt "%Y-%m-%d"
+set data style linespoints
+set xtics rotate
+set grid xtics
+set key top left
+set xtics 604800
+# set style histogram clustered
+
+set term png color
+set out "plot.png"
+
+plot "data.dat" using 1:3 title "Duration over revision"
+# plot "data.dat" using 1:3:xticlabels(2) title "Duration over revision"

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration.gp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration_all.gp
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration_all.gp?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration_all.gp (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration_all.gp Fri Nov 24 00:35:04 2006
@@ -0,0 +1,28 @@
+set ylabel "${SUITE} run duration in % of baseline."
+
+set xdata time
+set timefmt "%Y-%m-%d"
+set xrange [*:*]
+set yrange [0:*]
+set format x "-%m-%d"
+# set timefmt "%Y-%m-%d"
+set data style linespoints
+set xtics rotate
+set grid xtics
+set key top left
+set xtics 604800
+# set style histogram clustered
+
+set term png color
+set out "plot_all.png"
+
+# plot "data.dat" using 1:3 title "Duration over revision"
+
+# CYGWIN_NT-5.2_i686-unknown
+# Linux-2.4.20-31.9_i686-i686
+# Linux-2.4.21-27.ELsmp_i686-athlon
+# SunOS-5.10_i86pc-i386
+# SunOS-5.10_sun4u-sparc
+# SunOS-5.9_sun4u-sparc
+plot "CYGWIN_NT-5.2_i686-unknown/${SUITE}.data" using 1:3 title "CYGWIN_NT-5.2_i686-unknown", "Linux-2.4.20-31.9_i686-i686/${SUITE}.data" using 1:3 title "Linux-2.4.20-31.9_i686-i686", "Linux-2.4.21-27.ELsmp_i686-athlon/${SUITE}.data" using 1:3 title "Linux-2.4.21-27.ELsmp_i686-athlon", "SunOS-5.10_i86pc-i386/${SUITE}.data" using 1:3 title "SunOS-5.10_i86pc-i386", "SunOS-5.10_sun4u-sparc/${SUITE}.data" using 1:3 title "SunOS-5.10_sun4u-sparc", "SunOS-5.9_sun4u-sparc/${SUITE}.data" using 1:3 title "SunOS-5.9_sun4u-sparc"
+

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/gnuplot/duration_all.gp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: db/derby/code/trunk/tools/testing/reporting/scripts/initDERBYDIR
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/initDERBYDIR?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/initDERBYDIR (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/initDERBYDIR Fri Nov 24 00:35:04 2006
@@ -0,0 +1,108 @@
+#!/bin/bash
+# Must be positioned in ${DERBYDIR}.
+# env.sh and testenv.sh must exist in current directory.
+# Assumes Derby has been checked out to ${derby_source} (${DERBYDIR}/${BRANCH_DIR}, 
+# see ${derby_source}/tools/testing/reporting/TEMPLATES/env.sh)
+# Example: 
+#-1. TOPDIR=${HOME}/testingReportingScripts/outerWorld # Update the env.sh script in SANDBOX with this
+#    TESTSET=testset # Update the env.sh script in SANDBOX with this
+#    SANDBOX=trunkJDK16 # Update the env.sh script in SANDBOX with this
+#    DERBYDIR=${TOPDIR}/${TESTSET}/${SANDBOX}
+#    BRANCH_DIR=trunk # or 10.2, 10.1, .... the branch you want to check out
+# 0. mkdir -p ${TOPDIR}; chmod go+rx ${TOPDIR}
+# 1. mkdir -p ${TOPDIR}/${TESTSET}; chmod go+rx ${TOPDIR}/${TESTSET}
+# 2. mkdir ${DERBYDIR}; chmod go+rx ${DERBYDIR}
+# 3. cd ${DERBYDIR}
+# 4. Now checkout the Derby source (See http://db.apache.org/derby/derby_downloads.html).
+#    E.g. 'svn checkout https://svn.apache.org/repos/asf/db/derby/code/${BRANCH_DIR}'
+# 5. TEMPLATEDIR=${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/TEMPLATES
+# 6. cp ${TEMPLATEDIR}/env.sh ./
+# 7. cp ${TEMPLATEDIR}/testenv.sh ./
+# 8. Modify env.sh and testenv.sh as required.
+# 9. TOOLDIR=${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts
+#10. Run this script: ${TOOLDIR}/initDERBYDIR
+
+
+if [ ! -e env.sh ]
+then
+  echo "env.sh not found!"
+  echo "See ${derby_source}/tools/testing/reporting/TEMPLATES for templates."
+  exit
+fi
+
+
+# DEBUG 
+echo -n "We're in: "; pwd
+. ./env.sh
+# DEBUG 
+echo "DERBYDIR: ${DERBYDIR}"
+# DEBUG 
+echo "BRANCH_DIR: ${BRANCH_DIR}"
+# DEBUG 
+pwd
+
+# Example top level web page(s):
+if [ ! -e ../index.html ]
+then
+  cp ${TEMPLATEDIR}/index.html ../index.html 
+fi
+if [ ! -e ../index.shtml ]
+then
+  cp ${TEMPLATEDIR}/index.shtml ../index.shtml 
+fi
+echo ""
+
+##################################
+# Create dirs in ${TOPDIR}/${TESTSET}/${SANDBOX}
+
+rm -rf      BuildLog FailReports testing UpdateLog UpdateInfo builds
+mkdir -p    BuildLog FailReports testing UpdateLog UpdateInfo builds
+chmod go+rx BuildLog FailReports testing UpdateLog UpdateInfo builds
+rm -f                                                Failures
+ln -s ${BRANCH_DIR}/tools/testing/reporting/Failures Failures
+
+echo ""
+# DEBUG 
+ls -al .
+echo ""
+
+# Create dirs in ${TOPDIR}/${TESTSET}/${SANDBOX}/testing
+cd  testing
+mkdir -p    Full Limited Notes testlog
+chmod go+rx Full Limited Notes testlog
+ln -s ../builds builds # Until all scripts are fixed.
+ln -s ../UpdateInfo UpdateInfo # Until all scripts are fixed.
+# Must exist: edit to exclude if neccessary.
+touch ExcludeFromZip
+
+# Example minimal test suite list:
+echo "derbyall"                                          > testlist
+echo "org.apache.derbyTesting.functionTests.suites.All" >> testlist
+echo ""
+echo "testlist: "
+cat testlist
+echo ""
+echo "Add more suites as desired."
+ln -s testlist showtestlist
+echo "Create separate showtestlist if you want to report only for a subset."
+echo ""
+
+# Get back in ${TOPDIR}/${TESTSET}/${SANDBOX}
+cd ..
+echo "To have a complete build environment you should have"
+echo "  osgi.jar"
+echo "  junit.jar"
+echo "  jdbc2_0-stdext.jar"
+echo "  jce1_2_2.jar"
+echo "in ${BRANCH_DIR}/tools/java:"
+ls -l ${BRANCH_DIR}/tools/java
+
+echo ""
+echo "Remember to run buildDerby and updateBuildTestDerby with your correct ant property file:"
+echo " Default: ~/ant.properties"
+echo " E.g. Set jdk16 to build for JDK 6."
+echo "      Set jsr169compile.classpath to build for JSR 169."
+
+exit
+
+# CLEANUP:

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/initDERBYDIR
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/initDERBYDIR
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/linux-cpu_mem
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/linux-cpu_mem?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/linux-cpu_mem (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/linux-cpu_mem Fri Nov 24 00:35:04 2006
@@ -0,0 +1,11 @@
+#!/bin/bash
+# NB Assuming all CPUs are identical....
+NUMBER=`cat  /proc/cpuinfo | grep "model name" | wc -l | sed -e 's/  //g'`
+MODEL=`cat  /proc/cpuinfo | grep "model name" | head -1 | gawk -F: '{ print $2 }'`
+FREQ=`cat  /proc/cpuinfo | grep "cpu MHz" | head -1 | gawk -F: '{ print $2 }'`
+CACHE=`cat  /proc/cpuinfo | grep "cache size" | head -1 | gawk -F: '{ print $2 }'`
+
+MEMTOTAL=`cat /proc/meminfo | grep "MemTotal" | gawk -F: '{ print $2 }' | sed -e 's/  //g'`
+MEMFREE=`cat /proc/meminfo | grep "MemFree" | gawk -F: '{ print $2 }' | sed -e 's/  //g'`
+
+echo "${NUMBER} X ${MODEL}: ${FREQ} MHz, ${CACHE} cache. ${MEMTOTAL} Total Memory."

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/linux-cpu_mem
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/linux-cpu_mem
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/linux-system
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/linux-system?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/linux-system (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/linux-system Fri Nov 24 00:35:04 2006
@@ -0,0 +1,5 @@
+#!/bin/bash
+BITS=`uname -p | grep -q 64 && echo 64 || echo 32`
+HEAD=`cat /etc/redhat-release`
+echo "${HEAD} ${BITS}bits"
+uname -srvo

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/linux-system
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/linux-system
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo Fri Nov 24 00:35:04 2006
@@ -0,0 +1,39 @@
+#!/bin/bash
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts" # then add
+. ${TOOLDIR}/env
+
+# Run only when all platforms are ready (test completed).
+# if [ "$1" = "" ]
+# then
+#   echo "Usage: $0 [details]"
+#   # exit
+# fi
+
+echo "*** Start mkAllDerbyTestInfo"
+
+DETAILS="$1"
+DETAILS="details"
+
+${TOOLDIR}/testSummariesDerby current ${DETAILS} # May be overkill, but .....
+${TOOLDIR}/testSummariesDerby previous ${DETAILS}
+
+# Get the list of revisions, look for the latest update/build:
+LATESTREVISION=`gawk '{ print $1 }' ${REVISIONLIST} | grep -v "^#" | head -1`
+echo "${TOOLDIR}/testSummariesDerby ${LATESTREVISION} ${DETAILS}"
+${TOOLDIR}/testSummariesDerby ${LATESTREVISION} ${DETAILS}
+
+# Next needed when new test is started before latest info has been created (e.g. Tinderbox...)
+PREVIOUSREVISION=`gawk '{ print $1 }' ${REVISIONLIST} | grep -v "^#" | head -2 | tail -1`
+echo "${TOOLDIR}/testSummariesDerby ${PREVIOUSREVISION} ${DETAILS}"
+${TOOLDIR}/testSummariesDerby ${PREVIOUSREVISION} ${DETAILS}
+
+echo "${TOOLDIR}/testHistoriesDerby ${DETAILS}"
+${TOOLDIR}/testHistoriesDerby ${DETAILS}
+
+# echo "${TOOLDIR}/testPlatformsDerby ${DETAILS}"
+# ${TOOLDIR}/testPlatformsDerby ${DETAILS}
+
+echo "${TOOLDIR}/mkDerbyTestIndex ${DETAILS}"
+${TOOLDIR}/mkDerbyTestIndex ${DETAILS}
+
+echo "*** Done mkAllDerbyTestInfo"

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo.public
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo.public?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo.public (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo.public Fri Nov 24 00:35:04 2006
@@ -0,0 +1,24 @@
+#!/bin/bash
+# Run only when all platforms are ready (test completed).
+# DO NOT SHOW DETAILS.
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts" # then add
+. ${TOOLDIR}/env
+
+# Get the list of revisions, look for the latest update/build:
+REVISIONSFILE="${DERBYDIR}/testing/revisionlist"
+LATESTREVISION=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#" | head -1`
+${TOOLDIR}/testSummariesDerby ${LATESTREVISION}
+# Next needed when new test is started before latest info has been created (e.g. Tinderbox...)
+PREVIOUSREVISION=`gawk '{ print $1 }' ${REVISIONLIST} | grep -v "^#" | head -2 | tail -1`
+${TOOLDIR}/testSummariesDerby ${PREVIOUSREVISION} ${DETAILS}
+
+${TOOLDIR}/testSummariesDerby current
+${TOOLDIR}/testSummariesDerby previous
+
+${TOOLDIR}/testHistoriesDerby
+
+# ${TOOLDIR}/testPlatformsDerby
+
+${TOOLDIR}/mkDerbyTestIndex
+

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo.public
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllDerbyTestInfo.public
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllPlotDataAndPlots
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkAllPlotDataAndPlots?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkAllPlotDataAndPlots (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkAllPlotDataAndPlots Fri Nov 24 00:35:04 2006
@@ -0,0 +1,53 @@
+#!/bin/bash
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+# Define DERBYDIR
+. ./env.sh
+
+INIT=$1
+
+echo "***** ${DERBYDIR} *********"
+
+if [ "${INIT}" == "INIT" ]
+then
+
+  # Build plot data
+  # ONLY initially, i.e. after a change of baseline or addition or removal of platform...
+  # NB: createBaselineFilesOnePlatform / createBaselineFiles must have been run to create
+  # baseline files for all platforms to be shown.
+  echo "-- mkGNUplot ----------------------------------------"
+  time ${TOOLDIR}/mkGNUplot
+
+else
+
+  # Update plot data:
+  echo "-- mkGNUplot.recent -----------------------------------"
+  time ${TOOLDIR}/mkGNUplot.recent
+
+fi
+
+# Create plots per platform
+echo "-- doplot ---------------------------------------------"
+time ${TOOLDIR}/doplot
+
+# Create summary plots over all platforms
+echo "-- doplot_all -----------------------------------------"
+time ${TOOLDIR}/doplot_all
+
+
+# Extract data for last 20 builds ( ~1 month)
+echo "-- mkGNUplot_last20 -----------------------------------"
+time ${TOOLDIR}/mkGNUplot_last20 40
+# NB: Now takes a param instead of using fixed 20 latest data sets.
+
+# Create plots per platform for ~last month
+echo "-- doplot _last20 -------------------------------------"
+time ${TOOLDIR}/doplot _last20
+
+# Create summary plots over all platforms for ~last month
+# time ${TOOLDIR}/doplot_all_lastMonth
+echo "-- doplot_all _last20 ---------------------------------"
+time ${TOOLDIR}/doplot_all _last20
+
+echo "***** ${DERBYDIR} *********"

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllPlotDataAndPlots
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkAllPlotDataAndPlots
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex Fri Nov 24 00:35:04 2006
@@ -0,0 +1,324 @@
+#!/bin/bash
+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)
+# head -16 to reduce to approx. last 2 weeks of daily tests (otherwise last 16 - ..TinderBox)
+NREVS=16
+if [ "${TINDER}" != "" ]
+then
+  NREVS=32
+fi
+
+# Update summary info for top level sandbox page:
+CUR_REV=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#" | head -1`
+${TOOLDIR}/mkSandBoxSummary ${CUR_REV} "$1"
+#
+
+REVISIONS=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#" | head -${NREVS}`
+# LASTUPDATEREV=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#" | head -1 `
+PREVUPDATEREV=`gawk '{ print $1 }' ${REVISIONSFILE} | grep -v "^#" | head -2 | tail -1`
+    # If we use LASTUPDATEREV ~ head -1 svn log may not report the last update.... See below.
+
+# DTI="${DERBYDIR}/testing/testSummary.html"
+DTI="${DERBYDIR}/testing/${PRESENTATION}/index.html"
+DTIPUB="${PUBLISHDIR}/${PRESENTATION}/index.html"
+
+PUBLICREGRESSIONTESTMSG="<P>We provide daily regression test results based on the Apache Derby test suites. The regression tests are executed on several  platforms.</P>"
+INTERNALREGRESSIONTESTMSG="<P>We currently run the Derby test suites on a number of platforms available at ${WHOWEAREINTERN}.</P>"
+if [ "${TINDER}" != "" ]
+then
+  PUBLICREGRESSIONTESTMSG="<P>\"<em>Tinderbox</em>\" testing is performed when updates to the Derby source code repository is detected. This is done on one single test platform.</P>"
+  INTERNALREGRESSIONTESTMSG="${PUBLICREGRESSIONTESTMSG}"
+fi
+
+echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" > ${DTI}
+echo "<html> <head>" >> ${DTI}
+chmod go+r ${DTI}
+if [ "$1" = "details" ]
+then
+  echo "<title>Derby @ ${WHOWEARE} Regression Test Results [${TESTID}]</title>" >> ${DTI}
+else
+  echo "<title>Apache Derby Open Source Database, Regression Test Results [${TESTID}]</title>" >> ${DTI}
+fi
+echo "</head>" >> ${DTI}
+
+echo "<body>" >> ${DTI}
+
+if [ "$1" != "details" ]
+then
+  # echo "<br><font size=\"+1\"><b><a href=\"http://db.apache.org/derby\" target=\"_top\">Apache Derby</a></b></font> is an open source, 100% Java SQL Database." >> ${DTI}
+
+
+  echo "<table style=\"text-align: left; width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" >> ${DTI}
+  echo "  <tbody>" >> ${DTI}
+  echo "    <tr>" >> ${DTI}
+  echo "      <td style=\"vertical-align: bottom;\"><font size=\"+1\"><b>" >> ${DTI}
+  echo "        <a href=\"http://db.apache.org/derby\" target=\"_top\">Apache Derby" >> ${DTI}
+  echo "        </a></b></font> is an open source, 100% Java SQL Database." >> ${DTI}
+  echo "      </td>" >> ${DTI}
+  echo "    </tr>" >> ${DTI}
+  echo "  </tbody>" >> ${DTI}
+  echo "</table>" >> ${DTI}
+
+  echo "<HR>" >> ${DTI}
+fi
+if [ "$1" = "details" ]
+then
+  echo "<h2>Derby @ ${WHOWEARE} Regression Test Results [${TESTID}]" >> ${DTI}
+    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp" >> ${DTI}
+    echo " <font size=-1>[<a href=\"InternalURL\">All ${WHOWEARE} Derby Tests</a>]</font>" >> ${DTI}
+  echo "</h2>" >> ${DTI}
+  echo "<a href=\"${INTERNHREF}\">"  >> ${DTI}
+  ### UNCOMMENT IF YOU HAVE A LOGO. echo "<img style=\"border: 0px solid\" src=\"${WHOWEARELOGO}\" alt=\"${WHOWEAREALT}\"><br>" >> ${DTI}
+  echo "<i>${WHOWEARELONG}</i><p/>" >> ${DTI}
+  echo "</a>" >> ${DTI}
+  echo "${INTERNALREGRESSIONTESTMSG}" >> ${DTI}
+else
+  echo "<h2>Derby Regression Test Results [${TESTID}]" >> ${DTI}
+    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp" >> ${DTI}
+    echo " <font size=-1>[<a href=\"externalURL\">All ${WHOWEARE} Derby Tests</a>]</font>" >> ${DTI}
+  echo "</h2>" >> ${DTI}
+  echo "<i>${WHOWEARELONG}</i><p/>" >> ${DTI}
+  echo "${PUBLICREGRESSIONTESTMSG}" >> ${DTI}
+fi
+echo "<P></P>" >> ${DTI}
+
+echo "<P><a href="testSummary-current.html">Results of the latest testrun</a> started. This will show NA for test suites not yet completed.</P>" >> ${DTI}
+
+echo "<P><a href="testSummary-previous.html">Results of the previous testrun.</a></P>" >> ${DTI}
+
+THISPWD=`pwd`
+cd ${derby_source}
+echo "Latest Derby revision: " >> ${DTI}
+
+svn log -r${PREVUPDATEREV}:HEAD | grep "lines$" | grep "|" | tail -1 | sed -e 's/^r//' | gawk -F\| '{ print $1"["$3"]" }' >> ${DTI}
+echo " per " >> ${DTI}
+cd ${THISPWD}
+date +%Y-%m-%d" "%H:%M:%S" "%Z >> ${DTI}
+
+
+echo "<BR>" >> ${DTI}
+echo "<h3>Tested Revisions</h3>" >> ${DTI}
+
+
+TDB="TD style=\"vertical-align: bottom;\""
+TDT="TD style=\"vertical-align: top;\""
+
+DURHD="<$TDB></TD>"
+if [ "${TINDER}" != "" ] || [ "${LARGEDATA}" != "" ]
+then # Show duration %
+  SHOWDURSUITE="Derbyall"
+  if [ "${LARGEDATA}" != "" ]
+  then
+    SHOWDURSUITE="LargeData"
+  fi
+   DURHD="<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;${SHOWDURSUITE}<br>&nbsp;&nbsp;&nbsp;&nbsp;duration<br>&nbsp;&nbsp;&nbsp;&nbsp;vs baseline </i></TD>"
+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 "<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" >> ${DTI}
+echo "<TR ${BGCOLOR} >" >> ${DTI}
+echo "<$TDB><i> Revision &nbsp;&nbsp;&nbsp;&nbsp;</i></TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Date, Time </i></TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Changes </i></TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Size of derby.jar<br>&nbsp;&nbsp;&nbsp;&nbsp;</i>[Baseline: ${FOOTPRINTBASEREV}<br>&nbsp;&nbsp;&nbsp;&nbsp;${TS}]</TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Derbyall<br>&nbsp;&nbsp;&nbsp;&nbsp;failures </i></TD>" >> ${DTI}
+echo "${DURHD}" >> ${DTI}
+echo "<$TDB><i>&nbsp;&nbsp;&nbsp;&nbsp;Notes </i></TD>" >> ${DTI}
+echo "</TR>" >> ${DTI}
+
+SANDBOX=`basename ${DERBYDIR}`
+no=1
+for REVISION in ${REVISIONS}
+do
+  echo "<TR>" >> ${DTI}
+  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="&nbsp;&nbsp;&nbsp;&nbsp;"
+  if [ -e ${DERBYDIR}/testing/UpdateInfo/${REVISION}.txt ]
+  then
+##     if [ "$1" != "details" ] # FIXME
+##     then
+##      CHGLINK="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../../UpdateInfo/${REVISION}.txt\">Chgs</A> "
+##     else
+      CHGLINK="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../UpdateInfo/${REVISION}.txt\">Chgs</A> "
+##     fi
+  fi
+  FOOTPRINT="&nbsp;&nbsp;&nbsp;&nbsp;"
+  if [ -e ${DERBYDIR}/testing/builds/${REVISION}.size ]
+  then
+    SIZE=`grep derby.jar ${DERBYDIR}/testing/builds/${REVISION}.size | gawk '{ print $2" "$3 }'`
+    # FOOTPRINT="&nbsp;&nbsp;&nbsp;&nbsp;<A href=\"../../../builds/${REVISION}.size\">${SIZE}</A>"
+    FOOTPRINT="&nbsp;&nbsp;&nbsp;&nbsp;<A href=\"../../builds/${REVISION}.size\">${SIZE}</A>"
+  fi
+
+  DERBALLFAILS=""
+  DERBALLPRCNT=""
+  # TINDERBOX=`echo ${DERBYDIR} | grep TinderBox_`
+  # if [ "${TINDER}" != "" ]
+  # then
+    DERBALLFAILS="["
+    for PLATFORM in ${PLATFORMS} # TinderBox uses ONE platform..
+    do
+      # echo -n "${PLATFORM} "; pwd
+      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`
+          # DEBUG RES=`grep "^demo " ${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="&nbsp;&nbsp;&nbsp;&nbsp;${PERCENT}% "
+          fi
+        else
+          DERBALLFAILS="${DERBALLFAILS} - "
+        fi
+      fi # visible, showdetails
+    done # PLATFORMS
+    DERBALLFAILS="${DERBALLFAILS}]"
+  # fi # TINDERBOX
+  ######
+  # Above if ...
+  # fi could be replaced by
+  # DERBALLFAILS=`${TOOLDIR}/platformsFailCount ${REVISION} "${SHOWDETAILS}" ${SUITE}`
+  # DERBALLPRCNT=`${TOOLDIR}/platformsDurPrcnt ${REVISION} "${SHOWDETAILS}" ${SUITE}`
+  ######
+
+  BLDERRLINK=""
+  if [ -e ${DERBYDIR}/testing/UpdateInfo/${REVISION}-buildDetails.txt ]
+  then
+    BLDERRLINK="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../UpdateInfo/${REVISION}-buildDetails.txt\"><font color=\"red\"><b> Build Errors!</b></font></A><br>"
+  fi
+
+  FAILURELINK=""
+  if [ -e ${DERBYDIR}/FailReports/${REVISION}.html ]
+  then
+    FAILURELINK="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../FailReports/${REVISION}.html\">${DERBALLFAILS} </A>"
+  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="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../FailReports/${REVISION}M.html\">${DERBALLFAILS} </A>"
+  fi
+
+  NOTE=""
+  if [ -e ${DERBYDIR}/testing/Notes/${REVISION}.txt ]
+  then
+    TXT=`cat ${DERBYDIR}/testing/Notes/${REVISION}.txt`
+    NOTE="${TXT}"
+  fi
+
+  echo "<$TDT><a href=\"testSummary-"${REVISION}".html\">"${REVISION}"</a></TD>" >> ${DTI}
+  echo "<$TDT>${TS}</TD>" >> ${DTI}
+  echo "<$TDT>${CHGLINK}</TD>" >> ${DTI}
+  echo "<$TDT>${FOOTPRINT}</TD>" >> ${DTI}
+  echo "<$TDT>${BLDERRLINK}${FAILURELINK}</TD>" >> ${DTI}
+  echo "<$TDT>${DERBALLPRCNT}</TD>" >> ${DTI}
+  echo "<$TDT>${NOTE}</TD>" >> ${DTI}
+  no=`expr $no + 1`
+  echo "<TR>" >> ${DTI}
+done # REVISIONS
+echo "</TABLE>" >> ${DTI}
+
+##########################################
+# BEGIN SKIP if ...._Release or ...._RC tests or ...._Snapshot tests
+IS_RELEASE=`echo ${DERBYDIR} | grep "_Release/"`
+IS_SNAPSHOT=`echo ${DERBYDIR} | grep "_Snapshot/"`
+IS_RC=`echo ${DERBYDIR} | grep "_RC/"`
+if [ "${IS_RELEASE}" == "" ] && [ "${IS_RC}" == "" ] && [ "${IS_SNAPSHOT}" == "" ]
+then
+
+echo "See full history <a href=\"index_all.html\">here!</a><BR>" >> ${DTI}
+
+
+if [ "${SHOWDETAILS}" = "ShowDetails" ]
+then
+  echo "<HR>" >> ${DTI}
+  echo "Experimental duration plots: " >> ${DTI}
+  echo "<a href=\"plot/plot.html\">all builds</a>, " >> ${DTI}
+  echo "<a href=\"plot/plot_last20.html\">last N builds</a>." >> ${DTI}
+fi
+
+fi
+# END SKIP if ....Release or ....Snapshot tests
+##########################################
+
+echo "<HR>" >> ${DTI}
+echo "<div style=\"text-align: right;\">"  >> ${DTI}
+echo "<font size=\"-1\"><i>"  >> ${DTI}
+date +%Y-%m-%d" "%H:%M:%S" "%Z >> ${DTI}
+echo "</i></font>" >> ${DTI}
+echo "</div>" >> ${DTI}
+
+
+echo "</body>" >> ${DTI}
+echo "</html>"  >> ${DTI}
+if [ "${SHOWDETAILS}" != "ShowDetails" ]
+then
+  SRC="${DTI}"
+  DST="${DTIPUB}"
+  echo "**** OBS! ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}"
+  ### ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}
+fi
+

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex_all
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex_all?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex_all (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex_all Fri Nov 24 00:35:04 2006
@@ -0,0 +1,239 @@
+#!/bin/bash
+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 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" > ${DTI}
+chmod go+r ${DTI}
+echo "<html> <head>" >> ${DTI}
+echo "</head>" >> ${DTI}
+
+echo "<body>" >> ${DTI}
+
+
+if [ "$1" != "details" ]
+then
+
+  echo "<table style=\"text-align: left; width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" >> ${DTI}
+  echo "  <tbody>" >> ${DTI}
+  echo "    <tr>" >> ${DTI}
+  echo "      <td style=\"vertical-align: bottom;\"><font size=\"+1\"><b>" >> ${DTI}
+  echo "        <a href=\"http://db.apache.org/derby\" target=\"_top\">Apache Derby" >> ${DTI}
+  echo "        </a></b></font> is an open source, 100% Java SQL Database." >> ${DTI}
+  echo "      </td>" >> ${DTI}
+  # echo "      <td style=\"vertical-align: top; text-align: right;\"><i>Web space sponsored by</i>" >> ${DTI}
+  # echo "        <a href="http://www.multinet.no/">" >> ${DTI}
+  # echo "          <img alt=\"MultiNet AS\" style=\"border: 0px solid ; width: 150px; height: 27px;\"" >> ${DTI}
+  # echo "          src=\"http://www.multinet.no/gfx/multilogo.jpg\">" >> ${DTI}
+  # echo "        </a>" >> ${DTI}
+  # echo "      </td>" >> ${DTI}
+  echo "    </tr>" >> ${DTI}
+  echo "  </tbody>" >> ${DTI}
+  echo "</table>" >> ${DTI}
+
+  echo "<HR>" >> ${DTI}
+fi
+
+TDB="TD style=\"vertical-align: bottom;\""
+TDT="TD style=\"vertical-align: top;\""
+
+DURHD="<$TDB></TD>"
+if [ "${TINDER}" != "" ] || [ "${LARGEDATA}" != "" ]
+then # Show duration %
+  SHOWDURSUITE="Derbyall"
+  if [ "${LARGEDATA}" != "" ]
+  then
+    SHOWDURSUITE="LargeData"
+  fi
+   DURHD="<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;${SHOWDURSUITE}<br>&nbsp;&nbsp;&nbsp;&nbsp;duration<br>&nbsp;&nbsp;&nbsp;&nbsp;vs baseline </i></TD>"
+fi
+# if [ "${TESTID}" = "TinderBox_Derby" ]
+# then # Show duration %
+#    DURHD="<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Derbyall<br>&nbsp;&nbsp;&nbsp;&nbsp;duration<br>&nbsp;&nbsp;&nbsp;&nbsp;vs baseline </i></TD>"
+# 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 "<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" >> ${DTI}
+echo "<TR ${BGCOLOR} >" >> ${DTI}
+echo "<$TDB><i> Revision </i></TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Date, Time </i></TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Changes </i></TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Size of derby.jar<br>&nbsp;&nbsp;&nbsp;&nbsp;</i>[Baseline: ${FOOTPRINTBASEREV}<br>&nbsp;&nbsp;&nbsp;&nbsp;${TS}]</TD>" >> ${DTI}
+echo "<$TDB><i> &nbsp;&nbsp;&nbsp;&nbsp;Derbyall<br>&nbsp;&nbsp;&nbsp;&nbsp;failures </i></TD>" >> ${DTI}
+echo "${DURHD}" >> ${DTI}
+echo "<$TDB><i>&nbsp;&nbsp;&nbsp;&nbsp;Notes </i></TD>" >> ${DTI}
+echo "</TR>" >> ${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="&nbsp;&nbsp;&nbsp;&nbsp;"
+  if [ -e ${DERBYDIR}/testing/UpdateInfo/${REVISION}.txt ]
+  then
+    CHGLINK="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../UpdateInfo/${REVISION}.txt\">Chgs</A> "
+  fi
+  FOOTPRINT="&nbsp;&nbsp;&nbsp;&nbsp;"
+  if [ -e ${DERBYDIR}/testing/builds/${REVISION}.size ]
+  then
+    SIZE=`grep derby.jar ${DERBYDIR}/testing/builds/${REVISION}.size | gawk '{ print $2" "$3 }'`
+    FOOTPRINT="&nbsp;&nbsp;&nbsp;&nbsp;<A href=\"../../builds/${REVISION}.size\">${SIZE}</A>"
+  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="&nbsp;&nbsp;&nbsp;${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="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../UpdateInfo/${REVISION}-buildDetails.txt\"><font color=\"red\"><b> Build Errors!</b></font></A><br>"
+  fi
+
+  FAILURELINK=""
+  if [ -e ${DERBYDIR}/FailReports/${REVISION}.html ]
+  then
+    FAILURELINK="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../FailReports/${REVISION}.html\">${DERBALLFAILS} </A>"
+  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="&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"../../FailReports/${REVISION}M.html\">${DERBALLFAILS} </A>"
+  fi
+
+  NOTE=""
+  if [ -e ${DERBYDIR}/testing/Notes/${REVISION}.txt ]
+  then
+    TXT=`cat ${DERBYDIR}/testing/Notes/${REVISION}.txt`
+    NOTE="${TXT}"
+  fi
+
+  echo "<$TDT><a href=\"testSummary-"${REVISION}".html\">"${REVISION}"</a></TD>" >> ${DTI}
+  echo "<$TDT>${TS}</TD>" >> ${DTI}
+  echo "<$TDT>${CHGLINK}</TD>" >> ${DTI}
+  echo "<$TDT>${FOOTPRINT}</TD>" >> ${DTI}
+  echo "<$TDT>${BLDERRLINK}${FAILURELINK}</TD>" >> ${DTI}
+  echo "<$TDT>${DERBALLPRCNT}</TD>" >> ${DTI}
+  echo "<$TDT>${NOTE}</TD>" >> ${DTI}
+  no=`expr $no + 1`
+  echo "<TR>" >> ${DTI}
+done # REVISIONS
+echo "</TABLE>" >> ${DTI}
+echo " [${no}]"
+
+
+echo "<HR>" >> ${DTI}
+echo "<div style=\"text-align: right;\">"  >> ${DTI}
+echo "<font size=\"-1\"><i>"  >> ${DTI}
+date +%Y-%m-%d" "%H:%M:%S" "%Z >> ${DTI}
+echo "</i></font>" >> ${DTI}
+echo "</div>" >> ${DTI}
+
+# if [ "${SHOWDETAILS}" != "ShowDetails" ]
+# then
+#   echo "<i>Web space sponsored by</i> " >> ${DTI}
+#   echo "<a href="http://www.multinet.no/">" >> ${DTI}
+#   echo "<img align=\"top\" alt=\"MultiNet AS\" style=\"border: 0px solid; width: 200px; height: 36px;\" src=\"http://www.multinet.no/gfx/multilogo.jpg\"></a>" >> ${DTI}
+# fi
+echo "</body>" >> ${DTI}
+echo "</html>"  >> ${DTI}
+if [ "${SHOWDETAILS}" != "ShowDetails" ]
+then
+  SRC="${DTI}"
+  DST="${DTIPUB}"
+  echo "**** OBS! ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}"
+  ### ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}
+fi
+

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex_all
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkDerbyTestIndex_all
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot Fri Nov 24 00:35:04 2006
@@ -0,0 +1,80 @@
+#!/bin/bash
+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 "^#"`
+
+mkdir -p ${DERBYDIR}/testing/Full/plot
+chmod go+rx ${DERBYDIR}/testing/Full/plot
+
+for PLATFORM in ${PLATFORMS}
+do
+  echo "${PLATFORM} [${PLFNO}/${NOOFPLFS}]"
+  mkdir -p ${DERBYDIR}/testing/Full/plot/${PLATFORM}
+  chmod go+rx ${DERBYDIR}/testing/Full/plot/${PLATFORM}
+  for SUITE in ${SUITES}
+  do
+    echo "    ${SUITE}"
+    echo -n "" > ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data
+    for REVISION in ${REVISIONS}
+    do
+      # echo "        ${REVISION}"
+      # x       = ${revision}
+      # baseRev = platform.baseline.revision 
+      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
+        echo "${REVDATE} ${REVISION} ${PERCENT} ${NTESTS} ${NOK} ${NFAIL}" \
+	    >> ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data
+        echo -n "."
+      else
+        # echo "        No ${REVISION} for ${PLATFORM}"
+        echo -n "-"
+      fi
+    done # REVISIONS
+    echo ""
+  done # SUITES
+  let " PLFNO = ${PLFNO} + 1 "
+done # PLATFORMS

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot.recent
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot.recent?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot.recent (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot.recent Fri Nov 24 00:35:04 2006
@@ -0,0 +1,87 @@
+#!/bin/bash
+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

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot.recent
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot.recent
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot_last20
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot_last20?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot_last20 (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot_last20 Fri Nov 24 00:35:04 2006
@@ -0,0 +1,55 @@
+#!/bin/bash
+COUNT=$1
+# Assumes *full* data exists. This script only does 'head -${COUNT}' on the complete data files.
+# Should rename ${SUITE}_last20.data to something more general..
+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} | head -${COUNT} | gawk '{ print $1 }' | grep -v "^#"`
+# The 'head -${COUNT}' is a bit rough: includes # comment lines...
+STARTREV=`head -${COUNT} ${REVISIONSFILE} | gawk '{ print $1 }' | grep -v "^#" | tail -1`
+
+# DEBUG echo "PLATFORMS: ${PLATFORMS}, SUITES: ${SUITES}"
+for PLATFORM in ${PLATFORMS}
+do
+  echo "${PLATFORM} [${PLFNO}/${NOOFPLFS}]"
+  for SUITE in ${SUITES}
+  do
+    echo "    ${SUITE}"
+    # head -${COUNT} ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data > ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}_last20.data
+
+    echo -n "" > ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}_last20.data
+    while read LINE
+    do
+      LINEREV=`echo ${LINE} | gawk '{ print $2 }'`
+      if [ ${LINEREV} -lt ${STARTREV} ]
+      then
+        # echo "        break on ${LINEREV}"
+        break
+      fi
+      echo ${LINE} >> ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}_last20.data
+    done < ${DERBYDIR}/testing/Full/plot/${PLATFORM}/${SUITE}.data
+
+  done # SUITES
+  let " PLFNO = ${PLFNO} + 1 "
+done # PLATFORMS

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot_last20
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkGNUplot_last20
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs Fri Nov 24 00:35:04 2006
@@ -0,0 +1,215 @@
+#!/bin/bash
+SANDBOX=$1
+REVISION=$2
+# DEBUG echo "+++ $0"
+# SHOULD BE DEFINED OUTSIDE. DERBYDIR=${HOME}/Apache/${SANDBOX}
+if [ "${DERBYDIR}" == "" ] || [ "${REVISION}" == "" ]
+then
+  echo "Usage: $0 <DERBYDIR> revision"
+  echo "  Example: $0 Derby ..."
+  echo "           $0 DerbyJvm1.4 ..."
+  echo "           $0 TinderBox_Derby ..."
+  exit
+fi
+
+if [ ! -e ${DERBYDIR} ]
+then
+  echo "${DERBYDIR} does not exist."
+  exit
+fi
+
+cd ${DERBYDIR}
+if [ ! -e env.sh ]
+then
+  echo "${DERBYDIR} does not appear to be a Derby sandbox (No env.sh found)"
+  exit
+fi
+. ./env.sh
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+JIRA_DESCRIPTIONS="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/Failures/JIRA_description.txt"
+
+# Get the list of testsuite we are running:
+TESTLISTFILE="${DERBYDIR}/testing/showtestlist"
+SUITES=`gawk '{ print $1 }' ${TESTLISTFILE} | grep -v "^#"`
+## SUITES="derbyall"
+
+if [ ! -e ${TESTLOGDIR} ]
+then
+  echo "${TESTLOGDIR} does not exist"
+  exit
+fi
+# Get the set of platforms
+cd ${TESTLOGDIR}
+PLATFORMS=`ls`
+
+cd ${DERBYDIR}/FailReports
+
+SUMMARY="${REVISION}.html"
+# DEBUG echo -n "SUMMARY: ${SUMMARY} in ";pwd
+echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" > ${SUMMARY}
+echo "<html>" >> ${SUMMARY}
+echo "<head>" >> ${SUMMARY}
+echo "<title>${REVISION} ${DERBYVERSION} Apache Derby Open Source Database</title>" >> ${SUMMARY}
+echo "</head>" >> ${SUMMARY}
+echo "<body>" >> ${SUMMARY}
+echo "<font size=\"+2\"><b><i>${SANDBOX}</i> ${REVISION} </b></font>" >> ${SUMMARY}
+
+# DEBUG echo "${SANDBOX}"
+echo "<TABLE border="1">" >> ${SUMMARY}
+
+echo "<TR>" >> ${SUMMARY}
+for PLATFORM in ${PLATFORMS}
+do
+ if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/externallyVisible ] && [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/excludeFromMailReport ]
+ then
+  echo "<TD>" >> ${SUMMARY}
+  TEMP=`echo ${PLATFORM} | sed -e 's/_/<br>/g'`
+  # echo "${PLATFORM}" >> ${SUMMARY}
+  echo "${TEMP}" >> ${SUMMARY}
+  echo "</TD>" >> ${SUMMARY}
+ fi
+done
+echo "</TR>" >> ${SUMMARY}
+
+echo "<TR>" >> ${SUMMARY}
+
+REVISION=`echo ${REVISION} | sed -e 's/M//'`
+for PLATFORM in ${PLATFORMS}
+do
+ HADERRORS=""
+ if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/externallyVisible ] && [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/excludeFromMailReport ]
+ then
+  echo "<TD style=\"vertical-align: top;\">" >> ${SUMMARY}
+  # DEBUG echo "${PLATFORM}" 
+  # echo "${PLATFORM}" >> ${SUMMARY}
+  # echo "</TD>" >> ${SUMMARY}
+  FOUNDSUITES="false" # Must handle the case when no suites are reported.
+  for SUITE in ${SUITES} # The SUITES we look for
+  do
+    # DEBUG echo "SUITE: ${SUITE}"
+    FOUNDTHIS=`grep ${SUITE} ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}.csv`
+    if [ "${FOUNDTHIS}" != "" ]
+    then
+      FOUNDSUITES="true"
+    fi
+    if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}.csv ]
+    then
+    # DEBUG echo "  ${SUITE}"
+    # DEBUG echo   "${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt"
+    # DEBUG ls -l ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt
+    if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt ]
+    then
+      FAILFILE="${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt"
+      # dos2unix ${FAILFILE} FAILFILE$$
+      gawk '{ sub("\r$", ""); print }' ${FAILFILE} > FAILFILE$$
+      FAILFILE="FAILFILE$$"
+      # DEBUG echo "FAILFILE: ${FAILFILE}"
+      JUNIT=`echo ${SUITE} | grep 'org.apache.derbyTesting.'`
+      if [ "${JUNIT}" == "" ]
+      then
+        LINES=`grep : ${FAILFILE}`
+      else
+        # LINES=`grep "^.*) " ${FAILFILE} | sed -e 's/^[1-9]).//' | sed -e 's/org.apache.derbyTesting/../' | sed -e 's/).*: /) /'`
+        LINES=`grep "^.*) " ${FAILFILE} | sed -e 's/^[1-9]).//' | sed -e 's/org.apache.derbyTesting/../' | sed -e 's/).*: /) /' | gawk '{ print $1 }'`
+      fi
+      # Better go via file to really have LINES be a set of lines which may contain blanks.
+      # The way it stands now each "word" is treated as a LINE.
+      rm ${FAILFILE}
+      # DEBUG echo "LINES: ${LINES}"
+      JIRALIST=""
+      for LINE in ${LINES}
+      do
+        # DEBUG echo "LINE: ${LINE}"
+        if [ "${JUNIT}" == "" ]
+        then
+          FAILEDTEST=`echo ${LINE} | gawk -F: '{ print $2 }'`
+        else
+          FAILEDTEST=`echo ${LINE} | gawk '{ print $1 }'`
+        fi
+        # DEBUG echo "FAILEDTEST: ${FAILEDTEST}"
+        JIRA=`grep -v "^#" ${JIRA_DESCRIPTIONS} | grep "${FAILEDTEST}" | gawk '{ print $1 }'`
+        # DEBUG echo "JIRA: ${JIRA}"
+        if [ "${JIRA}" == "" ]
+        then
+          JIRA="'${FAILEDTEST}':<BR>&nbsp;&nbsp;<i><b>New JIRA?</b></i><BR>"
+        else
+          JIRAS=${JIRA}
+          INNERJIRAS="'${FAILEDTEST}':"
+          ORDELIM=""
+          for JIRA in ${JIRAS}
+          do
+            if [ "${JIRA}" == "NEW?" ]
+            then
+              JIRA="&nbsp;&nbsp;${ORDELIM}<i><b>New JIRA?</b></i>"
+            else
+              JIRA="&nbsp;&nbsp;${ORDELIM}<A HREF=\"https://issues.apache.org/jira/browse/DERBY-${JIRA}\">DERBY-${JIRA}</A>"
+            fi
+            INNERJIRAS="${INNERJIRAS}<BR>${JIRA}"
+            ORDELIM="or "
+          done
+          JIRA="${INNERJIRAS}<BR>"
+        fi
+        # DEBUG echo "    ${REVISION} ${JIRA} ${SANDBOX} ${PLATFORM}"
+        JIRALIST="${JIRALIST}<BR>${JIRA}"
+      done # LINES
+      echo "<b>${SUITE}</b>: ${JIRALIST}<BR><BR>" >> ${SUMMARY}
+      HADERRORS="${HADERRORS}E"
+    else
+      # echo "${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt does not exist"
+      # echo "    ${REVISION} NA        ${SANDBOX} ${PLATFORM} (Not available)"
+      # echo "<b><i>${SUITE}</i></b>" >> ${SUMMARY}
+      HADERRORS="${HADERRORS}"
+      if [ "${SUITE}" == "derbyall" ]
+      then
+        # DEBUG echo "SUITE == derbyall"
+        DERBYALLRUN=`grep derbyall ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}.csv`
+        if [ "${DERBYALLRUN}" != "" ]
+        then
+          DAERR=`echo ${DERBYALLRUN} | gawk '{ print $2 }'`
+          ERRS="No errors!"
+          if [ "${DAERR}" == "" ]
+          then
+            ERRS="Unknown!"
+            HADERRORS="${HADERRORS}U"
+          fi
+          # DEBUG echo "${SUITE}: ${ERRS}"
+          echo "<b>${SUITE}</b>: <br><b><i>${ERRS}</i></b><br><br>" >> ${SUMMARY}
+        fi
+      fi
+    fi # [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt ]
+    fi # [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}.csv ]
+  done # SUITES
+  # DEBUG echo "HADERRORS: ${HADERRORS}"
+  if [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-system ]
+  then
+    echo "<b>${REVISION}: <i>NA</i></b>" >> ${SUMMARY}
+  elif [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}.csv ]
+  then
+    echo "<b>Total: <i>NA</i></b>" >> ${SUMMARY}
+  elif [ "${HADERRORS}" == "" ]
+  then
+    TOTALMSG="No errors!"
+    if [ "${FOUNDSUITES}" == "false" ]
+    then
+      TOTALMSG="No results found!"
+    fi
+    echo "<br><br><b>TOTAL:</b> <br><b><i>${TOTALMSG}</i></b>" >> ${SUMMARY}
+  fi
+  echo "</TD>" >> ${SUMMARY}
+ fi # [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/externallyVisible ]  && [ not -e ${PLATFORM}/excludeFromMailReport ]
+done # PLATFORMS
+echo "</TR>" >> ${SUMMARY}
+echo "</TABLE>" >> ${SUMMARY}
+date >> ${SUMMARY}
+echo "</body>" >> ${SUMMARY}
+chmod go+r ${SUMMARY}
+
+# Make SUMARY publicly available:
+SRC="${SUMMARY}"
+DST="${PUBLISHDIR}"
+echo "**** OBS! ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}/${SANDBOX}/FailReports/"
+### ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}/${SANDBOX}/FailReports/
+# DEBUG echo "--- $0"

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs.current
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs.current?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs.current (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs.current Fri Nov 24 00:35:04 2006
@@ -0,0 +1,221 @@
+#!/bin/bash
+SANDBOX=$1
+WHICH_REVISION=$2
+# DEBUG echo "+++ $0"
+# SHOULD BE DEFINED OUTSIDE. DERBYDIR=${HOME}/Apache/${SANDBOX}
+if [ "${DERBYDIR}" == "" ] || [ "${WHICH_REVISION}" == "" ]
+then
+  echo "Usage: $0 <DERBYDIR> revision"
+  echo "  Example: $0 Derby ..."
+  echo "           $0 DerbyJvm1.4 ..."
+  echo "           $0 TinderBox_Derby ..."
+  exit
+fi
+
+if [ ! -e ${DERBYDIR} ]
+then
+  echo "${DERBYDIR} does not exist."
+  exit
+fi
+
+cd ${DERBYDIR}
+if [ ! -e env.sh ]
+then
+  echo "${DERBYDIR} does not appear to be a Derby sandbox (No env.sh found)"
+  exit
+fi
+. ./env.sh
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+JIRA_DESCRIPTIONS="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/Failures/JIRA_description.txt"
+
+# Get the list of testsuite we are running:
+TESTLISTFILE="${DERBYDIR}/testing/showtestlist"
+SUITES=`gawk '{ print $1 }' ${TESTLISTFILE} | grep -v "^#"`
+## SUITES="derbyall"
+
+if [ ! -e ${TESTLOGDIR} ]
+then
+  echo "${TESTLOGDIR} does not exist"
+  exit
+fi
+# Get the set of platforms
+cd ${TESTLOGDIR}
+PLATFORMS=`ls`
+
+# cd ${DERBYDIR}/Failures
+cd ${DERBYDIR}/FailReports
+
+# mkdir -p ${SANDBOX}
+# chmod go+rx ${SANDBOX}
+
+if [ "${WHICH_REVISION}" == "current" ]
+then # DOES NOT WORK for DBTGQA tests: FIXME or just drop mkJIRArefs.current.... Not used for DBTGQA tests.
+  REVISION=`grep "/classes] " ${DERBYDIR}/BuildLog/currentSysInfo.txt | gawk -F] '{ print $2 }'` # Problem here
+  REVISION=`echo "${REVISION}" | gawk -F\( '{ print $2 }' | gawk -F\) '{ print $1 }'`
+elif [ "${WHICH_REVISION}" == "previous" ]
+then
+  REVISIONSFILE="${DERBYDIR}/testing/revisionlist"
+  PREVREV=`grep -v "^#" ${REVISIONSFILE} | head -2 | tail -1 | gawk '{ print $1 }'`
+  REVISION=`grep "/classes] " ${DERBYDIR}/BuildLog/${PREVREV}/sysinfo.txt | gawk -F] '{ print $2 }'` # Problem here
+  REVISION=`echo "${REVISION}" | gawk -F\( '{ print $2 }' | gawk -F\) '{ print $1 }'`
+fi
+echo "${WHICH_REVISION} ${REVISION}"
+# Next is added since we now get e.g. 394991:394993M 
+REVISION=`echo "${REVISION}" | gawk -F: '{ print $1 }'`
+REVISION=`echo ${REVISION} | sed -e 's/M//'`
+echo "${WHICH_REVISION} ${REVISION}"
+
+# SUMMARY="${SANDBOX}/${REVISION}.html"
+SUMMARY="${REVISION}.html"
+echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" > ${SUMMARY}
+echo "<html>" >> ${SUMMARY}
+echo "<head>" >> ${SUMMARY}
+echo "<title>${WHICH_REVISION} ${DERBYVERSION} Apache Derby Open Source Database</title>" >> ${SUMMARY}
+echo "</head>" >> ${SUMMARY}
+echo "<body>" >> ${SUMMARY}
+echo "<font size=\"+2\"><b><i>${SANDBOX}</i> ${REVISION}</b></font>" >> ${SUMMARY}
+
+echo "${SANDBOX}"
+echo "<TABLE border="1">" >> ${SUMMARY}
+
+echo "<TR>" >> ${SUMMARY}
+for PLATFORM in ${PLATFORMS}
+do
+ if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/externallyVisible ] && [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/excludeFromMailReport ]
+ then
+  echo "<TD>" >> ${SUMMARY}
+  TEMP=`echo ${PLATFORM} | sed -e 's/_/<br>/g'`
+  # echo "${PLATFORM}" >> ${SUMMARY}
+  echo "${TEMP}" >> ${SUMMARY}
+  echo "</TD>" >> ${SUMMARY}
+ fi
+done
+echo "</TR>" >> ${SUMMARY}
+
+echo "<TR>" >> ${SUMMARY}
+
+PUREREVISION=`echo ${REVISION} | sed -e 's/M//'`
+
+for PLATFORM in ${PLATFORMS}
+do
+ HADERRORS=""
+ if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/externallyVisible ] && [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/excludeFromMailReport ]
+ then
+  echo "<TD style=\"vertical-align: top;\">" >> ${SUMMARY}
+  # echo "${PLATFORM}" >> ${SUMMARY}
+  # echo "</TD>" >> ${SUMMARY}
+  for SUITE in ${SUITES}
+  do
+    if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${WHICH_REVISION}.csv ]
+    then
+    # echo "  ${SUITE}"
+    # echo   "${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}-${SUITE}_fail.txt"
+    if [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}-${SUITE}_fail.txt ]
+    then
+      FAILFILE="${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}-${SUITE}_fail.txt"
+      # dos2unix ${FAILFILE} FAILFILE$$
+      gawk '{ sub("\r$", ""); print }' ${FAILFILE} > FAILFILE$$
+      FAILFILE="FAILFILE$$"
+      # echo "FAILFILE: ${FAILFILE}"
+      JUNIT=`echo ${SUITE} | grep 'org.apache.derbyTesting.'`
+      if [ "${JUNIT}" == "" ]
+      then
+        LINES=`grep : ${FAILFILE}`
+      else
+        # LINES=`grep "^.*) " ${FAILFILE} | sed -e 's/^[1-9]).//' | sed -e 's/org.apache.derbyTesting/../' | sed -e 's/).*: /) /'`
+        LINES=`grep "^.*) " ${FAILFILE} | sed -e 's/^[1-9]).//' | sed -e 's/org.apache.derbyTesting/../' | sed -e 's/).*: /) /' | gawk '{ print $1 }'`
+      fi
+      # Better go via file to really have LINES be a set of lines which may contain blanks.
+      # The way it stands now each "word" is treated as a LINE.
+      rm ${FAILFILE}
+      # echo "LINES: ${LINES}"
+      JIRALIST=""
+      for LINE in ${LINES}
+      do
+        # echo "LINE: ${LINE}"
+        if [ "${JUNIT}" == "" ]
+        then
+          FAILEDTEST=`echo ${LINE} | gawk -F: '{ print $2 }'`
+        else
+          FAILEDTEST=`echo ${LINE} | gawk '{ print $1 }'`
+        fi
+        # echo "FAILEDTEST: ${FAILEDTEST}"
+        JIRA=`grep -v "^#" ${JIRA_DESCRIPTIONS} | grep "${FAILEDTEST}" | gawk '{ print $1 }'`
+        # echo "JIRA: ${JIRA}"
+        if [ "${JIRA}" == "" ]
+        then
+          JIRA="'${FAILEDTEST}':<BR>&nbsp;&nbsp;<i><b>New JIRA?</b></i><BR>"
+        else
+          JIRAS=${JIRA}
+          INNERJIRAS="'${FAILEDTEST}':"
+          ORDELIM=""
+          for JIRA in ${JIRAS}
+          do
+            if [ "${JIRA}" == "NEW?" ]
+            then
+              JIRA="&nbsp;&nbsp;${ORDELIM}<i><b>New JIRA?</b></i>"
+            else
+              JIRA="&nbsp;&nbsp;${ORDELIM}<A HREF=\"https://issues.apache.org/jira/browse/DERBY-${JIRA}\">DERBY-${JIRA}</A>"
+            fi
+            INNERJIRAS="${INNERJIRAS}<BR>${JIRA}"
+            ORDELIM="or "
+          done
+          JIRA="${INNERJIRAS}<BR>"
+        fi
+        # echo "    ${REVISION} ${JIRA} ${SANDBOX} ${PLATFORM}"
+        JIRALIST="${JIRALIST}<BR>${JIRA}"
+      done # LINES
+      echo "<b>${SUITE}</b>: ${JIRALIST}<BR><BR>" >> ${SUMMARY}
+      HADERRORS="${HADERRORS}E"
+    else
+      # echo "${DERBYDIR}/testing/testlog/${PLATFORM}/${REVISION}-${SUITE}_fail.txt does not exist"
+      # echo "    ${REVISION} NA        ${SANDBOX} ${PLATFORM} (Not available)"
+      # echo "<b><i>${SUITE}</i></b>" >> ${SUMMARY}
+      HADERRORS="${HADERRORS}"
+      if [ "${SUITE}" == "derbyall" ] && [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}.csv ]
+      then
+        DERBYALLRUN=`grep derbyall ${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}.csv`
+        if [ "${DERBYALLRUN}" != "" ]
+        then
+          DAERR=`echo ${DERBYALLRUN} | gawk '{ print $2 }'`
+          ERRS="No errors!"
+          if [ "${DAERR}" == "" ]
+          then
+            ERRS="Unknown!"
+            HADERRORS="${HADERRORS}U"
+          fi
+          echo "<b>${SUITE}</b>: <br><b><i>${ERRS}</i></b><br><br>" >> ${SUMMARY}
+        fi
+      fi
+    fi # [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}-${SUITE}_fail.txt ]
+    fi # [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${WHICH_REVISION}.csv ]
+  done # SUITES
+  echo ${HADERRORS}
+  if [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}-system ]
+  then
+    echo "<b>${REVISION}: <i>NA</i></b>" >> ${SUMMARY}
+  elif [ ! -e ${DERBYDIR}/testing/testlog/${PLATFORM}/${PUREREVISION}.csv ]
+  then
+    echo "<b>TOTAL: <i>NA</i></b>" >> ${SUMMARY}
+  elif [ "${HADERRORS}" == "" ]
+  then
+    echo "<br><br><b>TOTAL:</b>: <br><b><i>No errors!</i></b>" >> ${SUMMARY}
+  fi
+  echo "</TD>" >> ${SUMMARY}
+ fi # [ -e ${DERBYDIR}/testing/testlog/${PLATFORM}/externallyVisible ] && [ no -e ${PLATFORM}/excludeFromMailReport ]
+done # PLATFORMS
+echo "</TR>" >> ${SUMMARY}
+echo "</TABLE>" >> ${SUMMARY}
+date >> ${SUMMARY}
+echo "</body>" >> ${SUMMARY}
+chmod go+r ${SUMMARY}
+
+# Make SUMARY publicly available:
+SRC="${SUMMARY}"
+DST="${PUBLISHDIR}"
+echo "**** OBS! ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}/${SANDBOX}/FailReports/"
+### ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}/${SANDBOX}/FailReports/
+# DEBUG echo "--- $0"

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs.current
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkJIRArefs.current
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkPercentForTimeListVsBaseline
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkPercentForTimeListVsBaseline?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkPercentForTimeListVsBaseline (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkPercentForTimeListVsBaseline Fri Nov 24 00:35:04 2006
@@ -0,0 +1,9 @@
+#!/bin/bash
+#
+timeList=$1
+baseLine=$2
+baseLine=`toSeconds ${baseLine}`
+for TIME in ${timeList}
+do
+  echo `vsTimeBase ${TIME} ${baseLine}`
+done

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkPercentForTimeListVsBaseline
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkPercentForTimeListVsBaseline
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkSandBoxSummary
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkSandBoxSummary?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkSandBoxSummary (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkSandBoxSummary Fri Nov 24 00:35:04 2006
@@ -0,0 +1,43 @@
+#!/bin/bash
+REVISION=$1
+DETAILS=$2
+
+if [ "${DERBYDIR}" == "" ]
+then
+  echo "DERBYDIR is undefined!"
+  exit
+fi
+if [ ! -e ${DERBYDIR} ]
+then
+  echo "${DERBYDIR} does not exist!"
+  exit
+fi
+
+SUMMARY=${DERBYDIR}/summary.txt
+if [ "${DETAILS}" == "details" ]
+then
+  SUMMARY=${DERBYDIR}/summary-full.txt
+fi
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+echo -n " ${REVISION}: " > ${SUMMARY}
+
+# DEBUG echo "demo: " >> ${SUMMARY}
+# DEBUG ${TOOLDIR}/platformsFailCount ${REVISION} "${DETAILS}" demo >> ${SUMMARY}
+# DEBUG ## echo "/" >> ${SUMMARY}
+# DEBUG ## ${TOOLDIR}/platformsDurPrcnt ${REVISION} "${DETAILS}" demo >> ${SUMMARY}
+
+echo "derbyall: " >> ${SUMMARY}
+${TOOLDIR}/platformsFailCount ${REVISION} "${DETAILS}" derbyall >> ${SUMMARY}
+## echo "/" >> ${SUMMARY}
+## ${TOOLDIR}/platformsDurPrcnt ${REVISION} "${DETAILS}" derbyall >> ${SUMMARY}
+
+echo ", suites.All: " >> ${SUMMARY}
+${TOOLDIR}/platformsFailCount ${REVISION} "${DETAILS}" org.apache.derbyTesting.functionTests.suites.All >> ${SUMMARY}
+## echo "/" >> ${SUMMARY}
+## ${TOOLDIR}/platformsDurPrcnt ${REVISION} "${DETAILS}" org.apache.derbyTesting.functionTests.suites.All >> ${SUMMARY}
+
+chmod go+r ${SUMMARY}
+

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkSandBoxSummary
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkSandBoxSummary
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/mkUpdateInfo
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/mkUpdateInfo?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/mkUpdateInfo (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/mkUpdateInfo Fri Nov 24 00:35:04 2006
@@ -0,0 +1,32 @@
+#!/bin/bash
+if [ "$1" = ""  -o  "$2" = "" ]
+then
+  echo "Usage: $0 oldrevision/$1 revision/$2"
+  exit
+fi
+OLDREVISION=$1
+REVISION=$2
+#
+
+# You should NOT need to modify anything below.
+# NB: derby_source must be defined.
+#---------------------------------------------
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+echo "cd ${DERBYDIR}"
+cd ${DERBYDIR}
+
+          UPDATEINFO="UpdateInfo"
+          mkdir -p ${DERBYDIR}/testing/${UPDATEINFO}
+          echo "Changes from ${OLDREVISION} to ${REVISION}:" > ${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt
+               echo "${TOOLDIR}/svnLogRevs.new ${OLDREVISION} ${REVISION} >> ${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt"
+          ${TOOLDIR}/svnLogRevs.new ${OLDREVISION} ${REVISION} >> ${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt
+          echo "" >> ${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt
+          grep -v "sun.com" ${UPDATELOGDIR}/${REVISION}/update.out >> ${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt
+          chmod go+r ${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt
+
+          SRC="${DERBYDIR}/testing/${UPDATEINFO}/${REVISION}.txt"
+          DST="${PUBLISHDIR}/${UPDATEINFO}/${REVISION}.txt"
+          echo "**** OBS! ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}"
+          ### ${SCPUT} ${SRC} ${PUBLISHUSER}@${PUBLISHSITE}:${DST}

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkUpdateInfo
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/mkUpdateInfo
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/platformsDurPrcnt
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/platformsDurPrcnt?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/platformsDurPrcnt (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/platformsDurPrcnt Fri Nov 24 00:35:04 2006
@@ -0,0 +1,37 @@
+#!/bin/bash
+REVISION=$1
+SHOWDETAILS=$2
+SUITE=$3
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+# Get the set of platforms
+cd ${TESTLOGDIR}
+PLATFORMS=`ls`
+
+DERBALLPRCNT="["
+for PLATFORM in ${PLATFORMS} # TinderBox uses ONE platform..
+do
+  # DEBUG echo -n "${PLATFORM} "; pwd
+  if [ -e ${PLATFORM}/externallyVisible ] || [ "${SHOWDETAILS}" = "details" ]
+  then
+    if [ -e ${PLATFORM}/${REVISION}.csv ]
+    then
+      #  2: Number, 3: OK, 4: Failed, 5: Skipped, 6: time
+
+      TIME=`grep "^${SUITE} " ${PLATFORM}/${REVISION}.csv | gawk '{ print $6 }'`
+      SECONDS=`${TOOLDIR}/toSeconds ${TIME}`
+      BASESECONDS=`grep "^${SUITE} " ${PLATFORM}/baseline.csv | gawk '{ print $3 }'`
+      PERCENT=`${TOOLDIR}/calcPercent ${SECONDS} ${BASESECONDS}`
+      DERBALLPRCNT="${DERBALLPRCNT} ${PERCENT}% "
+
+    else
+      # DERBALLPRCNT="${DERBALLPRCNT} &nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp; "
+      DERBALLPRCNT="${DERBALLPRCNT} ---.--%    "
+    fi
+  fi # visible, showdetails
+done # PLATFORMS
+DERBALLPRCNT="${DERBALLPRCNT}]"
+
+echo ${DERBALLPRCNT}

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/platformsDurPrcnt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/platformsDurPrcnt
------------------------------------------------------------------------------
    svn:executable = *

Added: db/derby/code/trunk/tools/testing/reporting/scripts/platformsFailCount
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/testing/reporting/scripts/platformsFailCount?view=auto&rev=478802
==============================================================================
--- db/derby/code/trunk/tools/testing/reporting/scripts/platformsFailCount (added)
+++ db/derby/code/trunk/tools/testing/reporting/scripts/platformsFailCount Fri Nov 24 00:35:04 2006
@@ -0,0 +1,37 @@
+#!/bin/bash
+REVISION=$1
+SHOWDETAILS=$2
+SUITE=$3
+
+TOOLDIR="${DERBYDIR}/${BRANCH_DIR}/tools/testing/reporting/scripts"
+. ${TOOLDIR}/env
+
+# Get the set of platforms
+cd ${TESTLOGDIR}
+PLATFORMS=`ls`
+
+DERBALLFAILS="["
+for PLATFORM in ${PLATFORMS} # TinderBox uses ONE platform..
+do
+  # DEBUG echo -n "${PLATFORM} "; pwd
+  if [ -e ${PLATFORM}/externallyVisible ] || [ "${SHOWDETAILS}" = "details" ]
+  then
+    if [ -e ${PLATFORM}/${REVISION}.csv ]
+    then
+      #  2: Number, 3: OK, 4: Failed, 5: Skipped, 6: time
+      ## RES=`grep "^derbyall " ${PLATFORM}/${REVISION}.csv`
+      RES=`grep "^${SUITE} " ${PLATFORM}/${REVISION}.csv`
+      FAILED=`echo ${RES} | gawk '{ print $4 }'`
+      if [ "${FAILED}" == "" ]
+      then
+        FAILED="?"
+      fi
+      DERBALLFAILS="${DERBALLFAILS} ${FAILED} "
+    else
+      DERBALLFAILS="${DERBALLFAILS} - "
+    fi
+  fi # visible, showdetails
+done # PLATFORMS
+DERBALLFAILS="${DERBALLFAILS}]"
+
+echo ${DERBALLFAILS}

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/platformsFailCount
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: db/derby/code/trunk/tools/testing/reporting/scripts/platformsFailCount
------------------------------------------------------------------------------
    svn:executable = *