summaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/check
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2013-05-27 15:28:51 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2013-05-29 08:16:06 -0500
commit04129606170ec9011d4952b4f22c368679bedbf9 (patch)
treea53f3ba8fe43f2c52d0538240ee6332313afb427 /tests/qemu-iotests/check
parentdafb82e0fc89b631d25f8def649fbfd14fec3db2 (diff)
downloadqemu-04129606170ec9011d4952b4f22c368679bedbf9.tar.gz
tests: set MALLOC_PERTURB_ to expose memory bugs
glibc wipes malloc(3) memory when the MALLOC_PERTURB_ environment variable is set. The value of the environment variable determines the bit pattern used to wipe memory. For more information, see http://udrepper.livejournal.com/11429.html. Set MALLOC_PERTURB_ for gtester and qemu-iotests. Note we pick a random value from 1 to 255 to expose more bugs. If you need to reproduce a crash use 'show environment' in gdb to extract the MALLOC_PERTURB_ value from a core dump. Both make check and qemu-iotests pass with MALLOC_PERTURB_ enabled. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 1369661331-28041-1-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'tests/qemu-iotests/check')
-rwxr-xr-xtests/qemu-iotests/check3
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
index 432732cfc3..74628ae637 100755
--- a/tests/qemu-iotests/check
+++ b/tests/qemu-iotests/check
@@ -214,7 +214,8 @@ do
start=`_wallclock`
$timestamp && echo -n " ["`date "+%T"`"]"
[ ! -x $seq ] && chmod u+x $seq # ensure we can run it
- ./$seq >$tmp.out 2>&1
+ MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \
+ ./$seq >$tmp.out 2>&1
sts=$?
$timestamp && _timestamp
stop=`_wallclock`