[RFA,2/3] Test 'set print frame-info|frame-arguments presence'.
Commit Message
---
gdb/testsuite/ChangeLog | 4 ++
gdb/testsuite/gdb.base/frame-args.exp | 56 +++++++++++++++++++++++++++
2 files changed, 60 insertions(+)
@@ -15864,3 +15864,7 @@ For older changes see ChangeLog-1993-2013.
Copyright 2014-2019 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
+2019-05-04 Philippe Waroquiers <philippe.waroquiers@skynet.be>
+
+ * gdb.base/frame-args.exp: Test new 'frame-arguments presence'.
+ Test new 'set print frame-info'.
@@ -50,4 +50,60 @@ gdb_test "frame 1" \
".*in call_me \\(i=\\.\\.\\., f=\\.\\.\\., s=\\.\\.\\., ss=\\.\\.\\., u=\\.\\.\\., e=\\.\\.\\.\\) at .*frame-args\\.c:.*" \
"frame 1 with print frame-arguments set to none"
+# Test with "print frame-arguments" set to "presence"
+
+gdb_test_no_output "set print frame-arguments presence" \
+ "set print frame-arguments presence"
+gdb_test "frame 1" \
+ ".*in call_me \\(\\.\\.\\.\\) at .*frame-args\\.c:.*" \
+ "frame 1 with print frame-arguments set to presence"
+gdb_test "frame 2" \
+ ".*in main \\(\\) at .*frame-args\\.c:.*" \
+ "frame 2 (no args) with print frame-arguments set to presence"
+
+
+# Test with "print frame-info" set to "loc_and_address"
+gdb_test_no_output "set print frame-info loc_and_address" \
+ "set print frame-info loc_and_address"
+gdb_test "frame 1" \
+ ".*0x.* in call_me \\(\\.\\.\\.\\) at .*frame-args\\.c:.*" \
+ "frame 1 with print frame-info set to loc_and_address"
+
+# Test with "print address" set to "off" ...
+gdb_test_no_output "set print address off" \
+ "set print address off"
+
+# ... and "loc_and_address (previously set)
+gdb_test "frame 1" \
+ "#1 call_me \\(\\.\\.\\.\\) at .*frame-args\\.c:.*" \
+ "frame 1 with print frame-info set to loc_and_address and address off"
+
+# ... and "location"
+gdb_test_no_output "set print frame-info location" \
+ "set print frame-info location"
+gdb_test "frame 1" \
+ "#1 call_me \\(\\.\\.\\.\\) at .*frame-args\\.c:.*" \
+ "frame 1 with print frame-info set to location and address off"
+
+# ... and "short_loc"
+gdb_test_no_output "set print frame-info short_loc" \
+ "set print frame-info short_loc"
+gdb_test "frame 1" \
+ "#1 call_me \\(\\.\\.\\.\\)" \
+ "frame 1 with print frame-info set to short_loc and address off"
+
+# ... and "src_and_loc"
+gdb_test_no_output "set print frame-info src_and_loc" \
+ "set print frame-info src_and_loc"
+gdb_test "frame 1" \
+ "#1 call_me \\(\\.\\.\\.\\) at .*frame-args\\.c:.*\r\n\[1-9\]\[0-9\]*\[ \t\]*break_me \\(\\);" \
+ "frame 1 with print frame-info set to src_and_loc and address off"
+
+# ... and "src_line".
+gdb_test_no_output "set print frame-info src_line" \
+ "set print frame-info src_line"
+gdb_test "frame 1" \
+ "\[1-9\]\[0-9\]*\[ \t\]*break_me \\(\\);" \
+ "frame 1 with print frame-info set to src_line and address off"
+