svn rev #21810: trunk/src/util/

raeburn@MIT.EDU raeburn at MIT.EDU
Tue Jan 27 18:14:36 EST 2009


http://src.mit.edu/fisheye/changelog/krb5/?cs=21810
Commit By: raeburn
Log Message:
Helper script for processing valgrind logs that don't indicate any errors, or are for system programs.


Changed Files:
A   trunk/src/util/trim-valgrind-logs
Added: trunk/src/util/trim-valgrind-logs
===================================================================
--- trunk/src/util/trim-valgrind-logs	2009-01-27 22:00:15 UTC (rev 21809)
+++ trunk/src/util/trim-valgrind-logs	2009-01-27 23:14:35 UTC (rev 21810)
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+files=vg.*
+
+logname() {
+#	sed -n -e 7p $1 | awk '{print $2}'
+#	head -7 $1 | tail -1 | awk '{print $2}'
+	awk '{ if (NR == 9) { print $2; exit 0; } }' $1
+}
+
+show_names() {
+	if test "$*" = "$files" ; then
+		return
+	fi
+	for f in $* ; do
+		echo $f : `logname $f`
+	done
+}
+
+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"
+discard_list="$discard_list tcsh tokens"
+#discard_list="$discard_list ./rtest ./dbtest"
+# The t_inetd program's logs seem to always wind up incomplete for some
+# reason.  It's also not terribly important.
+discard_list="$discard_list /path/to/.../t_inetd"
+
+filter() {
+	if test "$*" = "$files" ; then
+		return
+	fi
+	for f in $* ; do
+		n=`logname $f`
+		for d in $discard_list; do
+			if test "$n" = "$d"; then
+				echo rm $f : $n
+				rm $f
+				break
+			fi
+		done
+	done
+}
+
+kill_error_free_logs() {
+	if test "$*" = "$files" ; then
+		return
+	fi
+	grep -l "ERROR SUMMARY: 0 errors" $* | while read name ; do
+		echo rm $name : no errors in `logname $name`
+		rm $name
+	done
+}
+
+kill_no_leak_logs() {
+	if test "$*" = "$files" ; then
+	    return
+	fi
+	grep -l "ERROR SUMMARY: 0 errors" $* | \
+	    grep -l "definitely lost: 0 bytes" $* | \
+	    xargs grep -l "possibly lost: 0 bytes" | \
+	    xargs grep -l "still reachable: 0 bytes in 0 blocks" | \
+	    while read name ; do
+	    echo rm $name : no leaks or errors in `logname $name`
+	    rm $name
+	done
+}
+
+filter $files
+kill_error_free_logs $files
+#kill_no_leak_logs $files
+echo Remaining files:
+show_names $files


Property changes on: trunk/src/util/trim-valgrind-logs
___________________________________________________________________
Name: svn:executable
   + *




More information about the cvs-krb5 mailing list