mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
<corsepiu@faw.uni-ulm.de> that makes the following changes: * Don't use a temporary file for ch19.texi anymore * pass all files to be handled by summarize as commandline arguments * Remove a dangling empty first line in posix1003_1.texi (texi2html (!) expects \input texinfo on the first line)
203 lines
5.8 KiB
Bash
Executable File
203 lines
5.8 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# Generate the summary chapter
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
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}
|
|
|
|
|
|
|