* gdb.python/py-shared.exp: New file, factored out from
[binutils-gdb.git] / gdb / testsuite / gdb.cp / mb-templates.exp
index f56067ac437978821fe9a8c07f59386f7a42878b..6185f925c237b054890b7450581068a99a4746a5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2007, 2008 Free Software Foundation, Inc.
+# Copyright 2007, 2008, 2009, 2010 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
@@ -20,15 +20,13 @@ if $tracelevel then {
     strace $tracelevel
 }
 
-if { [skip_cplus_tests] } { continue }
+if { [skip_stl_tests] } { continue }
 
 # On SPU this test fails because the executable exceeds local storage size.
 if { [istarget "spu*-*-*"] } {
         return 0
 }
 
-set prms_id 0
-set bug_id 0
 
 set testfile "mb-templates"
 set srcfile ${testfile}.cc
@@ -85,7 +83,7 @@ gdb_test "break $srcfile:$bp_location" \
     "Breakpoint.*at.* file .*$srcfile, line.*\\(2 locations\\).*" \
     "separate condition: set breakpoint"
 
-gdb_test "condition 1 i==1" "" \
+gdb_test_no_output "condition 1 i==1" \
     "separate condition: set condition"
     
 gdb_run_cmd
@@ -108,7 +106,7 @@ gdb_test "continue" \
 # Try disabling a single location. We also test
 # that at least in simple cases, the enable/disable
 # state of locations surive "run".
-gdb_test "disable 1.1" "" "disabling location: disable"
+gdb_test_no_output "disable 1.1" "disabling location: disable"
 
 gdb_run_cmd
 gdb_expect {
@@ -124,10 +122,10 @@ gdb_expect {
 }
 
 # Try disabling entire breakpoint
-gdb_test "enable 1.1" "" "disabling location: enable"
+gdb_test_no_output "enable 1.1" "disabling location: enable"
 
 
-gdb_test "disable 1" "" "disable breakpoint: disable"
+gdb_test_no_output "disable 1" "disable breakpoint: disable"
 
 gdb_run_cmd
 gdb_expect {
@@ -165,3 +163,25 @@ gdb_test "continue" \
     ".*Breakpoint.*foo<int> \\(i=1\\).*" \
     "instantiation: run to breakpoint 2"
 
+
+# Make sure we can set a breakpoint on a source statement that spans
+# multiple lines.
+
+delete_breakpoints
+
+set bp_location [gdb_get_line_number "set multi-line breakpoint here"]
+
+if { ![runto_main] } {
+    fail "Can't run to main for multi_line_foo tests."
+    return 0
+}
+
+gdb_test "break $srcfile:$bp_location" \
+    "Breakpoint.*at.* file .*$srcfile, line.*\\(2 locations\\).*" \
+    "set multi_line_foo breakpoint"
+gdb_test "continue" \
+    ".*Breakpoint.*multi_line_foo<int> \\(i=0\\).*" \
+    "run to multi_line_foo breakpoint 2 <int>"
+gdb_test "continue" \
+    ".*Breakpoint.*multi_line_foo<double> \\(i=0\\).*" \
+    "run to multi_line_foo breakpoint 2 <double>"