Files
rtems/doc/posix1003.1/summarize
Joel Sherrill 65c6425de9 Remove CVS Id Strings (manual edits after script)
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.
2012-05-11 08:44:14 -05:00

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}