summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/gdb.btrace/record_goto.exp27
-rw-r--r--gdb/testsuite/gdb.btrace/tailcall.exp37
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"