blob: c60ce3a6d9f4071a63f6e686be87cefc359ab3df (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
#! /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
# takes at least 3.0 inches for each generated section
echo "@need 3000"
if [ $# -eq 1 ] ; then
grep "^@chapter" $1 | \
sed -e "s/^.chapter/@section/" \
-e "s/$/ Chapter/"
else
echo "@section Overall Summary"
fi
echo
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}`
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_sum=`addit ${datatypes_implemented} \
${datatypes_unimplemented} ${datatypes_unmplementable} \
${datatypes_partial} ${datatypes_dummy} \
${datatypes_untested}`
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"
echo "@center{@b{FUNCTION COUNTS DO NOT ADD UP!!}}"
echo "@sp"
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 "@end example"
echo
if [ ${datatypes_sum} -ne ${datatypes_total} ] ; then
echo "@sp"
echo "@center{@b{DATA TYPE COUNTS DO NOT ADD UP!!}}"
echo "@sp"
fi
}
chapters="ch01.t ch02.t ch03.t ch04.t ch05.t ch06.t ch07.t ch08.t \
ch09.t ch10.t ch11.t ch12.t ch13.t ch14.t ch15.t ch16.t ch17.t ch18.t"
# go through the chapters one at a time
for chapter in ${chapters}
do
summarize_chapter $chapter
done
# now generate the overall summary
summarize_chapter ${chapters}
|