summaryrefslogtreecommitdiffstats
path: root/doc/posix1003.1/summarize
diff options
context:
space:
mode:
Diffstat (limited to 'doc/posix1003.1/summarize')
-rwxr-xr-xdoc/posix1003.1/summarize202
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}
+
+
+