summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <ndbdev@ndbmaster.mysql.com>2004-06-15 22:58:14 +0200
committerunknown <ndbdev@ndbmaster.mysql.com>2004-06-15 22:58:14 +0200
commit15928e777aa2a6cfe7dc74c3127aeb9519805730 (patch)
tree96df900183ac185bc6dbb35df89759b4e87bf690 /ndb
parentc488fe233c8bc72301549a39229b6ede42e498cc (diff)
parent0f7db9f4f33cdf82a3f10b438e5df30716ace2ba (diff)
downloadmariadb-git-15928e777aa2a6cfe7dc74c3127aeb9519805730.tar.gz
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into ndbmaster.mysql.com:/ndb/clone-mysql-4.1-ndb-daily-2004-06-14
Diffstat (limited to 'ndb')
-rwxr-xr-xndb/test/run-test/make-html-reports.sh406
1 files changed, 79 insertions, 327 deletions
diff --git a/ndb/test/run-test/make-html-reports.sh b/ndb/test/run-test/make-html-reports.sh
index 079650a729f..63fa00f95b0 100755
--- a/ndb/test/run-test/make-html-reports.sh
+++ b/ndb/test/run-test/make-html-reports.sh
@@ -1,106 +1,23 @@
#!/bin/sh
-# NAME
-# make-html-reports.sh
-#
-# SYNOPSIS
-# make-html-reports.sh [-q] [ -R <YYYY-MM-DD> ] [ -s <src dir> ] [ -d <dst dir> ] [ -c <conf dir> ]
-#
-# DESCRIPTION
-#
-# OPTIONS
-#
-# EXAMPLES
-#
-#
-# ENVIRONMENT
-# NDB_PROJ_HOME Home dir for ndb
-#
-# FILES
-# $NDB_PROJ_HOME/lib/funcs.sh general shell script functions
-#
-#
-# SEE ALSO
-#
-# DIAGNOSTICTS
-#
-# VERSION
-# 1.0
-#
-# AUTHOR
-# Jonas Oreland
-#
-
-progname=`basename $0`
-synopsis="make-html-reports.sh [ -R <YYYY-MM-DD> ] [ -s <src dir> ] [ -d <dst dir> ] [ -c <conf dir> ]"
-
-: ${NDB_PROJ_HOME:?} # If undefined, exit with error message
-
-: ${NDB_LOCAL_BUILD_OPTIONS:=--} # If undef, set to --. Keeps getopts happy.
- # You may have to experiment a bit
- # to get quoting right (if you need it).
-
-
-. $NDB_PROJ_HOME/lib/funcs.sh # Load some good stuff
-
-# defaults for options related variables
-#
-
-
-src_dir=`pwd`
-dst_dir=`pwd`
-conf_dir=`pwd`
-report_date=`date '+%Y-%m-%d'`
-uniq_id=$$.$$
-verbose=yes
-
-# used if error when parsing the options environment variable
-#
-env_opterr="options environment variable: <<$options>>"
-
-# Option parsing, for the options variable as well as the command line.
-#
-# We want to be able to set options in an environment variable,
-# as well as on the command line. In order not to have to repeat
-# the same getopts information twice, we loop two times over the
-# getopts while loop. The first time, we process options from
-# the options environment variable, the second time we process
-# options from the command line.
-#
-# The things to change are the actual options and what they do.
-#
-#
-
-for optstring in "$options" "" # 1. options variable 2. cmd line
-do
-
- while getopts q:s:R:d:c: i $optstring # optstring empty => no arg => cmd line
- do
- case $i in
-
- q) verbose="";; # echo important things
- d) dst_dir=$OPTARG;; # Destination directory
- s) src_dir=$OPTARG;; # Destination directory
- c) conf_dir=$OPTARG;; #
- R) report_date=$OPTARG;; #
- \?) syndie $env_opterr;; # print synopsis and exit
-
- esac
- done
-
- [ -n "$optstring" ] && OPTIND=1 # Reset for round 2, cmdline options
- env_opterr= # Round 2 should not use the value
+src_dir=$1
+run=$2
+date=$3
+src_file=$src_dir/report.txt
-done
-shift `expr $OPTIND - 1`
-
-src_dir=`abspath $src_dir`
-dst_dir=`abspath $dst_dir`
-conf_dir=`abspath $conf_dir`
+if [ ! -f $src_dir/report.txt ]
+then
+ echo "$src_dir/report.txt is missing"
+ exit 1
+fi
###
#
# General html functions
+trim(){
+ echo $*
+}
+
header(){
cat <<EOF
<html><head><title>$*</title></head>
@@ -166,64 +83,7 @@ hr(){
EOF
}
-# --- option parsing done ---
-
# -- Verify
-trace "Verifying arguments"
-summary_file=$src_dir/reports/summary.$report_date
-
-if [ ! -r $summary_file ]
-then
- syndie "Invalid src directory or report date: $summary_file not found"
-fi
-
-if [ ! -d $conf_dir/configurations ]
-then
- syndie "Invalid src directory: $conf_dir/configurations not found"
-fi
-
-if [ ! -d $conf_dir/testcases ]
-then
- syndie "Invalid src directory: $conf_dir/testcases not found"
-fi
-
-if [ ! -d $dst_dir ]
-then
- syndie "Invalid dst dir..."
-fi
-
-# --- option verifying done ---
-
-trace "src_dir: $src_dir"
-trace "dst_dir: $dst_dir"
-trace "conf_dir: $conf_dir"
-trace "report date: $report_date"
-
-###
-config_spec(){
- cat <<EOF
-<a href=#$1>$1</a>
-EOF
-}
-
-config_spec_include(){
- # Print the $1 file to the file we are generating
- cat <<EOF
-<a name=$1><pre>
-EOF
- if [ -r $conf_dir/configurations/$1 ]
- then
- cat -E $conf_dir/configurations/$1 | sed 's/\$/<BR>/g'
- else
- cat <<EOF
- Config spec $1 not found
-EOF
- fi
-cat <<EOF
-</pre></a>
-EOF
-}
-
time_spec(){
# $1 - secs
_ts_tmp=$1
@@ -232,8 +92,14 @@ time_spec(){
_ts_tmp=`expr $_ts_tmp / 60`
_ts_m=`expr $_ts_tmp % 60`
- _ts_tmp=`expr $_ts_tmp / 60`
+ if [ $_ts_tmp -ge 60 ]
+ then
+ _ts_tmp=`expr $_ts_tmp / 60`
+ else
+ _ts_tmp=0
+ fi
+ a=3
_ts_h=$_ts_tmp
if [ $_ts_h -gt 0 ]
@@ -247,191 +113,77 @@ time_spec(){
echo $ret
}
-log_spec(){
- _ff_=$src_dir/log/$report_date/$1.$2/test.$3.out
- if [ -r $_ff_ ] && [ -s $_ff_ ]
- then
- _f2_=$dst_dir/log.$report_date.$1.$2.$3.out.gz
- if [ -r $_f2_ ]
- then
- rm $_f2_
- fi
- cp $_ff_ $dst_dir/log.$report_date.$1.$2.$3.out
- gzip $dst_dir/log.$report_date.$1.$2.$3.out
- rm -f $dst_dir/log.$report_date.$1.$2.$3.out
- echo "<a href=log.$report_date.$1.$2.$3.out.gz>Log file</a>"
- else
- echo "-"
- fi
-}
+### Main
-err_spec(){
- _ff_=$src_dir/log/$report_date/$1.$2/test.$3.err.tar
- if [ -r $_ff_ ] && [ -s $_ff_ ]
- then
- cp $_ff_ $dst_dir/err.$report_date.$1.$2.$3.err.tar
- gzip $dst_dir/err.$report_date.$1.$2.$3.err.tar
- rm -f $dst_dir/err.$report_date.$1.$2.$3.err.tar
- echo "<a href=err.$report_date.$1.$2.$3.err.tar.gz>Error tarball</a>"
- else
- echo "-"
- fi
-}
+report_file=$src_dir/report.html
+summary_file=$src_dir/summary.html
-command_spec(){
- echo $* | sed 's/;/<BR>/g'
-}
+passed=0
+failed=0
+total=0
-### Main
+pass(){
+ passed=`expr $passed + 1`
+}
-html_summary_file=$dst_dir/summary.$report_date.html
+fail(){
+ failed=`expr $failed + 1`
+}
-trace "Creating summary"
(
- eval `grep "TOTAL" $summary_file | awk -F";" '{ printf("test_file=\"%s\"; elapsed=\"%s\"; started=\"%s\"; stopped=\"%s\"", $2, $3, $4, $5); }'`
-
- header "Autotest summary $report_date"
- heading 1 "Autotest summary $report_date"
- table
- row ; column `bold test file: `; column $test_file ; end_row
- row ; column `bold Started:` ; column "$started "; end_row
- row ; column `bold Stopped:` ; column "$stopped "; end_row
- row ; column `bold Elapsed:` ; column "`time_spec $elapsed secs`" ; end_row
- end_table
- hr
-
- table "border=1"
- row
- c_column `bold Report`
- c_column `bold Tag`
- c_column `bold Version`
- c_column `bold Distr-Config`
- c_column `bold Db-Config`
- c_column `bold Type`
- c_column `bold Test file`
- c_column `bold Make`
- c_column `bold Config`
- c_column `bold Test time`
- c_column `bold Passed`
- c_column `bold Failed`
- end_row
-
- grep -v "^#" $summary_file | grep -v TOTAL | sed 's/;/ /g' | \
- while read tag version config template type test_file make_res make_time conf_res conf_time test_time passed failed
- do
+ header Report $run $date
+ table "border=1"
row
- if [ -r $src_dir/reports/report.$tag.$version.$config.$template.$type.$test_file.$report_date ]
- then
- column "<a href=\"report.$tag.$version.$config.$template.$type.$test_file.$report_date.html\">report</a>"
- else
- column "-"
- fi
-
- column $tag
- column $version
- column $config
- column $template
- column $type
- column $test_file
- column "$make_res(`time_spec $make_time`)"
- column "$conf_res(`time_spec $conf_time`)"
- c_column "`time_spec $test_time`"
- c_column `bold $passed`
- c_column `bold $failed`
+ column `bold Test case`
+ column `bold Result`
+ column `bold Elapsed`
+ column `bold Log`
end_row
- done
- end_table
+) > $report_file
- footer
-) > $html_summary_file
-
-for i in $src_dir/reports/report.*.$report_date
+cat $src_file | while read line
do
- f=`basename $i`
- trace "Creating report: $f"
- eval `echo $f | awk -F"." '{printf("tag=%s;version=%s;config=%s;template=%s;type=%s;test_file=%s", $2, $3, $4, $5, $6, $7);}'`
-
- (
- header "Autotest report $report_date"
- heading 1 "Autotest report $report_date"
- table #"border=1"
- row ; column `bold Tag:`; column $tag ; end_row
- row ; column `bold Version:` ; column $version ; end_row
- row ; column `bold Configuration:` ; column `config_spec $config`; end_row
- row ; column `bold Template:` ; column `config_spec $template`; end_row
- row ; column `bold Type:` ; column $type ; end_row
- row ; column `bold Test file:` ; column $test_file; end_row
- end_table
- hr
-
- table "border=1"
- row
- c_column `bold Test case`
- c_column `bold Result`
- c_column `bold Test time`
- c_column `bold Logfile`
- c_column `bold Error tarfile`
- end_row
-
- grep -v "^#" $i | sed 's/;/ /g' | \
- while read test_no test_res test_time cmd
- do
- row
- column "`command_spec $cmd`"
- case "$test_res" in
- 0)
- column "PASSED";;
- 1001)
- column "API error";;
- 1002)
- column "Max time expired";;
- 1003)
- column "Mgm port busy";;
- *)
- column "Unknown: $test_res";;
- esac
-
- column "`time_spec $test_time`"
-
- column "`log_spec $tag $version $test_no`"
- column "`err_spec $tag $version $test_no`"
- end_row
- done
- end_table
-
- # Last on page we include spec
- # of used machines and template for config
- # for future reference
- hr
- table "border=1"
- row; column `bold Configuration:` $config; end_row
- row; column `config_spec_include $config`; end_row
- end_table
- hr
- table "border=1"
- row; column `bold Template:` $template; end_row
- row; column `config_spec_include $template`; end_row
- end_table
-
- footer
-
- ) > $dst_dir/$f.html
+ eval `echo $line | awk -F";" '{ printf("prg=\"%s\"; no=\"%s\"; res=\"%s\"; time=\"%s\"", $1, $2, $3, $4); }'`
+
+ prg=`trim $prg`
+ no=`trim $no`
+ res=`trim $res`
+ time=`trim $time`
+ res_dir="<a href=\"result-$run/$date/result.$no/\">log</a>"
+
+ ts=`time_spec $time`
+ res_txt=""
+ case $res in
+ 0) pass; res_txt="PASSED"; res_dir="&nbsp;";;
+ *) fail; res_txt="FAILED";;
+ esac
+ total=`expr $total + $time`
+
+ (
+ row
+ column $prg
+ column $res_txt
+ column $ts
+ column $res_dir
+ end_row
+ ) >> $report_file
+
+ (
+ row
+ column $run
+ column $date
+ column $passed
+ column $failed
+ column `time_spec $total`
+ column "<a href=\"result-$run/$date/report.html\">report</a>"
+ column "<a href=\"result-$run/$date/log.txt\">log.txt</a>"
+ end_row
+ ) > $summary_file
done
-# Re creating index
-trace "Recreating index"
(
- header "Autotest super-duper index"
- heading 1 "<center>Autotest super-duper index</center>"
- hr
- for i in `ls $dst_dir/summary.*.html | sort -r -n`
- do
- f=`basename $i`
- cat <<EOF
-<p><a href=$f>$f</a></p>
-EOF
- done
- footer
-) > $dst_dir/index.html
+ end_table
+ footer
+) >> $report_file
exit 0