# Copyright (C) 2016-2025 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 . # Command line input testing. # Test issuing a command split in multiple lines with continuation # characters. clean_restart set bs "\\" set re_bs [string_to_regexp $bs] set re_dollar [string_to_regexp $] set re \ [multi_line \ ^[string_to_regexp "print 1$bs"] \ [string_to_regexp " + 2"] \ "$re_dollar$decimal = 3" \ "$gdb_prompt $"] gdb_test_multiple "print 1$bs\n + 2" "print 1$bs${bs}n + 2" { -re $re { pass $gdb_test_name } } set re \ [multi_line \ ^[string_to_regexp "print 1$bs"] \ "2" \ "$re_dollar$decimal = 12" \ "$gdb_prompt $"] gdb_test_multiple "print 1$bs\n2" "print 1$bs${bs}n2" { -re $re { pass $gdb_test_name } } with_test_prefix "cancel multiline" { send_gdb "print$bs\n 1" gdb_test_multiple "" "setup" { -re "print$re_bs\r\n 1" { pass $gdb_test_name } } send_gdb "\003" gdb_test_multiple "" "cancel" { -re -wrap "" { pass $gdb_test_name } } # Regression test for PR cli/33063. gdb_test_multiple "print 2" "command after cancel" { -re -wrap " = 2" { pass $gdb_test_name } -re -wrap "" { # Avoid undefined command error. fail $gdb_test_name } } }