blob: 2871167d60ca49d0fc4dc40b79024a214f24c5d3 [file] [log] [blame]
# **********************************************************
# Copyright (c) 2010-2017 Google, Inc. All rights reserved.
# Copyright (c) 2009-2010 VMware, Inc. All rights reserved.
# **********************************************************
#
# Dr. Memory: the memory debugger
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation;
# version 2.1 of the License, and no later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# we rely on suppress-gen* tests to test mod+offs suppressions:
# that's too flaky on different builds for this test
# uninitialized read: plain
UNINITIALIZED READ
name=uninit_test1 plain
suppress!do_uninit_read
suppress!uninit_test1
suppress!test
suppress!main
# uninitialized read: middle-of-symbol wildcard
UNINITIALIZED READ
name=uninit_test2 *
suppress!do_u*t_read
suppress!uninit_test2
suppress!test
suppress!main
# uninitialized read: valgrind-style
{
uninit_test3_plain
Memcheck:Value1
fun:do_uninit_read
fun:unin*_test3
fun:test
obj:suppre?s
}
# uninitialized read: top frames based mod!func suppression
UNINITIALIZED READ
name=uninit_test4 top
suppress!do_uninit_read
suppress!uninit_test4
# uninitialized read: vertical wildcard
UNINITIALIZED READ
name=uninit_test5 ... match 1
...
suppress!uninit_test5
# uninitialized read: vertical wildcard
UNINITIALIZED READ
name=uninit_test6 ... match 6
...
suppress!uninit_test6
# uninitialized read: vertical wildcard
UNINITIALIZED READ
name=uninit_test7 ... + ?
...
su??ress!unini??test7
# uninitialized read: two mod!...
UNINITIALIZED READ
name=mod_ellipsis_test two mod!...
suppress!...
libsuppress-mod-bar.so!...
suppress!call_into_bar
libsuppress-mod-foo.so!...
suppress!mod_ellipsis_test
#-------------------------------------------------------------------------------
# unaddressable access: plain, valgrind style w/ drmem type
{
unaddr_test1 plain
Dr.Memory:UNADDRESSABLE ACCESS
fun:unaddr_test1
fun:test
fun:main
}
UNADDRESSABLE ACCESS
name=unaddr_test2 *
s*s!unaddr_test2
suppress!test
suppress!main
# unaddressable access: full callstack based mod!func suppression
# also tests wildcard
UNADDRESSABLE ACCESS
name=unaddr_test3 instruction
instruction=mov (%*ax) -> %eax
suppress!unaddr_*3
supp*!test
# unaddressable access: top 2 frames based mod!func suppression
UNADDRESSABLE ACCESS
name=unaddr_test4 top
suppress!unaddr_test4
suppress!test
#-------------------------------------------------------------------------------
# leak: plain
LEAK
name=leak_test1 plain
suppress!leak_test1
suppress!test
suppress!main
# leak: wildcards
LEAK
name=leak_test2 *
suppress!l*2
*!test
suppress!m*
# leak: full callstack based mod!func suppression
LEAK
name=leak_test3 ?
suppress!leak_test3
suppress!test
suppress!main
# leak: top frame based mod!func suppression
LEAK
name=leak_test4 top
suppress!leak_test4
# possible leak: top frame based mod!func suppression
POSSIBLE LEAK
name=possible_leak_test1 top
suppress!possible_leak_test1
# possible leak: top frame based mod!func suppression
LEAK
name=possible_leak_test2 w/ leak supp
suppress!possible_leak_test2