Blame src/util/trim-valgrind-logs
|
Packit |
fd8b60 |
#!/bin/sh
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
files=vg.*
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
logname() {
|
|
Packit |
fd8b60 |
# sed -n -e 7p $1 | awk '{print $2}'
|
|
Packit |
fd8b60 |
# head -7 $1 | tail -1 | awk '{print $2}'
|
|
Packit |
fd8b60 |
awk '{ if (NR == 9) { print $2; exit 0; } }' $1
|
|
Packit |
fd8b60 |
}
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
show_names() {
|
|
Packit |
fd8b60 |
if test "$*" = "$files" ; then
|
|
Packit |
fd8b60 |
return
|
|
Packit |
fd8b60 |
fi
|
|
Packit |
fd8b60 |
for f in $* ; do
|
|
Packit |
fd8b60 |
echo $f : `logname $f`
|
|
Packit |
fd8b60 |
done
|
|
Packit |
fd8b60 |
}
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
discard_list="/bin/ps /bin/sh /bin/stty /usr/bin/cmp awk cat chmod cmp cp env expr find grep kill mv rev rlogin rm sed sh sleep sort tail test touch wc whoami xargs"
|
|
Packit |
fd8b60 |
discard_list="$discard_list tcsh tokens"
|
|
Packit |
fd8b60 |
#discard_list="$discard_list ./rtest ./dbtest"
|
|
Packit |
fd8b60 |
# The t_inetd program's logs seem to always wind up incomplete for some
|
|
Packit |
fd8b60 |
# reason. It's also not terribly important.
|
|
Packit |
fd8b60 |
discard_list="$discard_list /path/to/.../t_inetd"
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
filter() {
|
|
Packit |
fd8b60 |
if test "$*" = "$files" ; then
|
|
Packit |
fd8b60 |
return
|
|
Packit |
fd8b60 |
fi
|
|
Packit |
fd8b60 |
for f in $* ; do
|
|
Packit |
fd8b60 |
n=`logname $f`
|
|
Packit |
fd8b60 |
for d in $discard_list; do
|
|
Packit |
fd8b60 |
if test "$n" = "$d"; then
|
|
Packit |
fd8b60 |
echo rm $f : $n
|
|
Packit |
fd8b60 |
rm $f
|
|
Packit |
fd8b60 |
break
|
|
Packit |
fd8b60 |
fi
|
|
Packit |
fd8b60 |
done
|
|
Packit |
fd8b60 |
done
|
|
Packit |
fd8b60 |
}
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
kill_error_free_logs() {
|
|
Packit |
fd8b60 |
if test "$*" = "$files" ; then
|
|
Packit |
fd8b60 |
return
|
|
Packit |
fd8b60 |
fi
|
|
Packit |
fd8b60 |
grep -l "ERROR SUMMARY: 0 errors" $* | while read name ; do
|
|
Packit |
fd8b60 |
echo rm $name : no errors in `logname $name`
|
|
Packit |
fd8b60 |
rm $name
|
|
Packit |
fd8b60 |
done
|
|
Packit |
fd8b60 |
}
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
kill_no_leak_logs() {
|
|
Packit |
fd8b60 |
if test "$*" = "$files" ; then
|
|
Packit |
fd8b60 |
return
|
|
Packit |
fd8b60 |
fi
|
|
Packit |
fd8b60 |
grep -l "ERROR SUMMARY: 0 errors" $* | \
|
|
Packit |
fd8b60 |
grep -l "definitely lost: 0 bytes" $* | \
|
|
Packit |
fd8b60 |
xargs grep -l "possibly lost: 0 bytes" | \
|
|
Packit |
fd8b60 |
xargs grep -l "still reachable: 0 bytes in 0 blocks" | \
|
|
Packit |
fd8b60 |
while read name ; do
|
|
Packit |
fd8b60 |
echo rm $name : no leaks or errors in `logname $name`
|
|
Packit |
fd8b60 |
rm $name
|
|
Packit |
fd8b60 |
done
|
|
Packit |
fd8b60 |
}
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
filter $files
|
|
Packit |
fd8b60 |
kill_error_free_logs $files
|
|
Packit |
fd8b60 |
#kill_no_leak_logs $files
|
|
Packit |
fd8b60 |
echo Remaining files:
|
|
Packit |
fd8b60 |
show_names $files
|