diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2016-11-07 21:22:47 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2016-11-07 21:22:47 +0200 |
commit | e331f49edafc56bf8f32cc82adacd6c109666ad1 (patch) | |
tree | f345bd919a0e36e4342e547c06e05ef1a3ecf530 /test/valgrind.awk | |
parent | e886bf34a4e42095824a2b14c40cb19efa80390f (diff) | |
download | egawk-e331f49edafc56bf8f32cc82adacd6c109666ad1.tar.gz egawk-e331f49edafc56bf8f32cc82adacd6c109666ad1.tar.bz2 egawk-e331f49edafc56bf8f32cc82adacd6c109666ad1.zip |
Improve valgrind scan.
Diffstat (limited to 'test/valgrind.awk')
-rw-r--r-- | test/valgrind.awk | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/valgrind.awk b/test/valgrind.awk new file mode 100644 index 00000000..95699da1 --- /dev/null +++ b/test/valgrind.awk @@ -0,0 +1,43 @@ +function show() +{ + error_count++ + if (cmd) { + printf "%s: %s\n", FILENAME, cmd + cmd = "" + } + printf "\t%s\n",$0 +} + +FNR == 1 { + error_count = 0 +} + +{ $1 = "" } + +$2 == "Command:" { + incmd = 1 + $2 = "" + cmd = $0 + next +} + +incmd { + if (/Parent PID:/) + incmd = 0 + else { + cmd = (cmd $0) + next + } +} + +/ERROR SUMMARY:/ && !/: 0 errors from 0 contexts/ && error_count > 0 { + show() +} + +/definitely lost:/ && !/: 0 bytes in 0 blocks/ { show() } + +# /possibly lost:/ && !/: 0 bytes in 0 blocks/ { show() } + +# / suppressed:/ && !/: 0 bytes in 0 blocks/ { show() } + +/[Ii]nvalid (read|write)/ { show() } |