set main_line [gdb_get_line_number "break here"]
gdb_test "list $main_line,$main_line" "return.*some_called_function.*"
+ gdb_test_no_output "set style enabled off"
+
+ set argv ""
+ gdb_test_multiple "frame" "frame without styling" {
+ -re -wrap "main \\(argc=.*, (argv=$hex)\\).*style\\.c:\[0-9\].*" {
+ set argv $expect_out(1,string)
+ pass $gdb_test_name
+ }
+ }
+
gdb_test_no_output "set style enabled on"
set main_expr [style main function]
gdb_test_no_output "set style sources off"
gdb_test "frame" \
"\r\n\[^\033\]*break here.*" \
- "frame without styling"
+ "frame without sources styling"
gdb_test_no_output "set style sources on"
gdb_test "break -q main" "file $base_file_expr.*"
# wrong spot with styling. There were different bugs at different
# widths, so try two.
foreach width {20 30} {
- gdb_test_no_output "set width $width"
+ set argv_len [string length $argv]
+ if { $argv_len == 0 } {
+ continue
+ }
+
# There was also a bug where the styling could be wrong in the
# line listing; this is why the words from the source code are
# spelled out in the final result line of the test.
- gdb_test "frame" \
+ set re1_styled \
[multi_line \
"#0 *$main_expr.*$arg_expr.*" \
".*$arg_expr.*" \
".* at .*$file_expr.*" \
- "\[0-9\]+.*return.* break here .*"
- ] \
- "frame when width=$width"
+ "\[0-9\]+.*return.* break here .*"]
+ set re2_styled \
+ [multi_line \
+ "#0 *$main_expr.*$arg_expr.*" \
+ ".*$arg_expr.* at .*$file_expr.*" \
+ "\[0-9\]+.*return.* break here .*"]
+
+ # The length of the line containing argv containing:
+ # - 4 leading spaces
+ # - argv string
+ # - closing parenthesis
+ set line_len [expr 4 + $argv_len + 1]
+
+ if { $line_len > $width } {
+ # At on the next line.
+ set re_styled $re1_styled
+ } else {
+ # At on the same line as argv.
+ set re_styled $re2_styled
+ }
+
+ gdb_test_no_output "set width $width"
+ gdb_test "frame" $re_styled "frame when width=$width"
}
+ # Reset width back to 0.
+ gdb_test_no_output "set width 0"
+
if {$test_macros} {
set macro_line [gdb_get_line_number "\#define SOME_MACRO"]
gdb_test "info macro SOME_MACRO" \