diff options
-rw-r--r-- | gdb/testsuite/gdb.btrace/record_goto.exp | 27 | ||||
-rw-r--r-- | gdb/testsuite/gdb.btrace/tailcall.exp | 37 |
2 files changed, 37 insertions, 27 deletions
diff --git a/gdb/testsuite/gdb.btrace/record_goto.exp b/gdb/testsuite/gdb.btrace/record_goto.exp index baf605cd640..cd6ab387c40 100644 --- a/gdb/testsuite/gdb.btrace/record_goto.exp +++ b/gdb/testsuite/gdb.btrace/record_goto.exp @@ -51,6 +51,11 @@ if ![runto_main] { return -1 } +# When GDB prints the file for a stop location, it may print the full path +# depending on what information the compiler added. This regexp allows for +# that path to be present, but does not require it. +set optional_filepath {[^\n]*} + # we want a small context sizes to simplify the test gdb_test_no_output "set record instruction-history-size 3" gdb_test_no_output "set record function-call-history-size 3" @@ -80,7 +85,7 @@ gdb_test "record function-call-history /ci 1, +20" [multi_line \ ] # let's see if we can go back in history -gdb_test "record goto 19" ".*fun4 \\(\\) at record_goto.c:43.*" +gdb_test "record goto 19" ".*fun4 \\(\\) at ${optional_filepath}record_goto.c:43.*" # the function call history should start at the new location gdb_test "record function-call-history /ci" [multi_line \ @@ -97,19 +102,19 @@ gdb_test "record instruction-history" [multi_line \ ] "instruction-history from 19 forwards" # let's go to another place in the history -gdb_test "record goto 27" ".*fun3 \\(\\) at record_goto.c:35.*" +gdb_test "record goto 27" ".*fun3 \\(\\) at ${optional_filepath}record_goto.c:35.*" # check the back trace at that location gdb_test "backtrace" [multi_line \ - "#0.*fun3.*at record_goto.c:35.*" \ - "#1.*fun4.*at record_goto.c:43.*" \ - "#2.*main.*at record_goto.c:49.*" \ + "#0.*fun3.*at ${optional_filepath}record_goto.c:35.*" \ + "#1.*fun4.*at ${optional_filepath}record_goto.c:43.*" \ + "#2.*main.*at ${optional_filepath}record_goto.c:49.*" \ "Backtrace stopped: not enough registers or memory available to unwind further" \ ] # walk the backtrace -gdb_test "up" ".*fun4.*at record_goto.c:43.*" "up to fun4" -gdb_test "up" ".*main.*at record_goto.c:49.*" "up to main" +gdb_test "up" ".*fun4.*at ${optional_filepath}record_goto.c:43.*" "up to fun4" +gdb_test "up" ".*main.*at ${optional_filepath}record_goto.c:49.*" "up to main" # the function call history should start at the new location gdb_test "record function-call-history /ci -" [multi_line \ @@ -126,7 +131,7 @@ gdb_test "record instruction-history -" [multi_line \ ] "instruction-history from 27 backwards" # test that we can go to the begin of the trace -gdb_test "record goto begin" ".*main \\(\\) at record_goto.c:49.*" +gdb_test "record goto begin" ".*main \\(\\) at ${optional_filepath}record_goto.c:49.*" # check that we're filling up the context correctly gdb_test "record function-call-history /ci -" [multi_line \ @@ -143,7 +148,7 @@ gdb_test "record instruction-history -" [multi_line \ ] "instruction-history from begin backwards" # we should get the exact same history from the first instruction -gdb_test "record goto 2" ".*fun4 \\(\\) at record_goto.c:40.*" +gdb_test "record goto 2" ".*fun4 \\(\\) at ${optional_filepath}record_goto.c:40.*" # check that we're filling up the context correctly gdb_test "record function-call-history /ci -" [multi_line \ @@ -160,7 +165,7 @@ gdb_test "record instruction-history -" [multi_line \ ] "instruction-history from 2 backwards" # check that we can go to the end of the trace -gdb_test "record goto end" ".*main \\(\\) at record_goto.c:50.*" +gdb_test "record goto end" ".*main \\(\\) at ${optional_filepath}record_goto.c:50.*" # check that we're filling up the context correctly gdb_test "record function-call-history /ci" [multi_line \ @@ -177,7 +182,7 @@ gdb_test "record instruction-history" [multi_line \ ] "instruction-history from end forwards" # we should get the exact same history from the second to last instruction -gdb_test "record goto 39" ".*fun4 \\(\\) at record_goto.c:44.*" +gdb_test "record goto 39" ".*fun4 \\(\\) at ${optional_filepath}record_goto.c:44.*" # check that we're filling up the context correctly gdb_test "record function-call-history /ci" [multi_line \ diff --git a/gdb/testsuite/gdb.btrace/tailcall.exp b/gdb/testsuite/gdb.btrace/tailcall.exp index 6d8594f43de..198cfa988dd 100644 --- a/gdb/testsuite/gdb.btrace/tailcall.exp +++ b/gdb/testsuite/gdb.btrace/tailcall.exp @@ -49,6 +49,11 @@ if ![runto_main] { return -1 } +# When GDB prints the file for a stop location, it may print the full path +# depending on what information the compiler added. This regexp allows for +# that path to be present, but does not require it. +set optional_filepath {[^\n]*} + # we want to see the full trace for this test gdb_test_no_output "set record function-call-history-size 0" @@ -73,39 +78,39 @@ gdb_test "record function-call-history /c 1" [multi_line \ ] "indented" # go into bar -gdb_test "record goto 4" ".*bar \\(\\) at .*tailcall.c:24\r\n.*" +gdb_test "record goto 4" ".*bar \\(\\) at ${optional_filepath}tailcall.c:24\r\n.*" # check the backtrace gdb_test "backtrace" [multi_line \ - "#0.*bar \\(\\) at tailcall.c:24" \ - "#1.*foo \\(\\) at tailcall.c:29" \ - "#2.*main \\(\\) at tailcall.c:37" \ + "#0.*bar \\(\\) at ${optional_filepath}tailcall.c:24" \ + "#1.*foo \\(\\) at ${optional_filepath}tailcall.c:29" \ + "#2.*main \\(\\) at ${optional_filepath}tailcall.c:37" \ "Backtrace stopped: not enough registers or memory available to unwind further" \ ] # walk the backtrace -gdb_test "up" "#1\[^\r\n\]*foo \\(\\) at tailcall.c:29\r\n.*" "up to foo" -gdb_test "up" "#2\[^\r\n\]*main \\(\\) at tailcall.c:37\r\n.*" "up to main" -gdb_test "down" "#1\[^\r\n\]*foo \\(\\) at tailcall.c:29\r\n.*" "down to foo" +gdb_test "up" "#1\[^\r\n\]*foo \\(\\) at ${optional_filepath}tailcall.c:29\r\n.*" "up to foo" +gdb_test "up" "#2\[^\r\n\]*main \\(\\) at ${optional_filepath}tailcall.c:37\r\n.*" "up to main" +gdb_test "down" "#1\[^\r\n\]*foo \\(\\) at ${optional_filepath}tailcall.c:29\r\n.*" "down to foo" # test stepping into and out of tailcalls. -gdb_test "finish" "\[^\r\n\]*main \\(\\) at tailcall.c:38\r\n.*" \ +gdb_test "finish" "\[^\r\n\]*main \\(\\) at ${optional_filepath}tailcall.c:38\r\n.*" \ "finish.1" -gdb_test "reverse-step" "\[^\r\n\]*bar \\(\\) at tailcall.c:24\r\n.*" \ +gdb_test "reverse-step" "\[^\r\n\]*bar \\(\\) at ${optional_filepath}tailcall.c:24\r\n.*" \ "reverse-step.1" -gdb_test "reverse-finish" "\[^\r\n\]*foo \\(\\) at tailcall.c:29\r\n.*" \ +gdb_test "reverse-finish" "\[^\r\n\]*foo \\(\\) at ${optional_filepath}tailcall.c:29\r\n.*" \ "reverse-finish.1" -gdb_test "reverse-step" "\[^\r\n\]*main \\(\\) at tailcall.c:37\r\n.*" \ +gdb_test "reverse-step" "\[^\r\n\]*main \\(\\) at ${optional_filepath}tailcall.c:37\r\n.*" \ "reverse-step.2" gdb_test "next" "\[^\r\n\]*38.*" \ "next.1" -gdb_test "reverse-next" "\[^\r\n\]*main \\(\\) at tailcall.c:37\r\n.*" \ +gdb_test "reverse-next" "\[^\r\n\]*main \\(\\) at ${optional_filepath}tailcall.c:37\r\n.*" \ "reverse-next.1" -gdb_test "step" "\[^\r\n\]*foo \\(\\) at tailcall.c:29\r\n.*" \ +gdb_test "step" "\[^\r\n\]*foo \\(\\) at ${optional_filepath}tailcall.c:29\r\n.*" \ "step.1" -gdb_test "finish" "\[^\r\n\]*main \\(\\) at tailcall.c:38\r\n.*" \ +gdb_test "finish" "\[^\r\n\]*main \\(\\) at ${optional_filepath}tailcall.c:38\r\n.*" \ "finish.2" -gdb_test "reverse-step" "\[^\r\n\]*bar \\(\\) at tailcall.c:24\r\n.*" \ +gdb_test "reverse-step" "\[^\r\n\]*bar \\(\\) at ${optional_filepath}tailcall.c:24\r\n.*" \ "reverse-step.3" -gdb_test "finish" "\[^\r\n\]*main \\(\\) at tailcall.c:38\r\n.*" \ +gdb_test "finish" "\[^\r\n\]*main \\(\\) at ${optional_filepath}tailcall.c:38\r\n.*" \ "finish.3" |