Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
dfb60335
Commit
dfb60335
authored
Jun 15, 2004
by
ndbdev@ndbmaster.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wl1292 - updated make-html-reports.sh script
parent
1666ac95
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
79 additions
and
327 deletions
+79
-327
ndb/test/run-test/make-html-reports.sh
ndb/test/run-test/make-html-reports.sh
+79
-327
No files found.
ndb/test/run-test/make-html-reports.sh
View file @
dfb60335
#!/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
=
" "
;;
*
)
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment