diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 50e61ce..4617c4d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2009-03-05 Matt Rice + + * gdb.objc/objcdecode.exp: Set the multiple symbols found behaviour + to ask for the original test. Add tests for the multiple symbols + found behaviour of all. + 2009-03-05 Paul Pluzhnikov * solib-display.exp: New file. diff --git a/gdb/testsuite/gdb.objc/objcdecode.exp b/gdb/testsuite/gdb.objc/objcdecode.exp index b751fb9..b2a2d97 100644 --- a/gdb/testsuite/gdb.objc/objcdecode.exp +++ b/gdb/testsuite/gdb.objc/objcdecode.exp @@ -59,7 +59,8 @@ do_objc_tests # # Break on multiply defined method (PR objc/1236) # -set name "break on multiply defined method" +set name "break on multiply defined method using multiple-symbols ask" +gdb_test "set multiple-symbols ask" "" gdb_test_multiple "break multipleDef" $name \ { -re "\\\[0\\\] cancel\r\n\\\[1\\\] all\r\n\\\[2\\\] -.Decode multipleDef. at .*\r\n\\\[3\\\] multipleDef at .*\r\n> $" { @@ -70,7 +71,7 @@ gdb_test_multiple "break multipleDef" $name \ -re ".*$gdb_prompt $" { kfail "gdb/1236" $name } } -set name "continue after break on multiply defined symbol" +set name "run after setting breakpoints on multiply defined symbol" gdb_run_cmd gdb_test_multiple "" $name \ { @@ -84,3 +85,54 @@ gdb_test_multiple "" $name \ # It would be difficult to do any more tests after this. } } + +do_objc_tests +if ![runto_main] { fail "Can't run to main" } + +set name "break on multiply defined symbol with multiple-symbols all after main" +gdb_test "set multiple-symbols all after main" "" +gdb_test_multiple "break multipleDef" $name \ +{ + -re "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*\r\nBreakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*\r\n$gdb_prompt $" { pass $name } + -re ".*$gdb_prompt $" { fail $name } +} + +set name "can hit multiply defined breakpoint on function after main" +gdb_continue_to_breakpoint "function multipleDef" + +set name "can hit multiply defined breakpoint on objc method after main" +gdb_continue_to_breakpoint "method multipleDef" +gdb_exit + +do_objc_tests + +set name "break on multiply defined symbol with multiple-symbols all before main" +gdb_test_multiple "break multipleDef" $name \ +{ + -re "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*\r\nBreakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*\r\n$gdb_prompt $" { pass $name } + -re ".*$gdb_prompt $" { kfail $name } +} + +set name "can hit multiply defined breakpoint on function before main" +gdb_run_cmd +gdb_test_multiple "" $name \ +{ + -re "Breakpoint \[0-9\]+, multipleDef \\\(\\\) at .*\r\n$gdb_prompt $" { + pass $name + } + -re ".*$gdb_prompt $" { fail $name } +} + +set name "can hit multiply defined breakpoint on method before main" +gdb_test_multiple "continue" $name \ +{ + -re "Breakpoint \[0-9\]+, -\\\[Decode multipleDef\\\] \\\(.*\\\) at .*\r\n$gdb_prompt $" { + pass $name + } + -re ".*$gdb_prompt $" { fail $name } +} + + +gdb_exit +return 0 +