Put gdb.base/bt-on-fatal-signal.exp GDB cores in output dir
authorPedro Alves <pedro@palves.net>
Wed, 13 Jul 2022 15:45:21 +0000 (16:45 +0100)
committerPedro Alves <pedro@palves.net>
Mon, 18 Jul 2022 16:29:15 +0000 (17:29 +0100)
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

gdb/testsuite/gdb.base/bt-on-fatal-signal.exp

index 8adf3c4fa45ca008888a047413f14dd8652658a5..8f9d857106d1e33eeeb7a7662730b804b70a9fe2 100644 (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}"