xfstests 228: suppress core dump message
authorEric Sandeen <sandeen@sandeen.net>
Fri, 20 Aug 2010 19:27:07 +0000 (14:27 -0500)
committerEric Sandeen <sandeen@sandeen.net>
Fri, 20 Aug 2010 19:27:07 +0000 (14:27 -0500)
When running 228 with abrt on in rhel6, I was getting different
output due to a (core dumped) message on SIGXFSZ.  For some reason
I wasn't able to use sed to filter it, and just ulimit -c 0 didn't
suppress it either.

abrt sets the core pattern to:

"|/usr/libexec/abrt-hook-ccpp /var/spool/abrt %p %s %u %c""

which apparently allows core dumps even if ulimit -c is 0, due
to the pipe.

Temporarily changing the kernel's core pattern to just plain "core"
and setting ulimit -c to 0 does suppress it.  These are reset to
original values after the test is run.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
228

diff --git a/228 b/228
index 0b6e588148dd9643fdb96599aeb22be9d85560c8..fa230b0732450181e42f220246ce21b32ece61bb 100755 (executable)
--- a/228
+++ b/228
@@ -31,6 +31,8 @@ _cleanup()
 {
        cd /
        rm -f $tmp.*
+       sysctl -w kernel.core_pattern="$core_pattern" &>/dev/null
+       ulimit -c $ulimit_c
 }
 
 here=`pwd`
@@ -58,6 +60,12 @@ _require_xfs_io_falloc
 avail=`df -P $TEST_DIR | awk 'END {print $4}'`
 [ "$avail" -ge 104000 ] || _notrun "Test device is too small ($avail KiB)"
 
+# Suppress core dumped messages
+core_pattern=`sysctl kernel.core_pattern | awk -F = '{print $NF}'`
+ulimit_c=`ulimit -c`
+sysctl -w kernel.core_pattern=core &>/dev/null
+ulimit -c 0
+
 # Set the FSIZE ulimit to 100MB and check
 ulimit -f 102400
 flim=`ulimit -f`