[gdb/testsuite] Move valgrind-db-attach.{c,exp} to valgrind-bt.{c,exp}
authorTom de Vries <tdevries@suse.de>
Thu, 25 Oct 2018 14:09:57 +0000 (16:09 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 25 Oct 2018 14:20:05 +0000 (16:20 +0200)
Now that valgrind-db-attach.exp no longer use --db-attach, rename
valgrind-db-attach.{c,exp} to valgrind-bt.{c,exp}.

2018-10-25  Tom de Vries  <tdevries@suse.de>

    * gdb.base/valgrind-db-attach.c: Rename to ...
    * gdb.base/valgrind-bt.c: ... this.
    * gdb.base/valgrind-db-attach.exp: Rename to ...
    * gdb.base/valgrind-bt.exp: ... this.

gdb/testsuite/gdb.base/valgrind-bt.c [new file with mode: 0644]
gdb/testsuite/gdb.base/valgrind-bt.exp [new file with mode: 0644]
gdb/testsuite/gdb.base/valgrind-db-attach.c [deleted file]
gdb/testsuite/gdb.base/valgrind-db-attach.exp [deleted file]

diff --git a/gdb/testsuite/gdb.base/valgrind-bt.c b/gdb/testsuite/gdb.base/valgrind-bt.c
new file mode 100644 (file)
index 0000000..5dec680
--- /dev/null
@@ -0,0 +1,30 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2009-2018 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <stdlib.h>
+
+int main()
+{
+  void *p;
+
+  p = malloc (1);
+  if (p == NULL)
+    return 1;
+  free (p);
+  free (p);    /* double-free */
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.base/valgrind-bt.exp b/gdb/testsuite/gdb.base/valgrind-bt.exp
new file mode 100644 (file)
index 0000000..348f743
--- /dev/null
@@ -0,0 +1,129 @@
+# Copyright 2009-2018 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+if [is_remote target] {
+    # The test always runs locally.
+    return 0
+}
+
+standard_testfile .c
+if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
+    return -1
+}
+
+set test "spawn valgrind"
+set cmd "valgrind --vgdb-error=0 $binfile"
+set res [remote_spawn host $cmd]
+if { $res < 0 || $res == "" } {
+    verbose -log "Spawning $cmd failed."
+    unsupported $test
+    return -1
+}
+pass $test
+# Declare GDB now as running.
+set gdb_spawn_id $res
+
+# GDB started by vgdb stops already after the startup is executed, like with
+# non-extended gdbserver.  It is also not correct to run/attach the inferior.
+set use_gdb_stub 1
+
+set test "valgrind started"
+# The trailing '.' differs for different memcheck versions.
+gdb_test_multiple "" $test {
+    -re "Memcheck, a memory error detector\\.?\r\n" {
+       pass $test
+    }
+    -re "valgrind: failed to start tool 'memcheck' for platform '.*': No such file or directory" {
+       unsupported $test
+       return -1
+    }
+    -re "valgrind: wrong ELF executable class" {
+       unsupported $test
+       return -1
+    }
+    -re "command not found" {
+       # The spawn succeeded, but then valgrind was not found - e.g. if
+       # we spawned SSH to a remote system.
+       unsupported $test
+       return -1
+    }
+    -re "valgrind: Bad option.*--vgdb-error=0" {
+       # valgrind is not >= 3.7.0.
+       unsupported $test
+       return -1
+    }
+}
+
+set test "vgdb prompt"
+# The trailing '.' differs for different memcheck versions.
+gdb_test_multiple "" $test {
+    -re "  (target remote | \[^\r\n\]*/vgdb \[^\r\n\]*)\r\n" {
+       set vgdbcmd $expect_out(1,string)
+       pass $test
+    }
+}
+
+# Do not kill valgrind.
+set valgrind_spawn_id [board_info host fileid]
+unset gdb_spawn_id
+set board [host_info name]
+unset_board_info fileid
+
+clean_restart $testfile
+
+# Make sure we're disconnected, in case we're testing with the
+# native-extended-gdbserver board, where gdb_start/gdb_load spawn
+# gdbserver and connect to it.
+gdb_test "disconnect" ".*"
+
+gdb_test "$vgdbcmd" " in \\.?_start .*" "target remote for vgdb"
+
+gdb_test "monitor v.set gdb_output" "valgrind output will go to gdb.*"
+
+set double_free [gdb_get_line_number "double-free"]
+
+set test "continue"
+gdb_test_multiple "continue" $test {
+    -re "Invalid free\\(\\).*: main \\(${srcfile}:$double_free\\)\r\n.*$gdb_prompt $" {
+       pass $test
+    }
+    -re "Remote connection closed.*\r\n$gdb_prompt $" {
+       fail "$test (remote connection closed)"
+       # Only if valgrind got stuck.
+       kill_wait_spawned_process $valgrind_spawn_id
+       return -1
+    }
+    -re "The program is not being run\\.\r\n$gdb_prompt $" {
+       fail "$test (valgrind vgdb has terminated)"
+       # Only if valgrind got stuck.
+       kill_wait_spawned_process $valgrind_spawn_id
+       return -1
+    }
+    -re "\r\n$gdb_prompt $" {
+       pass "$test (false warning)"
+    }
+}
+
+# Initialization from default_gdb_start.
+gdb_test_no_output "set height 0"
+gdb_test_no_output "set width 0"
+
+gdb_test "bt" "in main \\(.*\\) at .*${srcfile}:$double_free"
+
+# Explicitly kill the program so it doesn't dump core when we quit->detach.
+gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y"
+
+# Only if valgrind got stuck.
+kill_wait_spawned_process $valgrind_spawn_id
diff --git a/gdb/testsuite/gdb.base/valgrind-db-attach.c b/gdb/testsuite/gdb.base/valgrind-db-attach.c
deleted file mode 100644 (file)
index 5dec680..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* This testcase is part of GDB, the GNU debugger.
-
-   Copyright 2009-2018 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program 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 General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <stdlib.h>
-
-int main()
-{
-  void *p;
-
-  p = malloc (1);
-  if (p == NULL)
-    return 1;
-  free (p);
-  free (p);    /* double-free */
-  return 0;
-}
diff --git a/gdb/testsuite/gdb.base/valgrind-db-attach.exp b/gdb/testsuite/gdb.base/valgrind-db-attach.exp
deleted file mode 100644 (file)
index 348f743..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2009-2018 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-if [is_remote target] {
-    # The test always runs locally.
-    return 0
-}
-
-standard_testfile .c
-if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
-    return -1
-}
-
-set test "spawn valgrind"
-set cmd "valgrind --vgdb-error=0 $binfile"
-set res [remote_spawn host $cmd]
-if { $res < 0 || $res == "" } {
-    verbose -log "Spawning $cmd failed."
-    unsupported $test
-    return -1
-}
-pass $test
-# Declare GDB now as running.
-set gdb_spawn_id $res
-
-# GDB started by vgdb stops already after the startup is executed, like with
-# non-extended gdbserver.  It is also not correct to run/attach the inferior.
-set use_gdb_stub 1
-
-set test "valgrind started"
-# The trailing '.' differs for different memcheck versions.
-gdb_test_multiple "" $test {
-    -re "Memcheck, a memory error detector\\.?\r\n" {
-       pass $test
-    }
-    -re "valgrind: failed to start tool 'memcheck' for platform '.*': No such file or directory" {
-       unsupported $test
-       return -1
-    }
-    -re "valgrind: wrong ELF executable class" {
-       unsupported $test
-       return -1
-    }
-    -re "command not found" {
-       # The spawn succeeded, but then valgrind was not found - e.g. if
-       # we spawned SSH to a remote system.
-       unsupported $test
-       return -1
-    }
-    -re "valgrind: Bad option.*--vgdb-error=0" {
-       # valgrind is not >= 3.7.0.
-       unsupported $test
-       return -1
-    }
-}
-
-set test "vgdb prompt"
-# The trailing '.' differs for different memcheck versions.
-gdb_test_multiple "" $test {
-    -re "  (target remote | \[^\r\n\]*/vgdb \[^\r\n\]*)\r\n" {
-       set vgdbcmd $expect_out(1,string)
-       pass $test
-    }
-}
-
-# Do not kill valgrind.
-set valgrind_spawn_id [board_info host fileid]
-unset gdb_spawn_id
-set board [host_info name]
-unset_board_info fileid
-
-clean_restart $testfile
-
-# Make sure we're disconnected, in case we're testing with the
-# native-extended-gdbserver board, where gdb_start/gdb_load spawn
-# gdbserver and connect to it.
-gdb_test "disconnect" ".*"
-
-gdb_test "$vgdbcmd" " in \\.?_start .*" "target remote for vgdb"
-
-gdb_test "monitor v.set gdb_output" "valgrind output will go to gdb.*"
-
-set double_free [gdb_get_line_number "double-free"]
-
-set test "continue"
-gdb_test_multiple "continue" $test {
-    -re "Invalid free\\(\\).*: main \\(${srcfile}:$double_free\\)\r\n.*$gdb_prompt $" {
-       pass $test
-    }
-    -re "Remote connection closed.*\r\n$gdb_prompt $" {
-       fail "$test (remote connection closed)"
-       # Only if valgrind got stuck.
-       kill_wait_spawned_process $valgrind_spawn_id
-       return -1
-    }
-    -re "The program is not being run\\.\r\n$gdb_prompt $" {
-       fail "$test (valgrind vgdb has terminated)"
-       # Only if valgrind got stuck.
-       kill_wait_spawned_process $valgrind_spawn_id
-       return -1
-    }
-    -re "\r\n$gdb_prompt $" {
-       pass "$test (false warning)"
-    }
-}
-
-# Initialization from default_gdb_start.
-gdb_test_no_output "set height 0"
-gdb_test_no_output "set width 0"
-
-gdb_test "bt" "in main \\(.*\\) at .*${srcfile}:$double_free"
-
-# Explicitly kill the program so it doesn't dump core when we quit->detach.
-gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y"
-
-# Only if valgrind got stuck.
-kill_wait_spawned_process $valgrind_spawn_id