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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
0f7db9f4
Commit
0f7db9f4
authored
Jun 15, 2004
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wl1292 - updated make-html-reports.sh script
parent
93d97129
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 @
0f7db9f4
#!/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