forked from Imagelibrary/rtems
These modifications were required by hand after running the script. In some cases, the file names did not match patterns. In others, the format of the file did not match any common patterns.
201 lines
5.8 KiB
Bash
Executable File
201 lines
5.8 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# Generate the summary chapter
|
|
#
|
|
|
|
echo "@c"
|
|
echo "@c DO NOT EDIT -- AUTOMATICALLY GENERATED!!!"
|
|
echo "@c"
|
|
echo
|
|
echo "@chapter Compliance Summary"
|
|
echo
|
|
|
|
wc2()
|
|
{
|
|
pattern=$1
|
|
shift
|
|
grep "${pattern}" $* | wc -l
|
|
}
|
|
|
|
wc3()
|
|
{
|
|
pattern=$1
|
|
filter=$2
|
|
shift ; shift
|
|
grep "${pattern}" $* | grep "${filter}" | wc -l
|
|
}
|
|
|
|
# adds the numbers passed on the command line
|
|
addit()
|
|
{
|
|
sumx=0
|
|
for x in $*
|
|
do
|
|
sumx=`expr $sumx + $x`
|
|
done
|
|
echo $sumx
|
|
}
|
|
|
|
summarize_chapter()
|
|
{
|
|
echo
|
|
if [ $# -eq 1 ] ; then
|
|
grep "^@chapter" $1 | \
|
|
sed -e "s/^.chapter/@section/" \
|
|
-e "s/$/ Chapter/"
|
|
else
|
|
echo "@section Overall Summary"
|
|
fi
|
|
|
|
echo
|
|
|
|
# functions
|
|
|
|
functions_total=`wc2 "()" $*`
|
|
functions_implemented=` wc3 "()" "Implemented" $*`
|
|
functions_unimplemented=` wc3 "()" "Unimplemented" $*`
|
|
functions_unmplementable=`wc3 "()" "Unimplementable" $*`
|
|
functions_partial=` wc3 "()" "Partial Implementation" $*`
|
|
functions_dummy=` wc3 "()" "Dummy Implementation" $*`
|
|
functions_untested=` wc3 "()" "Untested Implementation" $*`
|
|
|
|
functions_sum=`addit ${functions_implemented} \
|
|
${functions_unimplemented} ${functions_unmplementable} \
|
|
${functions_partial} ${functions_dummy} \
|
|
${functions_untested}`
|
|
|
|
# data types
|
|
|
|
datatypes_total=`wc2 "Type," $*`
|
|
datatypes_implemented=` wc3 "Type," "Implemented" $*`
|
|
datatypes_unimplemented=` wc3 "Type," "Unimplemented" $*`
|
|
datatypes_unmplementable=`wc3 "Type," "Unimplementable" $*`
|
|
datatypes_partial=` wc3 "Type," "Partial Implementation" $*`
|
|
datatypes_dummy=` wc3 "Type," "Dummy Implementation" $*`
|
|
datatypes_untested=` wc3 "Type," "Untested Implementation" $*`
|
|
|
|
datatypes_sum=`addit ${datatypes_implemented} \
|
|
${datatypes_unimplemented} ${datatypes_unmplementable} \
|
|
${datatypes_partial} ${datatypes_dummy} \
|
|
${datatypes_untested}`
|
|
|
|
# feature flags
|
|
|
|
features_total=`wc2 "Feature Flag," $*`
|
|
features_implemented=` wc3 "Feature Flag," "Implemented" $*`
|
|
features_unimplemented=` wc3 "Feature Flag," "Unimplemented" $*`
|
|
features_unmplementable=`wc3 "Feature Flag," "Unimplementable" $*`
|
|
features_partial=` wc3 "Feature Flag," "Partial Implementation" $*`
|
|
features_dummy=` wc3 "Feature Flag," "Dummy Implementation" $*`
|
|
features_untested=` wc3 "Feature Flag," "Untested Implementation" $*`
|
|
|
|
features_sum=`addit ${features_implemented} \
|
|
${features_unimplemented} ${features_unmplementable} \
|
|
${features_partial} ${features_dummy} \
|
|
${features_untested}`
|
|
|
|
# constants
|
|
|
|
constants_total=`wc2 "Constant," $*`
|
|
constants_implemented=` wc3 "Constant," "Implemented" $*`
|
|
constants_unimplemented=` wc3 "Constant," "Unimplemented" $*`
|
|
constants_unmplementable=`wc3 "Constant," "Unimplementable" $*`
|
|
constants_partial=` wc3 "Constant," "Partial Implementation" $*`
|
|
constants_dummy=` wc3 "Constant," "Dummy Implementation" $*`
|
|
constants_untested=` wc3 "Constant," "Untested Implementation" $*`
|
|
|
|
constants_sum=`addit ${constants_implemented} \
|
|
${constants_unimplemented} ${constants_unmplementable} \
|
|
${constants_partial} ${constants_dummy} \
|
|
${constants_untested}`
|
|
|
|
# Now print the reports
|
|
|
|
echo "@example"
|
|
echo "Functions:"
|
|
echo " Total Number : ${functions_total}"
|
|
echo " Implemented : ${functions_implemented}"
|
|
echo " Unimplemented : ${functions_unimplemented}"
|
|
echo " Unimplementable : ${functions_unmplementable}"
|
|
echo " Partial : ${functions_partial}"
|
|
echo " Dummy : ${functions_dummy}"
|
|
echo " Untested : ${functions_untested}"
|
|
echo "@end example"
|
|
echo
|
|
if [ ${functions_sum} -ne ${functions_total} ] ; then
|
|
echo "@sp 1"
|
|
echo "@center @b{FUNCTION COUNTS DO NOT ADD UP!!}"
|
|
echo "@sp 1"
|
|
fi
|
|
|
|
echo "@example"
|
|
echo "Data Types:"
|
|
echo " Total Number : ${datatypes_total}"
|
|
echo " Implemented : ${datatypes_implemented}"
|
|
echo " Unimplemented : ${datatypes_unimplemented}"
|
|
echo " Unimplementable : ${datatypes_unmplementable}"
|
|
echo " Partial : ${datatypes_partial}"
|
|
echo " Dummy : ${datatypes_dummy}"
|
|
echo " Untested : ${datatypes_untested}"
|
|
echo "@end example"
|
|
echo
|
|
if [ ${datatypes_sum} -ne ${datatypes_total} ] ; then
|
|
echo "@sp 1"
|
|
echo "@center @b{DATA TYPE COUNTS DO NOT ADD UP!!}"
|
|
echo "@sp 1"
|
|
fi
|
|
|
|
echo "@example"
|
|
echo "Feature Flags:"
|
|
echo " Total Number : ${features_total}"
|
|
echo " Implemented : ${features_implemented}"
|
|
echo " Unimplemented : ${features_unimplemented}"
|
|
echo " Unimplementable : ${features_unmplementable}"
|
|
echo " Partial : ${features_partial}"
|
|
echo " Dummy : ${features_dummy}"
|
|
echo " Untested : ${features_untested}"
|
|
echo "@end example"
|
|
echo
|
|
if [ ${features_sum} -ne ${features_total} ] ; then
|
|
echo "@sp 1"
|
|
echo "@center @b{FEATURE FLAG COUNTS DO NOT ADD UP!!}"
|
|
echo "@sp 1"
|
|
fi
|
|
|
|
echo "@example"
|
|
echo "Constants:"
|
|
echo " Total Number : ${constants_total}"
|
|
echo " Implemented : ${constants_implemented}"
|
|
echo " Unimplemented : ${constants_unimplemented}"
|
|
echo " Unimplementable : ${constants_unmplementable}"
|
|
echo " Partial : ${constants_partial}"
|
|
echo " Dummy : ${constants_dummy}"
|
|
echo " Untested : ${constants_untested}"
|
|
echo "@end example"
|
|
echo
|
|
if [ ${constants_sum} -ne ${constants_total} ] ; then
|
|
echo "@sp 1"
|
|
echo "@center @b{CONSTANT COUNTS DO NOT ADD UP!!}"
|
|
echo "@sp 1"
|
|
fi
|
|
}
|
|
|
|
if test $# -lt 1; then
|
|
echo "Missing arguments"
|
|
exit 1
|
|
fi
|
|
chapters="$*"
|
|
|
|
# go through the chapters one at a time
|
|
for chapter in ${chapters}
|
|
do
|
|
summarize_chapter $chapter
|
|
echo "@page"
|
|
done
|
|
|
|
# now generate the overall summary
|
|
summarize_chapter ${chapters}
|
|
|
|
|
|
|