| # Copyright (C) 2021, 2022 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| # Do not run if gdb debug is enabled as it will interfere with log redirect. |
| if [gdb_debug_enabled] { |
| untested "debug is enabled" |
| return 0 |
| } |
| |
| gdb_start |
| |
| gdb_test_no_output "set height 5" |
| gdb_test_no_output "set pagination on" |
| |
| # Test that logging redirect disables the pager. |
| set log_name [standard_output_file log.txt] |
| gdb_test_no_output "set logging file $log_name" \ |
| "set logging filename" |
| gdb_test_no_output "set logging redirect on" |
| gdb_test "set logging enabled on" "Copying debug output to .*" |
| set ok 1 |
| set str "1\\n2\\n3\\n4\\n5\\n" |
| gdb_test_multiple "printf \"$str\"" "printf without paging" { |
| -re "$pagination_prompt" { |
| set ok 0 |
| send_gdb "c\n" |
| exp_continue |
| } |
| -re "\r\n$gdb_prompt $" { |
| # Ok. |
| } |
| } |
| if {$ok} { |
| pass "printf without paging" |
| } else { |
| fail "printf without paging" |
| } |
| gdb_test "set logging enabled off" "Done logging to .*" |
| |
| set cmd "interpreter-exec mi2 \"-data-evaluate-expression 23\"" |
| gdb_test_multiple $cmd $cmd { |
| -re ".done.value=.23\[^\n\]+\r\n$gdb_prompt " { |
| pass "$cmd" |
| gdb_expect 1 { |
| -re "\r\n$gdb_prompt $" { } |
| } |
| } |
| } |