diff options
Diffstat (limited to 'doc/posix1003.1/summarize')
-rwxr-xr-x | doc/posix1003.1/summarize | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/doc/posix1003.1/summarize b/doc/posix1003.1/summarize new file mode 100755 index 0000000000..a092b4a71c --- /dev/null +++ b/doc/posix1003.1/summarize @@ -0,0 +1,202 @@ +#! /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} + + + |