Put gdb.base/bt-on-fatal-signal.exp GDB cores in output dir

I noticed that gdb.base/bt-on-fatal-signal.exp was contributing four
core files to the count of unexpected core files:

 $ make check TESTS="gdb.base/bt-on-fatal-signal.exp"

		 === gdb Summary ===

 # of unexpected core files      4
 # of expected passes            21

These are GDB core dumps.  They are expected, however, because the
whole point of the testcase is to crash GDB with a signal.

Make GDB change its current directory to the output dir just before
crashing, so that the core files end up there.  The result is now:

		 === gdb Summary ===

 # of expected passes            25

and:

 $ find . -name "core.*"
 ./testsuite/outputs/gdb.base/bt-on-fatal-signal/core.gdb.1676506.nelson.1657727692
 ./testsuite/outputs/gdb.base/bt-on-fatal-signal/core.gdb.1672585.nelson.1657727671
 ./testsuite/outputs/gdb.base/bt-on-fatal-signal/core.gdb.1674833.nelson.1657727683
 ./testsuite/outputs/gdb.base/bt-on-fatal-signal/core.gdb.1673709.nelson.1657727676

(Note the test is skipped at the top if on a remote host.)

Change-Id: I79e4fb2e91330279c7a509930b1952194a72e85a
This commit is contained in:
Pedro Alves 2022-07-13 16:45:21 +01:00
parent 6a40c6e437
commit 23948f5602

View File

@ -80,6 +80,11 @@ foreach test_data {{SEGV "Segmentation fault"} \
set saw_bt_end false
set internal_error_msg_count 0
# Get the GDB core into the output directory, so that it
# doesn't count as unexpected core in gdb.sum.
gdb_test "cd [file dirname $binfile]" "Working directory .*" \
"cd to test directory"
# Send the fatal signal to GDB.
remote_exec host "kill -${sig} ${testpid}"