# test execution control (break, next, step) and inferior calls
# when stopped on these events
+prereq: test -e gdb
prog: t
vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcbreak
stdout_filter: filter_gdb
# test cleanup of break and watchpoints after fork
+prereq: test -e gdb
prog: clean_after_fork
vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcclean_after_fork
stderr_filter: filter_memcheck_monitor
# test the memcheck monitor help
+prereq: test -e gdb
prog: t
vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mchelp
stdout_filter: filter_make_empty
# but no way to check that this is effectively in the 4 different threads.
stderr_filter: filter_gdb
# Disable on Darwin: inferior call rejected as it cannot find malloc.
-prereq: ../tests/os_test linux
+prereq: test -e gdb && ../tests/os_test linux
progB: gdb
argsB: --quiet -l 60 --nx ./sleepers
stdinB: mcinfcallRU.stdinB.gdb
args: 100 100000000 1000000000 -S-S-SB-
vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcinfcallWSRU
# Disable on Darwin: inferior call rejected as it cannot find malloc.
-prereq: ../tests/os_test linux
+prereq: test -e gdb && ../tests/os_test linux
# filter_gdb to replace pid and Thread numbers.
stderr_filter: filter_gdb
progB: gdb
vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeRU
stderr_filter: filter_make_empty
# as the Valgrind process is always busy, we do not need the vgdb.ptraceinvoker prereq.
+prereq: test -e gdb
progB: invoker
argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeRU --wait=60 -c vg.wait 0
# if the --wait is not enough, the test will fail or block.
args: 1 10000000 0 -S-S-S-S
vgopts: --tool=memcheck --vgdb=yes --vgdb-prefix=./vgdb-prefix-mcinvokeWS
stderr_filter: filter_make_empty
-prereq: test -f vgdb.ptraceinvoker
+prereq: test -e gdb -a -f vgdb.ptraceinvoker
progB: invoker
argsB: 10 --vgdb-prefix=./vgdb-prefix-mcinvokeWS --wait=60 -c vg.wait 0
# if the --wait is not enough, the test will fail or block
prog: ../memcheck/tests/leak-delta
vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcleak -q --leak-check=yes --show-reachable=yes --leak-resolution=high
# temorarily disabled, waiting for leak-delta test program (next patch)
-prereq: test -x ../memcheck/tests/leak-delta
+prereq: test -e gdb -a -x ../memcheck/tests/leak-delta
stdout_filter: filter_memcheck_monitor
stderr_filter: filter_memcheck_monitor
progB: gdb
# faultstatus C code will report a failure for the signal not passed
# (i.e. SIGBUG, Test 3). Other tests will be succesful, because signals
# are eventually passed.
+prereq: test -e gdb
prog: ../none/tests/faultstatus
vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass
stderr_filter: filter_memcheck_monitor
# test the signal handling, when signals are passed to the Valgrind guest.
+prereq: test -e gdb
prog: ../none/tests/faultstatus
vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass
stderr_filter: filter_memcheck_monitor
# test the memcheck V and A bits monitor functionality
+prereq: test -e gdb
prog: t
vgopts: --tool=memcheck --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcvabits
stdout_filter: filter_make_empty
# test the memcheck watchpoint functionality
# Note: we need --vgdb=full to stop at the instruction following the watchpoint.
+prereq: test -e gdb
prog: watchpoints
vgopts: --tool=memcheck --vgdb=full --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcwatchpoints
stdout_filter: filter_make_empty
# test the memcheck monitor help
+prereq: test -e gdb
prog: t
vgopts: --tool=massif --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mssnapshot
stdout_filter: filter_make_empty
args: 1000000000 1000000000 1000000000 BSBSBSBS
vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc
stderr_filter: filter_stderr
-prereq: test -f vgdb.ptraceinvoker
+prereq: test -e gdb -a -f vgdb.ptraceinvoker
progB: gdb
argsB: --quiet -l 60 --nx ./sleepers
stdinB: nlcontrolc.stdinB.gdb