|
Packit Service |
4684c1 |
# pmccabe2html - AWK script to convert pmccabe output to html -*- awk -*-
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Copyright (C) 2007-2020 Free Software Foundation, Inc.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# This program is free software: you can redistribute it and/or modify
|
|
Packit Service |
4684c1 |
# it under the terms of the GNU General Public License as published by
|
|
Packit Service |
4684c1 |
# the Free Software Foundation, either version 3 of the License, or
|
|
Packit Service |
4684c1 |
# (at your option) any later version.
|
|
Packit Service |
4684c1 |
#
|
|
Packit Service |
4684c1 |
# This program is distributed in the hope that it will be useful,
|
|
Packit Service |
4684c1 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
4684c1 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit Service |
4684c1 |
# GNU General Public License for more details.
|
|
Packit Service |
4684c1 |
#
|
|
Packit Service |
4684c1 |
# You should have received a copy of the GNU General Public License
|
|
Packit Service |
4684c1 |
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Written by Jose E. Marchesi <jemarch@gnu.org>.
|
|
Packit Service |
4684c1 |
# Adapted for gnulib by Simon Josefsson <simon@josefsson.org>.
|
|
Packit Service |
4684c1 |
# Added support for C++ by Giuseppe Scrivano <gscrivano@gnu.org>.
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Typical Invocation is from a Makefile.am:
|
|
Packit Service |
4684c1 |
#
|
|
Packit Service |
4684c1 |
# CYCLO_SOURCES = ${top_srcdir}/src/*.[ch]
|
|
Packit Service |
4684c1 |
#
|
|
Packit Service |
4684c1 |
# cyclo-$(PACKAGE).html: $(CYCLO_SOURCES)
|
|
Packit Service |
4684c1 |
# $(PMCCABE) $(CYCLO_SOURCES) \
|
|
Packit Service |
4684c1 |
# | sort -nr \
|
|
Packit Service |
4684c1 |
# | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
|
|
Packit Service |
4684c1 |
# -v lang=html -v name="$(PACKAGE_NAME)" \
|
|
Packit Service |
4684c1 |
# -v vcurl="https://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=%FILENAME%;hb=HEAD" \
|
|
Packit Service |
4684c1 |
# -v url="https://www.gnu.org/software/$(PACKAGE)/" \
|
|
Packit Service |
4684c1 |
# -v css=${top_srcdir}/build-aux/pmccabe.css \
|
|
Packit Service |
4684c1 |
# -v cut_dir=${top_srcdir}/ \
|
|
Packit Service |
4684c1 |
# > $@-tmp
|
|
Packit Service |
4684c1 |
# mv $@-tmp $@
|
|
Packit Service |
4684c1 |
#
|
|
Packit Service |
4684c1 |
# The variables available are:
|
|
Packit Service |
4684c1 |
# lang output language, either 'html' or 'wiki'
|
|
Packit Service |
4684c1 |
# name project name
|
|
Packit Service |
4684c1 |
# url link to project's home page
|
|
Packit Service |
4684c1 |
# vcurl URL to version controlled source code browser,
|
|
Packit Service |
4684c1 |
# a %FILENAME% in the string is replaced with the relative
|
|
Packit Service |
4684c1 |
# source filename
|
|
Packit Service |
4684c1 |
# css CSS stylesheet filename, included verbatim in HTML output
|
|
Packit Service |
4684c1 |
# css_url link to CSS stylesheet, an URL
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Prologue & configuration
|
|
Packit Service |
4684c1 |
BEGIN {
|
|
Packit Service |
4684c1 |
# Portable lookup of present time.
|
|
Packit Service |
4684c1 |
"date +%s" | getline epoch_time
|
|
Packit Service |
4684c1 |
"date" | getline chronos_time
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
section_global_stats_p = 1
|
|
Packit Service |
4684c1 |
section_function_cyclo_p = 1
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# "html" or "wiki"
|
|
Packit Service |
4684c1 |
package_name = name
|
|
Packit Service |
4684c1 |
output_lang = lang
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# General Options
|
|
Packit Service |
4684c1 |
cyclo_simple_max = 10
|
|
Packit Service |
4684c1 |
cyclo_moderate_max = 20
|
|
Packit Service |
4684c1 |
cyclo_high_max = 50
|
|
Packit Service |
4684c1 |
source_file_link_tmpl = vcurl
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# HTML options
|
|
Packit Service |
4684c1 |
if (url != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_prolog = "Back to " package_name " Homepage
"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
html_epilog = " \
|
|
Packit Service |
4684c1 |
Copyright (c) 2007, 2008 Free Software Foundation, Inc."
|
|
Packit Service |
4684c1 |
html_doctype = "
|
|
Packit Service |
4684c1 |
\"http://www.w3.org/TR/html401/loose.dtd\">"
|
|
Packit Service |
4684c1 |
html_comment = ""
|
|
Packit Service |
4684c1 |
html_title = "Cyclomatic Complexity report for " package_name
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Wiki options
|
|
Packit Service |
4684c1 |
wiki_prolog = "{{Note|This page has been automatically generated}}"
|
|
Packit Service |
4684c1 |
wiki_epilog = ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Internal variables
|
|
Packit Service |
4684c1 |
nfuncs = 0;
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Functions
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function build_stats()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Maximum modified cyclo
|
|
Packit Service |
4684c1 |
for (fcn in mcyclo)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
num_of_functions++
|
|
Packit Service |
4684c1 |
if (mcyclo[fcn] > max_mcyclo)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
max_mcyclo = mcyclo[fcn]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (mcyclo[fcn] > cyclo_high_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
num_of_untestable_functions++
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else if (mcyclo[fcn] > cyclo_moderate_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
num_of_high_functions++
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else if (mcyclo[fcn] > cyclo_simple_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
num_of_moderate_functions++
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
num_of_simple_functions++
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_fnc_table_complete (caption)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_fnc_table(caption, 1, 1, 0, 1, 1, 0, 1)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_fnc_table_abbrev (caption)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_fnc_table(caption, 1, 1, 0, 0, 1, 0, 0)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_fnc_table (caption,
|
|
Packit Service |
4684c1 |
fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
if (caption != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "<caption class=\"function_table_caption\">" caption "</caption>"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
html_fnc_header(fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
for (nfnc = 1; nfnc <= nfuncs; nfnc++)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_fnc(nfnc,
|
|
Packit Service |
4684c1 |
fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_header ()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print html_doctype
|
|
Packit Service |
4684c1 |
print "<html>"
|
|
Packit Service |
4684c1 |
print html_comment
|
|
Packit Service |
4684c1 |
print "<head>"
|
|
Packit Service |
4684c1 |
print "<title>" html_title "</title>"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "<meta name=\"description\" content=\"" html_title "\">"
|
|
Packit Service |
4684c1 |
print "<meta name=\"keywords\" content=\"" html_title "\">"
|
|
Packit Service |
4684c1 |
print "<meta name=\"resource-type\" content=\"document\">"
|
|
Packit Service |
4684c1 |
print "<meta name=\"distribution\" content=\"global\">"
|
|
Packit Service |
4684c1 |
print "<meta name=\"Generator\" content=\"pmccabe2html\">"
|
|
Packit Service |
4684c1 |
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"
|
|
Packit Service |
4684c1 |
print "<script language=\"javascript\" type=\"text/javascript\">"
|
|
Packit Service |
4684c1 |
print "function show_hide(idCapa, idButton, fuerzaVisibilidad)\
|
|
Packit Service |
4684c1 |
{\
|
|
Packit Service |
4684c1 |
var button = document.getElementById(idButton);\
|
|
Packit Service |
4684c1 |
var capa = document.getElementById(idCapa);\
|
|
Packit Service |
4684c1 |
if (capa)\
|
|
Packit Service |
4684c1 |
{\
|
|
Packit Service |
4684c1 |
if (fuerzaVisibilidad && fuerzaVisibilidad!=\"\") {\
|
|
Packit Service |
4684c1 |
if (fuerzaVisibilidad==\"visible\") capa.style.display=\"\";\
|
|
Packit Service |
4684c1 |
else capa.style.display=\"none\";\
|
|
Packit Service |
4684c1 |
}\
|
|
Packit Service |
4684c1 |
else\
|
|
Packit Service |
4684c1 |
{\
|
|
Packit Service |
4684c1 |
if (capa.style.display == \"none\") {\
|
|
Packit Service |
4684c1 |
capa.style.display = \"\";\
|
|
Packit Service |
4684c1 |
button.innerHTML = \"↑\";\
|
|
Packit Service |
4684c1 |
} else {\
|
|
Packit Service |
4684c1 |
capa.style.display = \"none\";\
|
|
Packit Service |
4684c1 |
button.innerHTML = \"↓\"; \
|
|
Packit Service |
4684c1 |
}\
|
|
Packit Service |
4684c1 |
}\
|
|
Packit Service |
4684c1 |
}\
|
|
Packit Service |
4684c1 |
}"
|
|
Packit Service |
4684c1 |
print "</script>"
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (css_url != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "<link rel=\"stylesheet\" href=\"" css_url "\" type =\"text/css\" media=\"screen\"/>"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (css != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "<style type =\"text/css\" media=\"screen\">"
|
|
Packit Service |
4684c1 |
print "
|
|
Packit Service |
4684c1 |
while ((getline cssline < css) > 0)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print cssline
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
print "-->"
|
|
Packit Service |
4684c1 |
print "</style>"
|
|
Packit Service |
4684c1 |
close(css)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
print "</head>"
|
|
Packit Service |
4684c1 |
print "
|
|
Packit Service |
4684c1 |
vlink=\"#800080\" alink=\"#FF0000\">"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_footer ()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "</body>"
|
|
Packit Service |
4684c1 |
print "</html>"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_fnc_header (fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
if (fname_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Function name
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Function Name"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (mcyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Modified cyclo
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Modified Cyclo"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (cyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Cyclo
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Cyclomatic"
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print "Complexity"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_statements_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Number of"
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print "Statements"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_lines_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Number of"
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print "Lines"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (first_line_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "First Line"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Source File"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_fnc (nfun,
|
|
Packit Service |
4684c1 |
fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
fname = fnames[nfun]
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Function name
|
|
Packit Service |
4684c1 |
trclass = "function_entry_simple"
|
|
Packit Service |
4684c1 |
if (mcyclo[nfun] > cyclo_high_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
trclass="function_entry_untestable"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else if (mcyclo[nfun] > cyclo_moderate_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
trclass="function_entry_high"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else if (mcyclo[nfun] > cyclo_simple_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
trclass="function_entry_moderate"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
if (fname_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
if (file_p && mcyclo[nfun] > cyclo_simple_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "\
|
|
Packit Service |
4684c1 |
↓"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print fname
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (mcyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Modified cyclo
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print mcyclo[nfun]
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (cyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Cyclo
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print cyclo[nfun]
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_statements_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Number of statements
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_statements[nfun]
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_lines_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Number of lines
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_lines[nfun]
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (first_line_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# First line
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print first_line[nfun]
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
href = ""
|
|
Packit Service |
4684c1 |
if (source_file_link_tmpl != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Get href target
|
|
Packit Service |
4684c1 |
href = source_file_link_tmpl
|
|
Packit Service |
4684c1 |
sub(/%FILENAME%/, file[nfun], href)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Source file
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
if (href != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "" file[nfun] ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print file[nfun]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (mcyclo[nfun] > cyclo_simple_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
num_columns = 1;
|
|
Packit Service |
4684c1 |
if (fname_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
if (mcyclo_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
if (cyclo_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
if (num_statements_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
if (num_lines_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
if (first_line_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
if (file_p) { num_columns++ }
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
while ((getline codeline < (fname nfun "_fn.txt")) > 0)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
gsub(/&/, "\\&", codeline) # Must come first.
|
|
Packit Service |
4684c1 |
gsub(/</, "\\<", codeline)
|
|
Packit Service |
4684c1 |
gsub(/>/, "\\>", codeline)
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print codeline
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
close(fname nfun "_fn.txt")
|
|
Packit Service |
4684c1 |
system("rm " "'" fname "'" nfun "_fn.txt")
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_global_stats ()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "Summary "
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Total number of functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Total number of functions"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_of_functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Number of simple functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Number of low risk functions"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_of_simple_functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Number of moderate functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Number of moderate risk functions"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_of_moderate_functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Number of high functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Number of high risk functions"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_of_high_functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Number of untestable functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Number of untestable functions"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print num_of_untestable_functions
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function html_function_cyclo ()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "Details for all functions "
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Cyclomatic Complexity"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Risk Evaluation"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Simple
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "0 - " cyclo_simple_max
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Simple module, without much risk"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Moderate
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print cyclo_simple_max + 1 " - " cyclo_moderate_max
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "More complex module, moderate risk"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# High
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print cyclo_moderate_max + 1 " - " cyclo_high_max
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Complex module, high risk"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
# Untestable
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "greater than " cyclo_high_max
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print "Untestable module, very high risk"
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print " "
|
|
Packit Service |
4684c1 |
html_fnc_table_complete("")
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_global_stats ()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "{| class=\"cyclo_summary_table\""
|
|
Packit Service |
4684c1 |
# Total number of functions
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_header_entry\" | Total number of functions"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_number_entry\" |" num_of_functions
|
|
Packit Service |
4684c1 |
# Number of simple functions
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_header_entry\" | Number of low risk functions"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_number_entry\" |" num_of_simple_functions
|
|
Packit Service |
4684c1 |
# Number of moderate functions
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_header_entry\" | Number of moderate risk functions"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_number_entry\" |" num_of_moderate_functions
|
|
Packit Service |
4684c1 |
# Number of high functions
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_header_entry\" | Number of high risk functions"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_number_entry\" |" num_of_high_functions
|
|
Packit Service |
4684c1 |
# Number of untestable functions
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_header_entry\" | Number of untestable functions"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_summary_number_entry\" |" num_of_untestable_functions
|
|
Packit Service |
4684c1 |
print "|}"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_function_cyclo ()
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "==Details for all functions=="
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print "Used ranges:"
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print "{| class =\"cyclo_ranges_table\""
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_header_entry\" | "
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_header_entry\" | Cyclomatic Complexity"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_header_entry\" | Risk Evaluation"
|
|
Packit Service |
4684c1 |
# Simple
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry_simple\" | "
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" | 0 - " cyclo_simple_max
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" | Simple module, without much risk"
|
|
Packit Service |
4684c1 |
# Moderate
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry_moderate\" | "
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" |" cyclo_simple_max + 1 " - " cyclo_moderate_max
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" | More complex module, moderate risk"
|
|
Packit Service |
4684c1 |
# High
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry_high\" | "
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" |" cyclo_moderate_max + 1 " - " cyclo_high_max
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" | Complex module, high risk"
|
|
Packit Service |
4684c1 |
# Untestable
|
|
Packit Service |
4684c1 |
print "|-"
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry_untestable\" | "
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" | greater than " cyclo_high_max
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_ranges_entry\" | Untestable module, very high risk"
|
|
Packit Service |
4684c1 |
print "|}"
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
print ""
|
|
Packit Service |
4684c1 |
wiki_fnc_table_complete("")
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_fnc_table_complete (caption)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
wiki_fnc_table(caption, 1, 1, 0, 1, 1, 0, 1)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_fnc_table_abbrev (caption)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
wiki_fnc_table(caption, 1, 0, 0, 0, 0, 0, 0)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_fnc_table (caption,
|
|
Packit Service |
4684c1 |
fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "{| width=\"90%\" class=\"cyclo_function_table\" cellpadding=\"0\" cellspacing=\"0\">"
|
|
Packit Service |
4684c1 |
if (caption != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "|+" caption
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
wiki_fnc_header(fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
for (nfnc = 1; nfnc <= nfuncs; nfnc++)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
wiki_fnc(nfnc,
|
|
Packit Service |
4684c1 |
fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
print "|}"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_fnc_header (fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
if (fname_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Function name
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | Function Name"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (mcyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Modified cyclo
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | Modified Cyclo"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (cyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Cyclo
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | Cyclomatic Complexity"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_statements_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | Number of Statements"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_lines_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | Number of Lines"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (first_line_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | First Line"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "! class=\"cyclo_function_table_header_entry\" | Source File"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
function wiki_fnc (nfnc,
|
|
Packit Service |
4684c1 |
fname_p,
|
|
Packit Service |
4684c1 |
mcyclo_p,
|
|
Packit Service |
4684c1 |
cyclo_p,
|
|
Packit Service |
4684c1 |
num_statements_p,
|
|
Packit Service |
4684c1 |
num_lines_p,
|
|
Packit Service |
4684c1 |
first_line_p,
|
|
Packit Service |
4684c1 |
file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
fname = fnames[nfnc]
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Function name
|
|
Packit Service |
4684c1 |
trclass = "cyclo_function_entry_simple"
|
|
Packit Service |
4684c1 |
if (mcyclo[nfnc] > cyclo_high_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
trclass="cyclo_function_entry_untestable"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else if (mcyclo[nfnc] > cyclo_moderate_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
trclass="cyclo_function_entry_high"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
else if (mcyclo[nfnc] > cyclo_simple_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
trclass="cyclo_function_entry_moderate"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
print "|- class=\"" trclass "\""
|
|
Packit Service |
4684c1 |
if (fname_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_name\" |" fname
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (mcyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Modified cyclo
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_cyclo\" |" mcyclo[nfnc]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (cyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Cyclo
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_cyclo\" |" cyclo[nfnc]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_statements_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Number of statements
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_number\" |" num_statements[nfnc]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (num_lines_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Number of lines
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_number\" |" num_lines[nfnc]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (first_line_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# First line
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_number\" |" first_line[nfnc]
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (file_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
href = ""
|
|
Packit Service |
4684c1 |
if (source_file_link_tmpl != "")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Get href target
|
|
Packit Service |
4684c1 |
href = source_file_link_tmpl
|
|
Packit Service |
4684c1 |
sub(/%FILENAME%/, file[nfnc], href)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Source file
|
|
Packit Service |
4684c1 |
print "| class=\"cyclo_function_entry_filename\" |" \
|
|
Packit Service |
4684c1 |
((href != "") ? "[" href " " file[nfnc] "]" : "[" file[nfnc] "]")
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Scan data from a line
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
function_name = $7
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
nfuncs++;
|
|
Packit Service |
4684c1 |
fnames[nfuncs] = function_name
|
|
Packit Service |
4684c1 |
mcyclo[nfuncs] = $1
|
|
Packit Service |
4684c1 |
cyclo[nfuncs] = $2
|
|
Packit Service |
4684c1 |
num_statements[nfuncs] = $3
|
|
Packit Service |
4684c1 |
first_line[nfuncs] = $4
|
|
Packit Service |
4684c1 |
num_lines[nfuncs] = $5
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Build the filename from the file_spec ($6)
|
|
Packit Service |
4684c1 |
begin_util_path = index($6, cut_dir)
|
|
Packit Service |
4684c1 |
tmpfilename = substr($6, begin_util_path + length(cut_dir))
|
|
Packit Service |
4684c1 |
sub(/\([0-9]+\):/, "", tmpfilename)
|
|
Packit Service |
4684c1 |
file[nfuncs] = tmpfilename
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (mcyclo[nfuncs] > cyclo_simple_max)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
# Extract function contents to a fn_txt file
|
|
Packit Service |
4684c1 |
filepath = $6
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
sub(/\([0-9]+\):/, "", filepath)
|
|
Packit Service |
4684c1 |
num_line = 0
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
while ((getline codeline < filepath) > 0)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
num_line++;
|
|
Packit Service |
4684c1 |
if ((num_line >= first_line[nfuncs]) &&
|
|
Packit Service |
4684c1 |
(num_line < first_line[nfuncs] + num_lines[nfuncs]))
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print codeline > (function_name nfuncs "_fn.txt")
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
close (function_name nfuncs "_fn.txt")
|
|
Packit Service |
4684c1 |
close(filepath)
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Initial values for statistics variables
|
|
Packit Service |
4684c1 |
num_of_functions = 0
|
|
Packit Service |
4684c1 |
max_mcyclo = 0
|
|
Packit Service |
4684c1 |
max_function_length = 0
|
|
Packit Service |
4684c1 |
num_of_simple_functions = 0
|
|
Packit Service |
4684c1 |
num_of_moderate_functions = 0
|
|
Packit Service |
4684c1 |
num_of_high_functions = 0
|
|
Packit Service |
4684c1 |
num_of_untestable_functions = 0
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Epilogue
|
|
Packit Service |
4684c1 |
END {
|
|
Packit Service |
4684c1 |
# Print header (only for html)
|
|
Packit Service |
4684c1 |
if (output_lang == "html")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_header()
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Print prolog
|
|
Packit Service |
4684c1 |
if ((output_lang == "html") &&
|
|
Packit Service |
4684c1 |
(html_prolog != ""))
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print html_prolog
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if ((output_lang == "wiki") &&
|
|
Packit Service |
4684c1 |
(wiki_prolog != ""))
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print wiki_prolog
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (output_lang == "html")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "" package_name " Cyclomatic Complexity Report "
|
|
Packit Service |
4684c1 |
print "Report generated at: " chronos_time " "
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (output_lang == "wiki")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print "==" package_name " Cyclomatic Complexity Report=="
|
|
Packit Service |
4684c1 |
print "Report generated at: '''" chronos_time "'''"
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (section_global_stats_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
build_stats()
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
if (output_lang == "html")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_global_stats()
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (output_lang == "wiki")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
wiki_global_stats()
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (section_function_cyclo_p)
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
if (output_lang == "html")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_function_cyclo()
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if (output_lang == "wiki")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
wiki_function_cyclo()
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Print epilog
|
|
Packit Service |
4684c1 |
if ((output_lang == "html") &&
|
|
Packit Service |
4684c1 |
(html_epilog != ""))
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print html_epilog
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
if ((output_lang == "wiki") &&
|
|
Packit Service |
4684c1 |
(wiki_epilog != ""))
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
print wiki_epilog
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# Print footer (html only)
|
|
Packit Service |
4684c1 |
if (output_lang == "html")
|
|
Packit Service |
4684c1 |
{
|
|
Packit Service |
4684c1 |
html_footer()
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
}
|
|
Packit Service |
4684c1 |
|
|
Packit Service |
4684c1 |
# End of pmccabe2html
|