Last change
on this file since 2213 was 2213, checked in by Bruno Cornec, 16 years ago |
r3093@localhost: bruno | 2009-05-29 15:27:17 +0200
Port the quality tool from trunk to 2.2.9 for memory management improvement
|
-
Property svn:executable
set to
*
|
File size:
1.5 KB
|
Line | |
---|
1 | #!/bin/bash
|
---|
2 | #
|
---|
3 | # $Id$
|
---|
4 | #
|
---|
5 | # Mesures quality improvement of mondorescue project
|
---|
6 | #
|
---|
7 |
|
---|
8 | # Adapt to your needs
|
---|
9 | dname=`dirname $0`
|
---|
10 | prem=`echo $dname |cut -c1`
|
---|
11 | if [ ${prem} == "/" ]; then
|
---|
12 | export TOOLHOME=$dname
|
---|
13 | else
|
---|
14 | export TOOLHOME=${PWD}/$dname
|
---|
15 | fi
|
---|
16 |
|
---|
17 | d=$TOOLHOME/..
|
---|
18 |
|
---|
19 | if [ $# -gt 0 ]; then
|
---|
20 | if [ -d $1 ]; then
|
---|
21 | d=$1
|
---|
22 | fi
|
---|
23 | fi
|
---|
24 |
|
---|
25 | echo "Working on $d"
|
---|
26 | echo " "
|
---|
27 | cd $d
|
---|
28 |
|
---|
29 | # How many sprintf/strcat/strcpy vs asprintf are they
|
---|
30 | for s in asprintf mr_asprintf sprintf strcat strcpy strncpy fgets malloc mr_malloc malloc_string getline mr_getline MAX_STR_LEN getcwd goto free mr_free paranoid_free; do
|
---|
31 | echo "monodrescue $s usage : "
|
---|
32 | tot=0
|
---|
33 | for i in `find . -name '*.c' -o -name '*.h' | egrep -v '\.svn|/\*|monitas|mindi-busybox' | xargs grep -r -c -w $s | egrep -v ":0$"`; do
|
---|
34 | echo " === $i"
|
---|
35 | ((tot=$tot+`echo $i | cut -d: -f2`))
|
---|
36 | done
|
---|
37 | echo "total $s usage : $tot"
|
---|
38 | done
|
---|
39 |
|
---|
40 | echo " "
|
---|
41 | echo "Qualimetry: "
|
---|
42 | find . -name '*.c' -o -name '*.h' | egrep -v '\.svn|/\*|monitas|/\*|mindi-busybox' | xargs grep -rw asprintf | egrep -v '/\*' | egrep -v 'asprintf\(&' > /tmp/mondo.quality
|
---|
43 | cat /tmp/mondo.quality
|
---|
44 | echo "monodrescue uses : `cat /tmp/mondo.quality | wc -l` asprintf without &"
|
---|
45 | find . -name '*.c' -o -name '*.h' | egrep -v '\.svn|/\*|monitas|/\*|mindi-busybox' | xargs grep -rw getline | egrep -v '/\*' | egrep -v 'getline\(&' > /tmp/mondo.quality
|
---|
46 | cat /tmp/mondo.quality
|
---|
47 | echo "monodrescue uses : `cat /tmp/mondo.quality | wc -l` getline without &"
|
---|
48 |
|
---|
49 | echo " "
|
---|
50 | echo "Splint: "
|
---|
51 | find . -name '*.c' -o -name '*.h' | xargs splint +posixlib -Dlinux
|
---|
52 |
|
---|
53 | rm -f /tmp/mondo.quality
|
---|
Note:
See
TracBrowser
for help on using the repository browser.