Home | History | Annotate | Line # | Download | only in gdb.testsuite
      1 # Copyright 2022-2024 Free Software Foundation, Inc.
      2 # This program is free software; you can redistribute it and/or modify
      3 # it under the terms of the GNU General Public License as published by
      4 # the Free Software Foundation; either version 3 of the License, or
      5 # (at your option) any later version.
      6 #
      7 # This program is distributed in the hope that it will be useful,
      8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
      9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     10 # GNU General Public License for more details.
     11 #
     12 # You should have received a copy of the GNU General Public License
     13 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
     14 
     15 # The purpose of this test-case is to check various
     16 # gdb_test / gdb_test_multiple properties.
     17 
     18 clean_restart
     19 
     20 # Check that a command with trailing newline triggers an error.
     21 
     22 with_test_prefix "cmd with trailing newline" {
     23     set results [catch {
     24 	gdb_test "pwd\n" ".*" "pwd"
     25     } output]
     26 
     27     gdb_assert { $results == 1 }
     28     set expected_error_msg "Invalid trailing newline in \"pwd\n\" command"
     29     gdb_assert { [string equal $output $expected_error_msg] }
     30 }
     31 
     32 with_test_prefix "cmd with trailing control code" {
     33     foreach_with_prefix control_code {^C ^D} {
     34 	switch $control_code {
     35 	    ^C {
     36 		set cmd "\003"
     37 	    }
     38 	    ^D {
     39 		set cmd "\004"
     40 	    }
     41 	}
     42 	set results [catch {
     43 	    gdb_test $cmd ".*" "control code"
     44 	} output]
     45 
     46 	gdb_assert { $results == 1 }
     47 	set expected_error_msg "Invalid trailing control code in \"$cmd\" command"
     48 	gdb_assert { [string equal $output $expected_error_msg] }
     49     }
     50 }
     51 
     52 # Change the prompt.
     53 set prompt "(GDB) "
     54 set prompt_re "\\(GDB\\) $"
     55 gdb_test -prompt $prompt_re "set prompt $prompt"
     56 
     57 gdb_test_multiple "print 1" "" -prompt $prompt_re {
     58     -re -wrap " = 1" {
     59 	pass $gdb_test_name
     60     }
     61 }
     62