+2019-11-02 Tom de Vries <tdevries@suse.de>
+
+ * gdb.base/advance.exp: Drop superfluous 3rd argument to gdb_test.
+ * gdb.base/anon.exp: Same.
+ * gdb.base/auto-connect-native-target.exp: Same.
+ * gdb.base/call-ar-st.exp: Same.
+ * gdb.base/catch-syscall.exp: Same.
+ * gdb.base/commands.exp: Same.
+ * gdb.base/default.exp: Same.
+ * gdb.base/display.exp: Same.
+ * gdb.base/float.exp: Same.
+ * gdb.base/foll-fork.exp: Same.
+ * gdb.base/help.exp: Same.
+ * gdb.base/info-macros.exp: Same.
+ * gdb.base/info-proc.exp: Same.
+ * gdb.base/info-target.exp: Same.
+ * gdb.base/long_long.exp: Same.
+ * gdb.base/macscp.exp: Same.
+ * gdb.base/memattr.exp: Same.
+ * gdb.base/nofield.exp: Same.
+ * gdb.base/pointers.exp: Same.
+ * gdb.base/printcmds.exp: Same.
+ * gdb.base/ptype.exp: Same.
+ * gdb.base/restore.exp: Same.
+ * gdb.base/return.exp: Same.
+ * gdb.base/scope.exp: Same.
+ * gdb.base/set-noassign.exp: Same.
+ * gdb.base/setshow.exp: Same.
+ * gdb.base/shlib-call.exp: Same.
+ * gdb.base/signals.exp: Same.
+ * gdb.base/sigstep.exp: Same.
+ * gdb.base/skip.exp: Same.
+ * gdb.base/solib-symbol.exp: Same.
+ * gdb.base/stap-probe.exp: Same.
+ * gdb.base/step-line.exp: Same.
+ * gdb.base/step-test.exp: Same.
+ * gdb.base/style.exp: Same.
+ * gdb.base/varargs.exp: Same.
+ * gdb.base/vla-datatypes.exp: Same.
+ * gdb.base/vla-ptr.exp: Same.
+ * gdb.base/vla-sideeffect.exp: Same.
+ * gdb.base/volatile.exp: Same.
+ * gdb.base/watch-cond-infcall.exp: Same.
+ * gdb.base/watchpoint.exp: Same.
+
2019-11-02 Tom de Vries <tdevries@suse.de>
* gdb.cp/anon-union.exp: Drop superfluous 3rd argument to gdb_test.
# Verify that "advance <funcname>" works.
#
gdb_test "advance func" \
- "func.*at.*x = x \\+ 5." \
- "advance func"
+ "func.*at.*x = x \\+ 5."
# Verify that "advance <funcname>" when funcname is NOT called by the current
# frame, stops at the end of the current frame.
gdb_test "break $loc" ".*Breakpoint 2 .*" "set breakpoint in anon.c"
gdb_continue_to_breakpoint "continue to breakpoint in anon.c"
-gdb_test "print val.data.six" " = 6" "print val.data.six"
+gdb_test "print val.data.six" " = 6"
# remains pushed.
with_test_prefix "kill" {
- gdb_test "start" "main.*" "start"
+ gdb_test "start" "main.*"
kill_program "kill"
#call compute_with_small_structs(20)
gdb_test "print compute_with_small_structs(20)" \
- "\[0-9\]+ = void" \
- "print compute_with_small_structs(20)"
+ "\[0-9\]+ = void"
#call print_ten_doubles(123.456, 123.456, -0.12, -1.23, 343434.8, 89.098,
# For the build tree that is handled by INTERNAL_GDBFLAGS.
# Verify that the 'catch syscall' help is available
- set thistest "help catch syscall"
- gdb_test "help catch syscall" "Catch system calls.*" $thistest
+ gdb_test "help catch syscall" "Catch system calls.*"
# Try to set a catchpoint to a nonsense syscall
set thistest "catch syscall to a nonsense syscall is prohibited"
gdb_start
gdb_test "set architecture $arch1" \
- "The target architecture is assumed to be $arch1" \
- "set arch to $arch1"
+ "The target architecture is assumed to be $arch1"
gdb_test "catch syscall $syscall_number" \
"Catchpoint $decimal \\(syscall .${syscall1_name}. \\\[${syscall_number}\\\]\\)" \
"insert catch syscall on syscall $syscall_number -- $syscall1_name on $arch1"
gdb_test "set architecture $arch2" \
- "The target architecture is assumed to be $arch2" \
- "set arch to $arch2"
+ "The target architecture is assumed to be $arch2"
gdb_test "catch syscall $syscall_number" \
"Catchpoint $decimal \\(syscall .${syscall2_name}. \\\[${syscall_number}\\\]\\)" \
# currently support it. Bash value variable to be what we want.
gdb_test "p value=5" " = 5" "set value to 5"
delete_breakpoints
- gdb_test "break factorial" "Breakpoint.*at.*" "break factorial"
+ gdb_test "break factorial" "Breakpoint.*at.*"
gdb_test_multiple "commands" "commands" {
-re "End with" {
# test default actions of gdb commands
#
-gdb_test "add-symbol-file" "add-symbol-file takes a file name and an address" "add-symbol-file"
+gdb_test "add-symbol-file" "add-symbol-file takes a file name and an address"
# test append
gdb_test "append" "\"append\" must be followed by a subcommand\.\[\r\n\]+List of append subcommands:.*"
}
}
- gdb_test "break" "No default breakpoint address now." "break"
+ gdb_test "break" "No default breakpoint address now."
foreach i "b br bre brea" {
gdb_test $i "No default breakpoint address now." "break \"$i\" abbreviation"
}
warning "Skipping backtrace and break tests because of GDB stub."
}
-gdb_test "continue" "The program is not being run." "continue"
+gdb_test "continue" "The program is not being run."
gdb_test "c" "The program is not being run." "continue \"c\" abbreviation"
#test call
-gdb_test "call" "The history is empty..*" "call"
+gdb_test "call" "The history is empty..*"
#test catch
-gdb_test "catch" "Catch requires an event name..*" "catch"
+gdb_test "catch" "Catch requires an event name..*"
#test cd
gdb_test "cd" "Working directory \[^\r\n\]*\(\r\n \\(canonically \[^\r\n\]*\\)\)?\\."
#test clear
-gdb_test "clear" "No source file specified..*" "clear"
+gdb_test "clear" "No source file specified..*"
#test commands
-gdb_test "commands" "Argument required .one or more breakpoint numbers...*" "commands"
+gdb_test "commands" "Argument required .one or more breakpoint numbers...*"
#test condition
-gdb_test "condition" "Argument required .breakpoint number.*" "condition"
+gdb_test "condition" "Argument required .breakpoint number.*"
#test core-file
-gdb_test "core-file" "No core file now." "core-file"
+gdb_test "core-file" "No core file now."
#test delete "d" abbreviation
gdb_test_no_output "d" "delete \"d\" abbreviation"
#test delete
gdb_test_no_output "delete" "delete"
#test define
-gdb_test "define" "Argument required \[(\]name of command to define\[)\]." "define"
+gdb_test "define" "Argument required \[(\]name of command to define\[)\]."
#test delete breakpoints
gdb_test_no_output "delete breakpoints" "delete breakpoints"
#test delete display
#test detach
-gdb_test "detach" ".*" "detach"
+gdb_test "detach" ".*"
#test directory
# FIXME -- need to dump full output to detailed log
#test disable display
gdb_test_no_output "disable display" "disable display"
#test disassemble
-gdb_test "disassemble" "No frame selected." "disassemble"
+gdb_test "disassemble" "No frame selected."
#test display
gdb_test_no_output "display" "display"
#test do
-gdb_test "do" "No stack." "do"
+gdb_test "do" "No stack."
#test document
-gdb_test "document" "Argument required .name of command to define.*" "document"
+gdb_test "document" "Argument required .name of command to define.*"
#test down
-gdb_test "down" "No stack.*" "down"
+gdb_test "down" "No stack.*"
#test down-silently
-gdb_test "down-silently" "No stack." "down-silently"
+gdb_test "down-silently" "No stack."
# test dump
gdb_test "dump" "\"dump\" must be followed by a subcommand\.\[\r\n\]+List of dump subcommands:.*"
gdb_test "dump binary" "\"dump binary\" must be followed by a subcommand\.\[\r\n\]+List of dump binary subcommands:.*"
#test echo
gdb_test_no_output "echo" "echo"
#test enable breakpoints delete
-gdb_test "enable breakpoints delete" "Argument required .one or more breakpoint numbers.*" "enable breakpoints delete"
+gdb_test "enable breakpoints delete" "Argument required .one or more breakpoint numbers.*"
#test enable breakpoints once
-gdb_test "enable breakpoints once" "Argument required .one or more breakpoint numbers.*" "enable breakpoints once"
+gdb_test "enable breakpoints once" "Argument required .one or more breakpoint numbers.*"
#test enable breakpoints
gdb_test_no_output "enable breakpoints" "enable breakpoints"
#test enable delete
-gdb_test "enable delete" "Argument required .one or more breakpoint numbers.*" "enable delete"
+gdb_test "enable delete" "Argument required .one or more breakpoint numbers.*"
#test enable display
gdb_test_no_output "enable display" "enable display"
#test enable once
-gdb_test "enable once" "Argument required .one or more breakpoint numbers.*" "enable once"
+gdb_test "enable once" "Argument required .one or more breakpoint numbers.*"
#test enable
gdb_test_no_output "enable" "enable"
#test exec-file
#test frame "f" abbreviation
gdb_test "f" "No stack." "frame \"f\" abbreviation"
#test frame
-gdb_test "frame" "No stack." "frame"
+gdb_test "frame" "No stack."
#test fg
-gdb_test "fg" "The program is not being run." "fg"
+gdb_test "fg" "The program is not being run."
#test file
send_gdb "file\n"
}
#test finish
-gdb_test "finish" "The program is not being run." "finish"
+gdb_test "finish" "The program is not being run."
#test forward-search
# The message here comes from the regexp library, not gdb, and so can
# vary on different systems.
-gdb_test "forward-search" "No previous regular expression.*|There is no previous regular expression.*" "forward-search"
+gdb_test "forward-search" "No previous regular expression.*|There is no previous regular expression.*"
#test gcore
gdb_test_multiple "gcore" "gcore" {
#test help "h" abbreviation
gdb_test "h" "List of classes of commands:(\[^\r\n\]*\[\r\n\])+aliases -- Aliases of other commands(\[^\r\n\]*\[\r\n\])+breakpoints -- Making program stop at certain points(\[^\r\n\]*\[\r\n\])+data -- Examining data(\[^\r\n\]*\[\r\n\])+files -- Specifying and examining files(\[^\r\n\]*\[\r\n\])+obscure -- Obscure features(\[^\r\n\]*\[\r\n\])+running -- Running the program(\[^\r\n\]*\[\r\n\])+stack -- Examining the stack(\[^\r\n\]*\[\r\n\])+status -- Status inquiries(\[^\r\n\]*\[\r\n\])+support -- Support facilities(\[^\r\n\]*\[\r\n\])+user-defined -- User-defined commands(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by a class name for a list of commands in that class.(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by command name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "help \"h\" abbreviation"
#test help
-gdb_test "help" "List of classes of commands:(\[^\r\n\]*\[\r\n\])+aliases -- Aliases of other commands(\[^\r\n\]*\[\r\n\])+breakpoints -- Making program stop at certain points(\[^\r\n\]*\[\r\n\])+data -- Examining data(\[^\r\n\]*\[\r\n\])+files -- Specifying and examining files(\[^\r\n\]*\[\r\n\])+obscure -- Obscure features(\[^\r\n\]*\[\r\n\])+running -- Running the program(\[^\r\n\]*\[\r\n\])+stack -- Examining the stack(\[^\r\n\]*\[\r\n\])+status -- Status inquiries(\[^\r\n\]*\[\r\n\])+support -- Support facilities(\[^\r\n\]*\[\r\n\])+user-defined -- User-defined commands(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by a class name for a list of commands in that class.(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by command name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "help"
+gdb_test "help" "List of classes of commands:(\[^\r\n\]*\[\r\n\])+aliases -- Aliases of other commands(\[^\r\n\]*\[\r\n\])+breakpoints -- Making program stop at certain points(\[^\r\n\]*\[\r\n\])+data -- Examining data(\[^\r\n\]*\[\r\n\])+files -- Specifying and examining files(\[^\r\n\]*\[\r\n\])+obscure -- Obscure features(\[^\r\n\]*\[\r\n\])+running -- Running the program(\[^\r\n\]*\[\r\n\])+stack -- Examining the stack(\[^\r\n\]*\[\r\n\])+status -- Status inquiries(\[^\r\n\]*\[\r\n\])+support -- Support facilities(\[^\r\n\]*\[\r\n\])+user-defined -- User-defined commands(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by a class name for a list of commands in that class.(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by command name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
#test handle
-gdb_test "handle" "Argument required .signal to handle.*" "handle"
+gdb_test "handle" "Argument required .signal to handle.*"
#test info "i" abbreviation
gdb_test "i" "\"info\" must be followed by the name of an info command.(\[^\r\n\]*\[\r\n\])+List of info subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help info\" followed by info subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "info \"i\" abbreviation"
#test info
-gdb_test "info" "\"info\" must be followed by the name of an info command.(\[^\r\n\]*\[\r\n\])+List of info subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help info\" followed by info subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "info"
+gdb_test "info" "\"info\" must be followed by the name of an info command.(\[^\r\n\]*\[\r\n\])+List of info subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help info\" followed by info subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
#test ignore
-gdb_test "ignore" "Argument required .a breakpoint number.*" "ignore"
+gdb_test "ignore" "Argument required .a breakpoint number.*"
#test info address
-gdb_test "info address" "Argument required." "info address"
+gdb_test "info address" "Argument required."
#test info all-registers
-gdb_test "info all-registers" "The program has no registers now." "info all-registers"
+gdb_test "info all-registers" "The program has no registers now."
#test info args
-gdb_test "info args" "No frame selected." "info args"
+gdb_test "info args" "No frame selected."
#test info bogus-gdb-command
-gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" "info bogus-gdb-command"
+gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*"
#test info breakpoints
-gdb_test "info breakpoints" "No breakpoints or watchpoints." "info breakpoints"
+gdb_test "info breakpoints" "No breakpoints or watchpoints."
#test info copying
# FIXME -- doesn't work worth a shit
#send_gdb "info copying"
#
#
#test info display
-gdb_test "info display" "There are no auto-display expressions now." "info display"
+gdb_test "info display" "There are no auto-display expressions now."
#test info frame "f" abbreviation
gdb_test "info f" "No stack.*|No selected frame.*" "info frame \"f\" abbreviation"
#test info frame
-gdb_test "info frame" "No stack.|No selected frame." "info frame"
+gdb_test "info frame" "No stack.|No selected frame."
#test info files
gdb_test_no_output "info files" "info files"
#test info float
-gdb_test "info float" "The program has no registers now." "info float"
+gdb_test "info float" "The program has no registers now."
#test info functions
-gdb_test "info functions" "All defined functions:" "info functions"
+gdb_test "info functions" "All defined functions:"
#test info locals
-gdb_test "info locals" "No frame selected." "info locals"
+gdb_test "info locals" "No frame selected."
#test info program
-gdb_test "info program" "The program being debugged is not being run." "info program"
+gdb_test "info program" "The program being debugged is not being run."
#test info registers
-gdb_test "info registers" "The program has no registers now." "info registers"
+gdb_test "info registers" "The program has no registers now."
#test info stack "s" abbreviation
gdb_test "info s" "No stack." "info stack \"s\" abbreviation"
#test info stack
-gdb_test "info stack" "No stack." "info stack"
+gdb_test "info stack" "No stack."
#test info set
# Test improved to check three parts:
# 1) confirm
}
gdb_test "info symbol" "Argument required .address.."
#test info source
-gdb_test "info source" "No current source file..*" "info source"
+gdb_test "info source" "No current source file..*"
#test info sources
-gdb_test "info sources" "No symbol table is loaded. Use the \"file\" command.*" "info sources"
+gdb_test "info sources" "No symbol table is loaded. Use the \"file\" command.*"
#test info target
gdb_test_no_output "info target" "info target"
#test info terminal
-gdb_test "info terminal" "No saved terminal information." "info terminal"
+gdb_test "info terminal" "No saved terminal information."
# test info threads
-gdb_test "info threads" "No threads." "info threads"
+gdb_test "info threads" "No threads."
#test info types
-gdb_test "info types" "All defined types:" "info types"
+gdb_test "info types" "All defined types:"
#test info variables
-gdb_test "info variables" "All defined variables:" "info variables"
+gdb_test "info variables" "All defined variables:"
#test info vector
-gdb_test "info vector" "The program has no registers now." "info vector"
+gdb_test "info vector" "The program has no registers now."
#test info warranty
-gdb_test "info warranty" "15. *Disclaimer of Warranty.*" "info warranty"
+gdb_test "info warranty" "15. *Disclaimer of Warranty.*"
#test info watchpoints
-gdb_test "info watchpoints" "No watchpoints." "info watchpoints"
+gdb_test "info watchpoints" "No watchpoints."
#test inspect
-gdb_test "inspect" "The history is empty." "inspect"
+gdb_test "inspect" "The history is empty."
#test jump
-gdb_test "jump" "The program is not being run." "jump"
+gdb_test "jump" "The program is not being run."
#test kill
-gdb_test "kill" "The program is not being run." "kill"
+gdb_test "kill" "The program is not being run."
#test list "l" abbreviation
gdb_test "l" "No symbol table is loaded. Use the \"file\" command.*" "list \"l\" abbreviation"
#test list
-gdb_test "list" "No symbol table is loaded. Use the \"file\" command.*" "list"
+gdb_test "list" "No symbol table is loaded. Use the \"file\" command.*"
#test load
# The ``takes a file name'' case is for vxgdb.
# The ``Use the "file" command'' case is for newer GDB versions which try
# to deduce the filename from the exec file.
-gdb_test "load" "You can't do that when your target is `None'.*|The load command takes a file name.*|Must specify at least a file name with the load command.*|.*Use the .file. or .exec-file. command.*" "load"
+gdb_test "load" "You can't do that when your target is `None'.*|The load command takes a file name.*|Must specify at least a file name with the load command.*|.*Use the .file. or .exec-file. command.*"
#test next "n" abbreviation
gdb_test "n" "The program is not being run." "next \"n\" abbreviation"
#test next
-gdb_test "next" "The program is not being run." "next"
+gdb_test "next" "The program is not being run."
#test nexti "ni" abbreviation
gdb_test "ni" "The program is not being run." "nexti \"ni\" abbreviation"
#test nexti
-gdb_test "nexti" "The program is not being run." "nexti"
+gdb_test "nexti" "The program is not being run."
#test output
-gdb_test "output" "Argument required .expression to compute.*" "output"
+gdb_test "output" "Argument required .expression to compute.*"
#test overlay
gdb_test "overlay" "\"overlay\" must be followed by the name of .*"
#test print "p" abbreviation
gdb_test "p" "The history is empty." "print \"p\" abbreviation"
#test print
-gdb_test "print" "The history is empty." "print"
+gdb_test "print" "The history is empty."
#test printf
-gdb_test "printf" "Argument required .format-control string and values to print.*" "printf"
+gdb_test "printf" "Argument required .format-control string and values to print.*"
#test ptype
-gdb_test "ptype" "The history is empty." "ptype"
+gdb_test "ptype" "The history is empty."
#test pwd
-gdb_test "pwd" "Working directory .*" "pwd"
+gdb_test "pwd" "Working directory .*"
#test run "r" abbreviation
if $use_gdb_stub {
#test reverse-search
-gdb_test "reverse-search" "No previous regular expression.*|There is no previous regular expression.*" "reverse-search"
+gdb_test "reverse-search" "No previous regular expression.*|There is no previous regular expression.*"
#test step "s" abbreviation
gdb_test "s" "The program is not being run." "step \"s\" abbreviation #1"
#test step
gdb_test "step" "The program is not being run." "step #1"
#test search
-gdb_test "search" "No previous regular expression.*|There is no previous regular expression.*" "search"
+gdb_test "search" "No previous regular expression.*|There is no previous regular expression.*"
#test section
-gdb_test "section" "Must specify section name and its virtual address.*" "section"
+gdb_test "section" "Must specify section name and its virtual address.*"
#test set annotate
-gdb_test "set annotate" "Argument required .integer to set it to.*" "set annotate"
+gdb_test "set annotate" "Argument required .integer to set it to.*"
#test set args
gdb_test_no_output "set args" "set args"
}
#test set check range
-gdb_test "set check range" ".*" "set check range"
+gdb_test "set check range" ".*"
#test set check type
-gdb_test "set check type" ".*" "set check type"
+gdb_test "set check type" ".*"
#test set complaints
-gdb_test "set complaints" "Argument required .integer to set it to.*" "set complaints"
+gdb_test "set complaints" "Argument required .integer to set it to.*"
#test set confirm
gdb_test_no_output "set confirm" "set confirm"
# Don't test set editing. What if we're talking to a gdb that
# gdb_test "set editing" "" "set editing"
#test set environment
-gdb_test "set environment" "Argument required .environment variable and value.*" "set environment"
+gdb_test "set environment" "Argument required .environment variable and value.*"
#test set height
-gdb_test "set height" "Argument required .integer to set it to.*" "set height"
+gdb_test "set height" "Argument required .integer to set it to.*"
#test set history expansion
gdb_test_no_output "set history expansion" "set history expansion"
#test set history filename
-gdb_test "set history filename" "Argument required .filename to set it to.*" "set history filename"
+gdb_test "set history filename" "Argument required .filename to set it to.*"
# Make sure the history ends up in the right place.
gdb_test_no_output "set history filename [standard_output_file .gdb_history]" \
"set the history filename"
#test set history save
gdb_test_no_output "set history save" "set history save"
#test set history size
-gdb_test "set history size" "Argument required .integer to set it to.*" "set history size"
+gdb_test "set history size" "Argument required .integer to set it to.*"
#test set history
-gdb_test "set history" "\"set history\" must be followed by the name of a history subcommand.(\[^\r\n\]*\[\r\n\])+List of set history subcommands:(\[^\r\n\]*\[\r\n\])+set history expansion -- Set history expansion on command input(\[^\r\n\]*\[\r\n\])+set history filename -- Set the filename in which to record the command history(\[^\r\n\]*\[\r\n\])+set history save -- Set saving of the history record on exit(\[^\r\n\]*\[\r\n\])+set history size -- Set the size of the command history(\[^\r\n\]*\[\r\n\])+Type \"help set history\" followed by set history subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "set history"
+gdb_test "set history" "\"set history\" must be followed by the name of a history subcommand.(\[^\r\n\]*\[\r\n\])+List of set history subcommands:(\[^\r\n\]*\[\r\n\])+set history expansion -- Set history expansion on command input(\[^\r\n\]*\[\r\n\])+set history filename -- Set the filename in which to record the command history(\[^\r\n\]*\[\r\n\])+set history save -- Set saving of the history record on exit(\[^\r\n\]*\[\r\n\])+set history size -- Set the size of the command history(\[^\r\n\]*\[\r\n\])+Type \"help set history\" followed by set history subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
#test set language
-gdb_test "set language" "Requires an argument. Valid arguments are auto, local, unknown, ada, asm, c, c.., d, fortran, go, minimal, modula-2, objective-c, opencl, pascal, rust." "set language"
+gdb_test "set language" "Requires an argument. Valid arguments are auto, local, unknown, ada, asm, c, c.., d, fortran, go, minimal, modula-2, objective-c, opencl, pascal, rust."
#test set listsize
-gdb_test "set listsize" "Argument required .integer to set it to.*" "set listsize"
+gdb_test "set listsize" "Argument required .integer to set it to.*"
#test set print "p" abbreviation
gdb_test "set p" "\"set print\" must be followed by the name of a print subcommand.(\[^\r\n\]*\[\r\n\])+List of set print subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by set print subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "set print \"p\" abbreviation"
#test set print "pr" abbreviation
gdb_test "set pr" "\"set print\" must be followed by the name of a print subcommand.(\[^\r\n\]*\[\r\n\])+List of set print subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by set print subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "set print \"pr\" abbreviation"
#test set print
-gdb_test "set print" "\"set print\" must be followed by the name of a print subcommand.(\[^\r\n\]*\[\r\n\])+List of set print subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by set print subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "set print"
+gdb_test "set print" "\"set print\" must be followed by the name of a print subcommand.(\[^\r\n\]*\[\r\n\])+List of set print subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by set print subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
#test set print address
gdb_test_no_output "set print address" "set print address"
#test set print array
#test set print demangle
gdb_test_no_output "set print demangle" "set print demangle"
#test set print elements
-gdb_test "set print elements" "Argument required .integer to set it to.*" "set print elements"
+gdb_test "set print elements" "Argument required .integer to set it to.*"
#test set print object
gdb_test_no_output "set print object" "set print object"
#test set print pretty
gdb_test_no_output "set print vtbl" "set print vtbl"
# FIXME -- need a test for "set prompt"
#test set radix
-gdb_test "set radix" "Input and output radices now set to decimal 10, hex a, octal 12.*" "set radix"
+gdb_test "set radix" "Input and output radices now set to decimal 10, hex a, octal 12.*"
#test set variable
-gdb_test "set variable" "Argument required .expression to compute.*" "set variable"
+gdb_test "set variable" "Argument required .expression to compute.*"
#test set verbose
gdb_test_no_output "set verbose" "set verbose"
#test set width
-gdb_test "set width" "Argument required .integer to set it to.*" "set width"
+gdb_test "set width" "Argument required .integer to set it to.*"
#test set write
# This is only supported on targets which use exec.o.
gdb_test_no_output "set write" "set write"
#test set
-gdb_test "set" "Argument required .expression to compute.*" "set"
+gdb_test "set" "Argument required .expression to compute.*"
#test shell echo Hi dad!
-gdb_test "shell echo Hi dad!" "Hi dad!" "shell echo Hi dad!"
+gdb_test "shell echo Hi dad!" "Hi dad!"
#test show annotate
-gdb_test "show annotate" "Annotation_level is 0." "show annotate"
+gdb_test "show annotate" "Annotation_level is 0."
#test show args
-gdb_test "show args" "Argument list to give program being debugged when it is started is \"\"." "show args"
+gdb_test "show args" "Argument list to give program being debugged when it is started is \"\"."
# test show check abbreviations
foreach x {"c" "ch" "check"} {
}
#test show check range
-gdb_test "show check range" "Range checking is \"auto; currently off\"." "show check range"
+gdb_test "show check range" "Range checking is \"auto; currently off\"."
#test show check type
-gdb_test "show check type" "Strict type checking is on\." "show check type"
+gdb_test "show check type" "Strict type checking is on\."
#test show commands
-gdb_test "show commands" ".*" "show commands"
+gdb_test "show commands" ".*"
#test show complaints
-gdb_test "show complaints" "Max number of complaints about incorrect symbols is 0." "show complaints"
+gdb_test "show complaints" "Max number of complaints about incorrect symbols is 0."
#test show confirm
-gdb_test "show confirm" "Whether to confirm potentially dangerous operations is o\[a-z\]*." "show confirm"
+gdb_test "show confirm" "Whether to confirm potentially dangerous operations is o\[a-z\]*."
#test show convenience
# This is trickier as there are multiple internal convenience vars and
$show_conv_list
#test show directories
-gdb_test "show directories" "Source directories searched: .cdir\[:;\].cwd" "show directories"
+gdb_test "show directories" "Source directories searched: .cdir\[:;\].cwd"
#test show editing
-gdb_test "show editing" "Editing of command lines as they are typed is o\[a-z\]*." "show editing"
+gdb_test "show editing" "Editing of command lines as they are typed is o\[a-z\]*."
#test show height
-gdb_test "show height" "Number of lines gdb thinks are in a page is.*" "show height"
+gdb_test "show height" "Number of lines gdb thinks are in a page is.*"
#test show history expansion
-gdb_test "show history expansion" "History expansion on command input is o\[a-z\]*.*" "show history expansion"
+gdb_test "show history expansion" "History expansion on command input is o\[a-z\]*.*"
#test show history filename
-gdb_test "show history filename" "The filename in which to record the command history is.*.gdb_history.*" "show history filename"
+gdb_test "show history filename" "The filename in which to record the command history is.*.gdb_history.*"
#test show history save
-gdb_test "show history save" "Saving of the history record on exit is on." "show history save"
+gdb_test "show history save" "Saving of the history record on exit is on."
#test show history size
-gdb_test "show history size" "The size of the command history is.*" "show history size"
+gdb_test "show history size" "The size of the command history is.*"
#test show history
-gdb_test "show history" "expansion: *History expansion on command input is o(\[^\r\n\]*\[\r\n\])+filename: *The filename in which to record the command history is.*.gdb_history(\[^\r\n\]*\[\r\n\])+save: *Saving of the history record on exit is o(\[^\r\n\]*\[\r\n\])+size: * The size of the command history is.*" "show history"
+gdb_test "show history" "expansion: *History expansion on command input is o(\[^\r\n\]*\[\r\n\])+filename: *The filename in which to record the command history is.*.gdb_history(\[^\r\n\]*\[\r\n\])+save: *Saving of the history record on exit is o(\[^\r\n\]*\[\r\n\])+size: * The size of the command history is.*"
#test show language
-gdb_test "show language" "The current source language is \"auto; currently c\"." "show language"
+gdb_test "show language" "The current source language is \"auto; currently c\"."
#test show listsize
-gdb_test "show listsize" "Number of source lines gdb will list by default is 10." "show listsize"
+gdb_test "show listsize" "Number of source lines gdb will list by default is 10."
#test show print "p" abbreviation
-gdb_test "show p" ".*" "show p"
+gdb_test "show p" ".*"
#test show print "pr" abbreviation
-gdb_test "show pr" ".*" "show pr"
+gdb_test "show pr" ".*"
#test show print
-gdb_test "show print" ".*" "show print"
+gdb_test "show print" ".*"
#test show paths
-gdb_test "show paths" "Executable and object file path:.*" "show paths"
+gdb_test "show paths" "Executable and object file path:.*"
#test show print address
-gdb_test "show print address" "Printing of addresses is on." "show print address"
+gdb_test "show print address" "Printing of addresses is on."
#test show print array
-gdb_test "show print array" "Pretty formatting of arrays is on." "show print array"
+gdb_test "show print array" "Pretty formatting of arrays is on."
#test show print asm-demangle
-gdb_test "show print asm-demangle" "Demangling of C\[+\]+/ObjC names in disassembly listings is on." "show print asm-demangle"
+gdb_test "show print asm-demangle" "Demangling of C\[+\]+/ObjC names in disassembly listings is on."
#test show print demangle
-gdb_test "show print demangle" "Demangling of encoded C\[+\]+/ObjC names when displaying symbols is on." "show print demangle"
+gdb_test "show print demangle" "Demangling of encoded C\[+\]+/ObjC names when displaying symbols is on."
#test show print elements
-gdb_test "show print elements" "Limit on string chars or array elements to print is 200." "show print elements"
+gdb_test "show print elements" "Limit on string chars or array elements to print is 200."
#test show print object
-gdb_test "show print object" "Printing of object's derived type based on vtable info is on." "show print object"
+gdb_test "show print object" "Printing of object's derived type based on vtable info is on."
#test show print pretty
-gdb_test "show print pretty" "Pretty formatting of structures is on." "show print pretty"
+gdb_test "show print pretty" "Pretty formatting of structures is on."
#test show print sevenbit-strings
-gdb_test "show print sevenbit-strings" "Printing of 8-bit characters in strings as .nnn is on." "show print sevenbit-strings"
+gdb_test "show print sevenbit-strings" "Printing of 8-bit characters in strings as .nnn is on."
#test show print union
-gdb_test "show print union" "Printing of unions interior to structures is on." "show print union"
+gdb_test "show print union" "Printing of unions interior to structures is on."
#test show print vtbl
-gdb_test "show print vtbl" "Printing of C\[+\]+ virtual function tables is on." "show print vtbl"
+gdb_test "show print vtbl" "Printing of C\[+\]+ virtual function tables is on."
#test show prompt
# In the FAIL case, can't just look for $gdb_prompt because that will match
# the output, rather than the prompt. So look for $gdb_prompt at the start
# of a line.
-gdb_test "show prompt" "Gdb's prompt is \"$gdb_prompt \".*" "show prompt"
+gdb_test "show prompt" "Gdb's prompt is \"$gdb_prompt \".*"
#test show radix
-gdb_test "show radix" "Input and output radices set to decimal 10, hex a, octal 12." "show radix"
+gdb_test "show radix" "Input and output radices set to decimal 10, hex a, octal 12."
#test show user
gdb_test_no_output "show user" "show user"
#test show values
gdb_test_no_output "show values" "show values"
#test show verbose
-gdb_test "show verbose" "Verbose printing of informational messages is o.*|Verbosity is off.*" "show verbose"
+gdb_test "show verbose" "Verbose printing of informational messages is o.*|Verbosity is off.*"
#test show version
-gdb_test "show version" "GNU gdb \[0-9\.\]*(\[^\r\n\]*\[\r\n\])+Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc(\[^\r\n\]*\[\r\n\])+License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>(\[^\r\n\]*\[\r\n\])+This is free software: you are free to change and redistribute it.(\[^\r\n\]*\[\r\n\])+There is NO WARRANTY, to the extent permitted by law.(\[^\r\n\]*\[\r\n\])+Type \"show copying\" and \"show warranty\" for details..*" "show version"
+gdb_test "show version" "GNU gdb \[0-9\.\]*(\[^\r\n\]*\[\r\n\])+Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc(\[^\r\n\]*\[\r\n\])+License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>(\[^\r\n\]*\[\r\n\])+This is free software: you are free to change and redistribute it.(\[^\r\n\]*\[\r\n\])+There is NO WARRANTY, to the extent permitted by law.(\[^\r\n\]*\[\r\n\])+Type \"show copying\" and \"show warranty\" for details..*"
#test show width
-gdb_test "show width" "Number of characters gdb thinks are in a line is.*" "show width"
+gdb_test "show width" "Number of characters gdb thinks are in a line is.*"
#test show write
# This is only supported on targets which use exec.o.
-gdb_test "show write" "Writing into executable and core files is o.*" "show write"
+gdb_test "show write" "Writing into executable and core files is o.*"
#test show
set show_confirm_seen 0
set show_prompt_seen 0
#test stepi "si" abbreviation
gdb_test "si" "The program is not being run." "stepi \"si\" abbreviation"
#test stepi
-gdb_test "stepi" "The program is not being run." "stepi"
+gdb_test "stepi" "The program is not being run."
#test signal
-gdb_test "signal" "The program is not being run." "signal"
+gdb_test "signal" "The program is not being run."
#test source
-gdb_test "source" "source command requires file name of file to source..*|No such file or directory.*" "source"
+gdb_test "source" "source command requires file name of file to source..*|No such file or directory.*"
#test step "s" abbreviation
gdb_test "s" "The program is not being run." "step \"s\" abbreviation #2"
#test step
gdb_test "step" "The program is not being run." "step #2"
#test symbol-file
-gdb_test "symbol-file" ".*" "symbol-file"
+gdb_test "symbol-file" ".*"
#test target native
-gdb_test "target native" "Use the \"run\" command to start a process.*|Undefined target command: \"native\". *Try \"help target\".*" "target native"
+gdb_test "target native" "Use the \"run\" command to start a process.*|Undefined target command: \"native\". *Try \"help target\".*"
#test target core
send_gdb "target core\n"
}
#test target
-gdb_test "target" "Argument required .target name.*" "target"
+gdb_test "target" "Argument required .target name.*"
#test tbreak
-gdb_test "tbreak" "No default breakpoint address now." "tbreak"
+gdb_test "tbreak" "No default breakpoint address now."
#test thread
-gdb_test "thread" "No thread selected" "thread"
+gdb_test "thread" "No thread selected"
#test thread apply
-gdb_test "thread apply" "Please specify a thread ID list" "thread apply"
+gdb_test "thread apply" "Please specify a thread ID list"
#test thread find
-gdb_test "thread find" "Command requires an argument." "thread find"
+gdb_test "thread find" "Command requires an argument."
#test thread name
-gdb_test "thread name" "No thread selected" "thread name"
+gdb_test "thread name" "No thread selected"
#test until "u" abbreviation
gdb_test "u" "The program is not being run." "until \"u\" abbreviation"
#test until
-gdb_test "until" "The program is not being run." "until"
+gdb_test "until" "The program is not being run."
#test undisplay
# FIXME -- need to dump full output to detailed log
"y"
#test unset
-gdb_test "unset" "\"unset\" must be followed by the name of an unset subcommand.(\[^\r\n\]*\[\r\n\])+List of unset subcommands:(\[^\r\n\]*\[\r\n\])+unset environment -- Cancel environment variable VAR for the program(\[^\r\n\]*\[\r\n\])+Type \"help unset\" followed by unset subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "unset"
+gdb_test "unset" "\"unset\" must be followed by the name of an unset subcommand.(\[^\r\n\]*\[\r\n\])+List of unset subcommands:(\[^\r\n\]*\[\r\n\])+unset environment -- Cancel environment variable VAR for the program(\[^\r\n\]*\[\r\n\])+Type \"help unset\" followed by unset subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
#test up
#test up-silently
-gdb_test "up-silently" "No stack." "up-silently"
+gdb_test "up-silently" "No stack."
#test watch
-gdb_test "watch" "Argument required .expression to compute.*" "watch"
+gdb_test "watch" "Argument required .expression to compute.*"
#test whatis
-gdb_test "whatis" "The history is empty." "whatis"
+gdb_test "whatis" "The history is empty."
#test where
-gdb_test "where" "No stack." "where"
+gdb_test "where" "No stack."
#test x
-gdb_test "x" "Argument required .starting display address.*" "x"
+gdb_test "x" "Argument required .starting display address.*"
gdb_exit
".*n /x j" \
".*y /1bi &k" \
".*y /f f" \
- ] "info disp"
+ ]
gdb_test "cont" [multi_line \
".*\[Ww\]atch.*" \
"y"
}
-gdb_test "disab 3" ".*.*" "disab 3"
+gdb_test "disab 3" ".*.*"
gdb_test "cont" ".*Breakpoint 4.*" "watch off"
# Now the printf tests
# x/0 j doesn't produce any output and terminates PA64 process when testing
gdb_test_no_output "x/0 j"
-gdb_test "print/0 j" ".*Item count other than 1 is meaningless.*" "print/0 j"
+gdb_test "print/0 j" ".*Item count other than 1 is meaningless.*"
gdb_test "print/s sum" " = 1000" "ignored s"
gdb_test "print/i sum" ".*Format letter.*is meaningless.*.*" "no i"
gdb_test "print/a &sum" ".*= $hex.*<sum>.*"
# Test "info float".
if { [is_aarch64_target] } then {
- gdb_test "info float" "d0.*d1.*d31.*s0.*s1.*s31.*" "info float"
+ gdb_test "info float" "d0.*d1.*d31.*s0.*s1.*s31.*"
} elseif { [istarget "alpha*-*-*"] } then {
- gdb_test "info float" "f0.*" "info float"
+ gdb_test "info float" "f0.*"
} elseif { [is_aarch32_target] } then {
gdb_test_multiple "info float" "info float" {
-re "Software FPU type.*mask:.*flags:.*$gdb_prompt $" {
}
}
} elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } then {
- gdb_test "info float" "R7:.*Status Word:.*Opcode:.*" "info float"
+ gdb_test "info float" "R7:.*Status Word:.*Opcode:.*"
} elseif [istarget "ia64-*-*"] then {
- gdb_test "info float" "f0.*f1.*f127.*" "info float"
+ gdb_test "info float" "f0.*f1.*f127.*"
} elseif [istarget "m68k-*-*"] then {
gdb_test_multiple "info float" "info_float" {
-re "fp0.*fp1.*fp7.*$gdb_prompt $" {
}
gdb_test "show follow-fork" \
- "Debugger response to a program call of fork or vfork is \"$who\"." \
- "show follow-fork"
+ "Debugger response to a program call of fork or vfork is \"$who\"."
# Set detach-on-fork mode if we aren't using the default.
if {$detach == "default"} {
}
gdb_test "show detach-on-fork" \
- "Whether gdb will detach.* fork is $detach." \
- "show detach-on-fork"
+ "Whether gdb will detach.* fork is $detach."
# Set a breakpoint after the fork if we aren't single-stepping
# past the fork.
if {$who == "parent" && $detach == "on"} {
# Follow parent / detach child: the only inferior is the parent.
- gdb_test "info inferiors" "\\* 1 .* process.*" \
- "info inferiors"
+ gdb_test "info inferiors" "\\* 1 .* process.*"
} elseif {$who == "parent" && $detach == "off"} {
# Follow parent / keep child: two inferiors under debug, the
# parent is the current inferior.
- gdb_test "info inferiors" "\\* 1 .*process.* 2 .*process.*" \
- "info inferiors"
+ gdb_test "info inferiors" "\\* 1 .*process.* 2 .*process.*"
gdb_test "inferior 2" "Switching to inferior 2 .*"
set resume_unfollowed 1
# Follow child / detach parent: the child is under debug and is
# the current inferior. The parent is listed but is not under
# debug.
- gdb_test "info inferiors" " 1 .*<null>.*\\* 2 .*process.*" \
- "info inferiors"
+ gdb_test "info inferiors" " 1 .*<null>.*\\* 2 .*process.*"
} elseif {$who == "child" && $detach == "off"} {
# Follow child / keep parent: two inferiors under debug, the
# child is the current inferior.
- gdb_test "info inferiors" " 1 .*process.*\\* 2 .*process.*" \
- "info inferiors"
+ gdb_test "info inferiors" " 1 .*process.*\\* 2 .*process.*"
gdb_test "inferior 1" "Switching to inferior 1 .*"
set resume_unfollowed 1
.*parent - the original process is debugged after a fork.*
.*child - the new process is debugged after a fork.*
The unfollowed process will continue to run..*
-By default, the debugger will follow the parent process..*" \
- "help set follow-fork"
+By default, the debugger will follow the parent process..*"
# Verify that we can set follow-fork-mode, using an abbreviation
# for both the flag and its value.
# test help backtrace "bt" abbreviation
gdb_test "help bt" $help_backtrace_text "help backtrace \"bt\" abbreviation"
# test help backtrace
-gdb_test "help backtrace" $help_backtrace_text "help backtrace"
+gdb_test "help backtrace" $help_backtrace_text
# test help commands
-gdb_test "help commands" "Set commands to be executed when the given breakpoints are hit\.\[\r\n\]+Give a space-separated breakpoint list as argument after \"commands\"\.\[\r\n\]+A list element can be a breakpoint number \\(e.g. `5'\\) or a range of numbers\[\r\n\]+\\(e.g. `5-7'\\)\.\[\r\n\]+With no argument, the targeted breakpoint is the last one set\.\[\r\n\]+The commands themselves follow starting on the next line\.\[\r\n\]+Type a line containing \"end\" to indicate the end of them\.\[\r\n\]+Give \"silent\" as the first line to make the breakpoint silent;\[\r\n\]+then no output is printed when it is hit, except what the commands print\." "help commands"
+gdb_test "help commands" "Set commands to be executed when the given breakpoints are hit\.\[\r\n\]+Give a space-separated breakpoint list as argument after \"commands\"\.\[\r\n\]+A list element can be a breakpoint number \\(e.g. `5'\\) or a range of numbers\[\r\n\]+\\(e.g. `5-7'\\)\.\[\r\n\]+With no argument, the targeted breakpoint is the last one set\.\[\r\n\]+The commands themselves follow starting on the next line\.\[\r\n\]+Type a line containing \"end\" to indicate the end of them\.\[\r\n\]+Give \"silent\" as the first line to make the breakpoint silent;\[\r\n\]+then no output is printed when it is hit, except what the commands print\."
# Test a prefix command. "delete" is picked at random.
# test help delete "d" abbreviation
# test help help "h" abbreviation
gdb_test "help h" "Print list of commands\." "help help \"h\" abbreviation"
# test help help
-gdb_test "help help" "Print list of commands\." "help help"
+gdb_test "help help" "Print list of commands\."
# The startup banner refers to "show copying" and "show warranty",
# might as well test for them.
# test help info copying
-gdb_test "help show copying" "Conditions for redistributing copies of GDB\." \
- "help show copying"
+gdb_test "help show copying" "Conditions for redistributing copies of GDB\."
# test help info warranty
-gdb_test "help show warranty" "Various kinds of warranty you do not have\." \
- "help show warranty"
+gdb_test "help show warranty" "Various kinds of warranty you do not have\."
# Test a few other random "help show" commands.
# test help show commands
-gdb_test "help show commands" "Show the history of commands you typed\.\[\r\n\]+You can supply a command number to start with, or a `\[+\]' to start after\[\r\n\]+the previous command number shown\." "help show commands"
+gdb_test "help show commands" "Show the history of commands you typed\.\[\r\n\]+You can supply a command number to start with, or a `\[+\]' to start after\[\r\n\]+the previous command number shown\."
# test help show confirm
-gdb_test "help show confirm" "Show whether to confirm potentially dangerous operations\." "help show confirm"
+gdb_test "help show confirm" "Show whether to confirm potentially dangerous operations\."
# test help info bogus-gdb-command
-gdb_test "help info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\"\. Try \"help info\"\." "help info bogus-gdb-command"
+gdb_test "help info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\"\. Try \"help info\"\."
# test help gotcha
-gdb_test "help gotcha" "Undefined command: \"gotcha\"\. Try \"help\"\." "help gotcha"
+gdb_test "help gotcha" "Undefined command: \"gotcha\"\. Try \"help\"\."
# test apropos regex
gdb_test "apropos \\\(print\[\^\[ bsiedf\\\".-\]\\\)" "handle -- Specify how to handle signals\."
# Test various error messages.
gdb_test "info macro -- -all" \
- "The symbol `-all' has no definition .*\r\nat .*$srcfile:\[0-9\]+" \
- "info macro -- -all"
+ "The symbol `-all' has no definition .*\r\nat .*$srcfile:\[0-9\]+"
gdb_test "info macro -- -all" \
- "The symbol `-all' has no definition .*\r\nat .*$srcfile:\[0-9\]+" \
- "info macro -- -all"
+ "The symbol `-all' has no definition .*\r\nat .*$srcfile:\[0-9\]+"
gdb_test "info macro -all --" \
- "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]" \
- "info macro -all --"
+ "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]"
gdb_test "info macro -all --" \
- "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]" \
- "info macro -all --"
+ "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]"
gdb_test "info macro -all --" \
- "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]" \
- "info macro -all --"
+ "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]"
gdb_test "info macro --" \
- "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]" \
- "info macro --"
+ "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]"
gdb_test "info macro -- " \
- "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]" \
- "'info macro -- '"
+ "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]"
gdb_test "info macro -- " \
- "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]" \
- "'info macro -- '"
+ "You must follow.*with the name.*you want to see.*\[^\r\n\]*\[\r\n\]"
gdb_test "info macro -invalid-option" \
- "Unrecognized option.*Try \"help info macro\"\." \
- "info macro -invalid-option 1"
+ "Unrecognized option.*Try \"help info macro\"\."
gdb_test "info macro -invalid-option" \
- "Unrecognized option.*Try \"help info macro\"\." \
- "info macro -invalid-option"
+ "Unrecognized option.*Try \"help info macro\"\."
gdb_test "info macro -invalid-option FOO" \
- "Unrecognized option.*Try \"help info macro\"\." \
- "info macro -invalid-option FOO"
+ "Unrecognized option.*Try \"help info macro\"\."
gdb_test "info macro -invalid-option FOO" \
- "Unrecognized option.*Try \"help info macro\"\." \
- "info macro -invalid-option FOO"
+ "Unrecognized option.*Try \"help info macro\"\."
# Single macro lookups.
gdb_test "info macro -- FOO" \
- ".*#define FOO \"hello\"" \
- "info macro -- FOO"
+ ".*#define FOO \"hello\""
gdb_test "info macro -- FOO" \
- ".*#define FOO \"hello\"" \
- "info macro -- FOO"
+ ".*#define FOO \"hello\""
gdb_test "info macro -- FOO" \
- ".*#define FOO \"hello\"" \
- "info macro -- FOO"
+ ".*#define FOO \"hello\""
gdb_test "info macro FOO" \
- ".*#define FOO \"hello\"" \
- "info macro FOO"
+ ".*#define FOO \"hello\""
gdb_test "info macro FOO" \
- ".*#define FOO \"hello\"" \
- "info macro FOO"
+ ".*#define FOO \"hello\""
# Multiple macro lookups.
set test "info macro -a FOO"
gdb_test "$test" "$r1$r2$r3$r4" "$testname"
set test "info macro -a -- FOO"
-set testname "$test"
-gdb_test "$test" "$r1$r2$r3$r4" "$testname"
+gdb_test "$test" "$r1$r2$r3$r4"
set test "info macro -a -- FOO"
-set testname "$test"
-gdb_test "$test" "$r1$r2$r3$r4" "$testname"
+gdb_test "$test" "$r1$r2$r3$r4"
proc gdb_test_multiple_with_read1_timeout_factor { factor command message \
user_code } {
# info macros on the line where the #define or #include is
# fails to find the macro defined (though it works on the next line.)
setup_kfail "gdb/NNNN" *-*-*
-gdb_test "$test" "$r1$r2" "$test"
+gdb_test "$test" "$r1$r2"
gdb_test "info proc" "process ${decimal}.*" "info proc with process"
gdb_test "info proc mapping" \
- ".*Mapped address spaces:.*${hex}${ws}${hex}${ws}${hex}${ws}${hex}.*" \
- "info proc mapping"
+ ".*Mapped address spaces:.*${hex}${ws}${hex}${ws}${hex}${ws}${hex}.*"
if {[istarget "*-*-linux*"]} {
if { $cmdline != "" } {
# it is formatted properly. For instance, make sure that no '\n' is
# missing at the end some lines.
gdb_test "info target" \
- "Symbols from \".*${testfile}.*\"\\..*${eol}Local exec file:${eol}.*Entry point: 0x\[0-9a-zA-Z\]+${eol}.*" \
- "info target"
-
+ "Symbols from \".*${testfile}.*\"\\..*${eol}Local exec file:${eol}.*Entry point: 0x\[0-9a-zA-Z\]+${eol}.*"
return [lindex $pats $i]
}
-proc gdb_test_xxx { test pat name } {
+proc gdb_test_xxx { test pat args } {
if { $pat == "" } {
setup_kfail gdb/1672 *-*-*
- gdb_test $test "xxx" $name
- } else {
+ set pat "xxx"
+ }
+ if { [llength $args] == 1 } {
+ set name [lindex $args 0]
gdb_test $test $pat $name
}
+
+ gdb_test $test $pat
}
proc gdb_test_ptr { test args } {
global sizeof_data_ptr
- gdb_test_xxx $test [pat2 $sizeof_data_ptr $args] $test
+ gdb_test_xxx $test [pat2 $sizeof_data_ptr $args]
}
proc gdb_test_xptr { examine args } {
proc gdb_test_char { test args } {
global sizeof_char
- gdb_test_xxx $test [pat2 $sizeof_char $args] $test
+ gdb_test_xxx $test [pat2 $sizeof_char $args]
}
proc gdb_test_short { test args } {
global sizeof_short
- gdb_test_xxx $test [pat2 $sizeof_short $args] $test
+ gdb_test_xxx $test [pat2 $sizeof_short $args]
}
proc gdb_test_int { test args } {
global sizeof_int
- gdb_test_xxx $test [pat2 $sizeof_int $args] $test
+ gdb_test_xxx $test [pat2 $sizeof_int $args]
}
proc gdb_test_long { test args } {
global sizeof_long
- gdb_test_xxx $test [pat2 $sizeof_long $args] $test
+ gdb_test_xxx $test [pat2 $sizeof_long $args]
}
proc gdb_test_long_long { test args } {
global sizeof_long_long
- gdb_test_xxx $test [pat2 $sizeof_long_long $args] $test
+ gdb_test_xxx $test [pat2 $sizeof_long_long $args]
}
gdb_breakpoint [gdb_get_line_number "Stop here and look"]
gdb_test "continue" "foo = 0;.*" "continue to macsp_expr"
gdb_test "print address.addr" \
- " = 0" \
- "print address.addr"
+ " = 0"
gdb_test "print MACRO_TO_EXPAND" \
"No symbol \"MACRO_TO_EXPAND\" in current context\." \
"define si_addr macro"
gdb_test "macro expand siginfo.si_addr" \
- "expands to: siginfo.fields.fault.si_addr" \
- "macro expand siginfo.si_addr"
+ "expands to: siginfo.fields.fault.si_addr"
gdb_test "print __FILE__" " = \".*macscp1.c\""
gdb_test "print __LINE__" \
set see5 0
gdb_test "delete mem 2-4" \
- "No memory region number 2.*No memory region number 4." \
- "delete mem 2-4"
+ "No memory region number 2.*No memory region number 4."
gdb_test_multiple "info mem" "mem 2-4 were deleted" {
-re ${info_mem_header_pattern} {
# Discard the header.
clean_restart ${binfile}
gdb_test "ptype struct not_empty" \
- "type = struct not_empty {$eol${sp}void \\*e;$eol${sp}void \\*u;$eol}" \
- "ptype struct not_empty"
+ "type = struct not_empty {$eol${sp}void \\*e;$eol${sp}void \\*u;$eol}"
gdb_test "ptype struct empty" \
- "type = struct empty {$eol$sp<no data fields>$eol}" \
- "ptype struct empty"
+ "type = struct empty {$eol$sp<no data fields>$eol}"
gdb_test "ptype union empty_union" \
- "type = union empty_union {$eol$sp<no data fields>$eol}" \
- "ptype union empty_union"
-
+ "type = union empty_union {$eol$sp<no data fields>$eol}"
gdb_test "print *pUC" " = 21 \'.025\'.*" "print value of *pUC"
-gdb_test "ptype pUC" "type = unsigned char \\*" "ptype pUC"
+gdb_test "ptype pUC" "type = unsigned char \\*"
gdb_test "print *pS" " = -14" "print value of *pS"
gdb_test "print *pI" " = 102" "print value of *pI"
-gdb_test "ptype pI" "type = int \\*" "ptype pI"
+gdb_test "ptype pI" "type = int \\*"
gdb_test "print *pUI" " = 1002" "print value of *pUI"
-gdb_test "ptype pUI" "type = unsigned int \\*" "ptype pUI"
+gdb_test "ptype pUI" "type = unsigned int \\*"
gdb_test "print *pL" " = -234" "print value of *pL"
gdb_test "print *pF" " = 1.2\[0-9\]*e\\+0?10" "print value of *pF"
-gdb_test "ptype pF" "type = float \\*" "ptype pF"
+gdb_test "ptype pF" "type = float \\*"
gdb_test "print *pD" " = -1.2\[0-9\]*e\\-0?37" "print value of *pD"
-gdb_test "ptype pD" "type = double \\*" "ptype pD"
+gdb_test "ptype pD" "type = double \\*"
gdb_test "print ******ppppppC" " = 65 \'A\'" \
"print value of ******ppppppC"
-gdb_test "ptype pC" "type = char \\*" "ptype pC"
+gdb_test "ptype pC" "type = char \\*"
-gdb_test "ptype ppC" "type = char \\*\\*" "ptype ppC"
+gdb_test "ptype ppC" "type = char \\*\\*"
-gdb_test "ptype pppC" "type = char \\*\\*\\*" "ptype pppC"
+gdb_test "ptype pppC" "type = char \\*\\*\\*"
-gdb_test "ptype ppppC" "type = char \\*\\*\\*\\*" "ptype ppppC"
+gdb_test "ptype ppppC" "type = char \\*\\*\\*\\*"
-gdb_test "ptype pppppC" "type = char \\*\\*\\*\\*\\*" "ptype pppppC"
+gdb_test "ptype pppppC" "type = char \\*\\*\\*\\*\\*"
-gdb_test "ptype ppppppC" "type = char \\*\\*\\*\\*\\*\\*" "ptype ppppppC"
+gdb_test "ptype ppppppC" "type = char \\*\\*\\*\\*\\*\\*"
# Regression test for a crash.
# Without a target, the below produces no output
# but with a target, it gives a warning.
# So, use gdb_test expecting ".*" instead of gdb_test_no_output.
- gdb_test "set language ada" ".*" "set language ada"
+ gdb_test "set language ada" ".*"
gdb_test_no_output "set var \$astr := \"fghij\"" "set \$astr"
gdb_test "printf \"astr val = %s\\n\", \$astr" "astr val = fghij" \
"printf \$astr"
# Switch to c++ for the wide strings tests, as wchar_t is predefined
# when current language is c++.
# See above "set language ada" about why we use gdb_test.
- gdb_test "set language c++" ".*" "set language c++"
+ gdb_test "set language c++" ".*"
gdb_test_no_output "set var \$wstr = L\"facile\"" \
"set \$wstr"
gdb_test "printf \"wstr val = %ls\\n\", \$wstr" \
# correctly printed (at nesting level 1 and 2).
gdb_test "ptype the_highest" \
- "type = struct highest \{.*\[\r\n\] *int a;.*\[\r\n\] *struct \{.*\[\r\n\] *int b;.*\[\r\n\] *struct \{\.\.\.\} anonymous_level_2;.*\[\r\n\] *\} anonymous_level_1;.*\[\r\n\]}.*" \
- "ptype the_highest"
+ "type = struct highest \{.*\[\r\n\] *int a;.*\[\r\n\] *struct \{.*\[\r\n\] *int b;.*\[\r\n\] *struct \{\.\.\.\} anonymous_level_2;.*\[\r\n\] *\} anonymous_level_1;.*\[\r\n\]}.*"
# Print the type descrption for one of the fields of variable the_highest.
# The purpose is to verify that the type of a field that was printed above
set timeout $prev_timeout
# Test ptype of user register
- gdb_test "ptype \$pc" "void \\(\\*\\)\\(\\)" "ptype \$pc"
+ gdb_test "ptype \$pc" "void \\(\\*\\)\\(\\)"
}
for {set c 1} {$c <= $limit} {incr c} {
# Set a breakpoint at the next caller function.
- gdb_test "tbreak caller$c" "Temporary breakpoint.*\[0-9\]*\\." \
- "tbreak caller$c"
+ gdb_test "tbreak caller$c" "Temporary breakpoint.*\[0-9\]*\\."
# Continue to the next caller function.
gdb_test "continue" " caller$c prologue .*" "run to caller$c"
}
# Set breakpoints in other interesting functions.
- gdb_test "break func2" ".*" "break func2"
- gdb_test "break func3" ".*" "break func3"
+ gdb_test "break func2" ".*"
+ gdb_test "break func3" ".*"
gdb_test "continue" "return -5;" "continue to return of -5"
# Print scope0.c::filelocal, which is 1
- if [gdb_test "print filelocal" "\\\$$decimal = 1" "print filelocal" ] {
+ if [gdb_test "print filelocal" "\\\$$decimal = 1"] {
gdb_suppress_tests
}
# Print scope0.c::filelocal_bss, which is 101
- if [gdb_test "print filelocal_bss" "\\\$$decimal = 101" "print filelocal_bss" ] {
+ if [gdb_test "print filelocal_bss" "\\\$$decimal = 101"] {
gdb_suppress_tests
}
# Print scope1.c::foo::funclocal, which is 3
- if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal" ] {
+ if [gdb_test "print foo::funclocal" "\\\$$decimal = 3"] {
gdb_suppress_tests
}
# Print scope1.c::foo::funclocal_ro, which is 203
- if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro" ] {
+ if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203"] {
gdb_suppress_tests
}
# Print scope1.c::bar::funclocal, which is 4
- if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal" ] {
+ if [gdb_test "print bar::funclocal" "\\\$$decimal = 4"] {
gdb_suppress_tests
}
# Verify that set command without assignment emits a warning.
#
-gdb_test "set language ada" ".*" "set language ada"
+gdb_test "set language ada" ".*"
gdb_test "set x=3" \
"warning: Expression is not an assignment \\(and might have no effect\\)" \
set gdb_prompt $old_gdb_prompt
#test set annotate 1
-gdb_test "set annotate 1" ".*post-prompt.*" "set annotate 1"
+gdb_test "set annotate 1" ".*post-prompt.*"
gdb_test "show annotate" "Annotation_level is 1..*" "show annotate (1)"
#test annotation_level 1
gdb_test "info line 1" "Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*" "annotation_level 1"
#test set args
gdb_test_no_output "set args foo bar blup baz bubble" "set args"
#test show args
-gdb_test "show args" "Argument list to give program being debugged when it is started is \"foo bar blup baz bubble\"..*" "show args"
+gdb_test "show args" "Argument list to give program being debugged when it is started is \"foo bar blup baz bubble\"..*"
gdb_test "p \$_gdb_setting(\"args\")" " = \"foo bar blup baz bubble\"" \
"_gdb_setting args"
gdb_test_no_output "set environment FOOBARBAZ = grbxgrbxgrbx" \
"set environment FOOBARBAZ"
#test show environment FOOBARBAZ
-gdb_test "show environment FOOBARBAZ" "FOOBARBAZ = grbxgrbxgrbx.*" "show environment FOOBARBAZ"
+gdb_test "show environment FOOBARBAZ" "FOOBARBAZ = grbxgrbxgrbx.*"
#test set height 100
gdb_test_no_output "set height 100" "set height 100"
#test show height 100
-gdb_test "show height" "Number of lines gdb thinks are in a page is 100..*" "show height"
+gdb_test "show height" "Number of lines gdb thinks are in a page is 100..*"
gdb_test "p \$_gdb_setting_str(\"height\")" " = \"100\"" \
"_gdb_setting_str height 100"
gdb_test "p \$_gdb_setting(\"height\")" " = 100" \
}
#test set radix 11
-gdb_test "set radix 11" "Unsupported output radix ``decimal 11''; output radix unchanged..*" "set radix 11"
+gdb_test "set radix 11" "Unsupported output radix ``decimal 11''; output radix unchanged..*"
#test set radix 16
-gdb_test "set radix 16" "Input and output radices now set to decimal 16, hex 10, octal 20..*" "set radix 16"
+gdb_test "set radix 16" "Input and output radices now set to decimal 16, hex 10, octal 20..*"
#test show radix 16
gdb_test "show radix" "Input and output radices set to decimal 16, hex 10, octal 20..*" "show radix (16)"
#test set radix 10
#print g
-gdb_test "print g" "\[0-9\]* = 1" "print g"
+gdb_test "print g" "\[0-9\]* = 1"
#step -over
if ![gdb_skip_stdio_test "next over shr1"] {
#print g
-gdb_test "print g" "\[0-9\]* = 2" "print g"
+gdb_test "print g" "\[0-9\]* = 2"
#print shr1(1)
if ![gdb_skip_stdio_test "print shr1(1)"] {
}
#print mainshr1(1)
-gdb_test "print mainshr1(1)" "\[0-9\]* = 2" "print mainshr1(1)"
+gdb_test "print mainshr1(1)" "\[0-9\]* = 2"
#step
gdb_test "step" "mainshr1 \\(g=4\\) at.*return 2.g;" \
# symbolic signal name, or an integer ID.
gdb_test "info signal SIGTRAP" \
- "SIGTRAP\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*No\[ \t\]*Trace/breakpoint trap.*" \
- "info signal SIGTRAP"
+ "SIGTRAP\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*No\[ \t\]*Trace/breakpoint trap.*"
gdb_test "info signal 5" \
- "SIGTRAP\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*No\[ \t\]*Trace/breakpoint trap.*" \
- "info signal 5"
+ "SIGTRAP\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*No\[ \t\]*Trace/breakpoint trap.*"
# Verify that "handle" with illegal arguments is gracefully, um,
# handled.
sleep 1
# Insert the handler breakpoint.
- gdb_test "break handler" ".*" "break handler"
+ gdb_test "break handler" ".*"
# Step into the handler.
gdb_test "$cmd" " handler .*" "performing $cmd"
gdb_test_no_output "set itimer = itimer_real"
gdb_test "break $infinite_loop" ".*" "break infinite loop"
- gdb_test "break handler" ".*" "break handler"
+ gdb_test "break handler" ".*"
# Continue to the infinite loop.
gdb_test "continue" "while ..done.*" "continue to infinite loop"
gdb_test "info skip 2-3" \
"Num\\s+Enb\\s+Glob\\s+File\\s+RE\\s+Function\\s*
2\\s+y\\s+n\\s+<none>\\s+n\\s+main\\s*
-3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+<none>\\s*" \
- "info skip 2-3"
+3\\s+y\\s+n\\s+$srcfile1\\s+n\\s+<none>\\s*"
gdb_test "skip delete 2 3"
gdb_test "info skip" \
"foo in libmd"
gdb_test "continue" \
- "Continuing.*" \
- "continue"
+ "Continuing.*"
# This symbol is now looked up in the ELF library and the binary.
gdb_test "br foo2" \
"check argument not at probe point"
gdb_test "info probes stap" \
- "test *user *$hex .*" \
- "info probes stap"
+ "test *user *$hex .*"
if {[runto "-pstap test:user"]} {
pass "run to -pstap test:user"
set remote_linefile [gdb_remote_download host ${srcdir}/${subdir}/${linefile}]
-gdb_test "break f1" ".*Breakpoint 2 at .* file .*step-line.c.*" "break f1"
+gdb_test "break f1" ".*Breakpoint 2 at .* file .*step-line.c.*"
gdb_test "continue" \
"Continuing.*Breakpoint 2, f1 \\(i=4\\).*dummy \\(1, i\\);" \
"continue to f1"
# With count
#
-gdb_test "next 2" ".*${decimal}.*w = w.*2;.*" "next 2"
-gdb_test "step 3" ".*${decimal}.*z = z.*5;.*" "step 3"
+gdb_test "next 2" ".*${decimal}.*w = w.*2;.*"
+gdb_test "step 3" ".*${decimal}.*z = z.*5;.*"
gdb_test "next" ".*${decimal}.*callee.*OVER.*" "next 3"
# Step over call
"${tfaas_expr} --.*" \
"Usage:.*" \
"short${cut_for_thre_expr}ad apply.*" \
- ] \
- "apropos -v cut for 'thre"
+ ]
set quoted [string_to_regexp $binfile]
gdb_test "file $binfile" \
gdb_test_stdio "print find_max1(10,1,2,3,4,5,6,7,8,29,0)" \
"find_max\\(10, 1, 2, 3, 4, 5, 6, 7, 8, 29, 0\\) returns 29\[ \r\n\]+" \
- ".\[0-9\]+ = 29" \
- "print find_max1(10,1,2,3,4,5,6,7,8,29,0)"
+ ".\[0-9\]+ = 29"
gdb_test_stdio "print find_max2(3,1,2,3)" \
"find_max\\(3, 1, 2, 3\\) returns 3\[ \r\n\]+" \
global gdb_prompt
set test "print find_max_float_real(4, fc1, fc2, fc3, fc4)"
- gdb_test $test ".*= 4 \\+ 4 \\* I" $test
+ gdb_test $test ".*= 4 \\+ 4 \\* I"
set test "print find_max_double_real(4, dc1, dc2, dc3, dc4)"
- gdb_test $test ".*= 4 \\+ 4 \\* I" $test
+ gdb_test $test ".*= 4 \\+ 4 \\* I"
set test "print find_max_long_double_real(4, ldc1, ldc2, ldc3, ldc4)"
- gdb_test $test ".*= 4 \\+ 4 \\* I" $test
+ gdb_test $test ".*= 4 \\+ 4 \\* I"
}
gdb_continue_to_breakpoint "vlas_filled"
# Check the values of VLA's.
-gdb_test "print int_vla" " = \\\{0, 2, 4, 6, 8\\\}" \
- "print int_vla"
-gdb_test "print unsigned_int_vla" " = \\\{0, 2, 4, 6, 8\\\}" \
- "print unsigned_int_vla"
-gdb_test "print double_vla" " = \\\{0, 0.5, 1, 1.5, 2\\\}" \
- "print double_vla"
-gdb_test "print float_vla" " = \\\{0, 0.5, 1, 1.5, 2\\\}" \
- "print float_vla"
-gdb_test "print long_vla" " = \\\{0, 2, 4, 6, 8\\\}" \
- "print long_vla"
-gdb_test "print unsigned_long_vla" " = \\\{0, 2, 4, 6, 8\\\}" \
- "print unsigned_long_vla"
-gdb_test "print char_vla" " = \"AAAAA\"" \
- "print char_vla"
-gdb_test "print short_vla" " = \\\{0, 2, 4, 6, 8\\\}" \
- "print short_vla"
-gdb_test "print unsigned_short_vla" " = \\\{0, 2, 4, 6, 8\\\}" \
- "print unsigned_short_vla"
-gdb_test "print unsigned_char_vla" " = \"AAAAA\"" \
- "print unsigned_char_vla"
+gdb_test "print int_vla" " = \\\{0, 2, 4, 6, 8\\\}"
+gdb_test "print unsigned_int_vla" " = \\\{0, 2, 4, 6, 8\\\}"
+gdb_test "print double_vla" " = \\\{0, 0.5, 1, 1.5, 2\\\}"
+gdb_test "print float_vla" " = \\\{0, 0.5, 1, 1.5, 2\\\}"
+gdb_test "print long_vla" " = \\\{0, 2, 4, 6, 8\\\}"
+gdb_test "print unsigned_long_vla" " = \\\{0, 2, 4, 6, 8\\\}"
+gdb_test "print char_vla" " = \"AAAAA\""
+gdb_test "print short_vla" " = \\\{0, 2, 4, 6, 8\\\}"
+gdb_test "print unsigned_short_vla" " = \\\{0, 2, 4, 6, 8\\\}"
+gdb_test "print unsigned_char_vla" " = \"AAAAA\""
gdb_test "print foo_vla" \
- "\\\{\\\{a = 0\\\}, \\\{a = 2\\\}, \\\{a = 4\\\}, \\\{a = 6\\\}, \\\{a = 8\\\}\\\}" \
- "print foo_vla"
+ "\\\{\\\{a = 0\\\}, \\\{a = 2\\\}, \\\{a = 4\\\}, \\\{a = 6\\\}, \\\{a = 8\\\}\\\}"
gdb_test "print bar_vla" \
- "\\\{\\\{x = 0, y = \\\{a = 0\\\}\\\}, \\\{x = 2, y = \\\{a = 2\\\}\\\}, \\\{x = 4, y = \\\{a = 4\\\}\\\}, \\\{x = 6, y = \\\{a = 6\\\}\\\}, \\\{x = 8, y = \\\{a = 8\\\}\\\}\\\}" \
- "print bar_vla"
+ "\\\{\\\{x = 0, y = \\\{a = 0\\\}\\\}, \\\{x = 2, y = \\\{a = 2\\\}\\\}, \\\{x = 4, y = \\\{a = 4\\\}\\\}, \\\{x = 6, y = \\\{a = 6\\\}\\\}, \\\{x = 8, y = \\\{a = 8\\\}\\\}\\\}"
gdb_test "print vla_struct_object" \
"\\\{something = 5, vla_field = \\\{0, 2, 4, 6, 8\\\}\\\}"
gdb_test "print vla_union_object" \
"\\\{vla_field = \\\{0, 2, 4, 6, 8\\\}\\\}"
# Check whatis of VLA's.
-gdb_test "whatis int_vla" "type = int \\\[5\\\]" "whatis int_vla"
-gdb_test "whatis unsigned_int_vla" "type = unsigned int \\\[5\\\]" \
- "whatis unsigned_int_vla"
-gdb_test "whatis double_vla" "type = double \\\[5\\\]" "whatis double_vla"
-gdb_test "whatis float_vla" "type = float \\\[5\\\]" "whatis float_vla"
-gdb_test "whatis long_vla" "type = long( int)? \\\[5\\\]" "whatis long_vla"
+gdb_test "whatis int_vla" "type = int \\\[5\\\]"
+gdb_test "whatis unsigned_int_vla" "type = unsigned int \\\[5\\\]"
+gdb_test "whatis double_vla" "type = double \\\[5\\\]"
+gdb_test "whatis float_vla" "type = float \\\[5\\\]"
+gdb_test "whatis long_vla" "type = long( int)? \\\[5\\\]"
gdb_test "whatis unsigned_long_vla" \
- "type = (long unsigned int|unsigned long) \\\[5\\\]" \
- "whatis unsigned_long_vla"
-gdb_test "whatis char_vla" "type = char \\\[5\\\]" "whatis char_vla"
-gdb_test "whatis short_vla" "type = short( int)? \\\[5\\\]" \
- "whatis short_vla"
+ "type = (long unsigned int|unsigned long) \\\[5\\\]"
+gdb_test "whatis char_vla" "type = char \\\[5\\\]"
+gdb_test "whatis short_vla" "type = short( int)? \\\[5\\\]"
gdb_test "whatis unsigned_short_vla" \
- "type = (short unsigned int|unsigned short) \\\[5\\\]" \
- "whatis unsigned_short_vla"
-gdb_test "whatis unsigned_char_vla" "type = unsigned char \\\[5\\\]" \
- "whatis unsigned_char_vla"
-gdb_test "whatis foo_vla" "type = struct foo \\\[5\\\]" "whatis foo_vla"
-gdb_test "whatis bar_vla" "type = BAR \\\[5\\\]" "whatis bar_vla"
+ "type = (short unsigned int|unsigned short) \\\[5\\\]"
+gdb_test "whatis unsigned_char_vla" "type = unsigned char \\\[5\\\]"
+gdb_test "whatis foo_vla" "type = struct foo \\\[5\\\]"
+gdb_test "whatis bar_vla" "type = BAR \\\[5\\\]"
gdb_test "whatis vla_struct_object" "type = struct vla_struct"
gdb_test "whatis vla_union_object" "type = union vla_union"
# Check ptype of VLA's.
-gdb_test "ptype int_vla" "type = int \\\[5\\\]" "ptype int_vla"
-gdb_test "ptype unsigned_int_vla" "type = unsigned int \\\[5\\\]" \
- "ptype unsigned_int_vla"
-gdb_test "ptype double_vla" "type = double \\\[5\\\]" "ptype double_vla"
-gdb_test "ptype float_vla" "type = float \\\[5\\\]" "ptype float_vla"
-gdb_test "ptype long_vla" "type = long( int)? \\\[5\\\]" "ptype long_vla"
-gdb_test "ptype unsigned_long_vla" "type = unsigned long \\\[5\\\]" \
- "ptype unsigned_long_vla"
-gdb_test "ptype char_vla" "type = char \\\[5\\\]" "ptype char_vla"
-gdb_test "ptype short_vla" "type = short( int)? \\\[5\\\]" \
- "ptype short_vla"
-gdb_test "ptype unsigned_short_vla" "type = unsigned short \\\[5\\\]" \
- "ptype unsigned_short_vla"
-gdb_test "ptype unsigned_char_vla" "type = unsigned char \\\[5\\\]" \
- "ptype unsigned_char_vla"
-gdb_test "ptype foo_vla" "type = struct foo {\r\n\\s+int a;\r\n} \\\[5\\\]" \
- "ptype foo_vla"
+gdb_test "ptype int_vla" "type = int \\\[5\\\]"
+gdb_test "ptype unsigned_int_vla" "type = unsigned int \\\[5\\\]"
+gdb_test "ptype double_vla" "type = double \\\[5\\\]"
+gdb_test "ptype float_vla" "type = float \\\[5\\\]"
+gdb_test "ptype long_vla" "type = long( int)? \\\[5\\\]"
+gdb_test "ptype unsigned_long_vla" "type = unsigned long \\\[5\\\]"
+gdb_test "ptype char_vla" "type = char \\\[5\\\]"
+gdb_test "ptype short_vla" "type = short( int)? \\\[5\\\]"
+gdb_test "ptype unsigned_short_vla" "type = unsigned short \\\[5\\\]"
+gdb_test "ptype unsigned_char_vla" "type = unsigned char \\\[5\\\]"
+gdb_test "ptype foo_vla" "type = struct foo {\r\n\\s+int a;\r\n} \\\[5\\\]"
gdb_test "ptype bar_vla" \
- "type = struct bar {\r\n\\s+int x;\r\n\\s+struct foo y;\r\n} \\\[5\\\]" \
- "ptype bar_vla"
+ "type = struct bar {\r\n\\s+int x;\r\n\\s+struct foo y;\r\n} \\\[5\\\]"
gdb_test "ptype vla_struct_object" \
"type = struct vla_struct {\r\n\\s+int something;\r\n\\s+int vla_field\\\[5\\\];\r\n}"
gdb_test "ptype vla_union_object" \
gdb_test_no_output "set variable int_vla\[0\] = 42" \
"set variable int_vla\[0\] = 42"
-gdb_test "print sizeof (++int_vla\[0\])" " = ${sizeof_int}" \
- "print sizeof (++int_vla\[0\])"
+gdb_test "print sizeof (++int_vla\[0\])" " = ${sizeof_int}"
gdb_test "print int_vla\[0\]" " = 42" \
"print int_vla\[0\] - sizeof no side effects"
-gdb_test "ptype ++int_vla\[0\]" "type = int" "ptype ++int_vla\[0\]"
+gdb_test "ptype ++int_vla\[0\]" "type = int"
gdb_test "print int_vla\[0\]" " = 42" \
"print int_vla\[0\] - ptype no side effects"
-gdb_test "whatis ++int_vla\[0\]" "type = int" "whatis ++int_vla\[0\]"
+gdb_test "whatis ++int_vla\[0\]" "type = int"
gdb_test "print int_vla\[0\]" " = 42" \
"print int_vla\[0\] - whatis no side effects"
gdb_breakpoint [gdb_get_line_number "vla_func_bp"]
gdb_continue_to_breakpoint "vla_func_bp"
-gdb_test "print td_vla" " = \\\{4, 5, 6, 7, 8\\\}" "print td_vla"
+gdb_test "print td_vla" " = \\\{4, 5, 6, 7, 8\\\}"
set sizeof_int [get_sizeof "int" 4]
set sizeof_vla [ expr "10" * "$sizeof_int" ]
-gdb_test "print sizeof (vla1\[i++\])" " = ${sizeof_int}" \
- "print sizeof (vla1\[i++\])"
+gdb_test "print sizeof (vla1\[i++\])" " = ${sizeof_int}"
gdb_test "print i" " = 0" \
"print i - sizeof no side effects"
-gdb_test "print sizeof (++vla1\[0\])" " = ${sizeof_int}" \
- "print sizeof (++vla1\[0\])"
+gdb_test "print sizeof (++vla1\[0\])" " = ${sizeof_int}"
gdb_test "print vla1\[0\]" " = 10" \
"print vla1\[0\] - sizeof no side effects"
-gdb_test "ptype ++vla1\[0\]" "type = int" "ptype ++vla1\[0\]"
+gdb_test "ptype ++vla1\[0\]" "type = int"
gdb_test "print vla1\[0\]" " = 10" \
"print vla1\[0\] - ptype no side effects"
-gdb_test "whatis ++vla1\[0\]" "type = int" "whatis ++vla1\[0\]"
+gdb_test "whatis ++vla1\[0\]" "type = int"
gdb_test "print vla1\[0\]" " = 10" \
"print vla1\[0\] - whatis no side effects"
-gdb_test "print sizeof (vla2\[i++\])" " = ${sizeof_vla}" \
- "print sizeof (vla2\[i++\])"
+gdb_test "print sizeof (vla2\[i++\])" " = ${sizeof_vla}"
gdb_test "print i" " = 1" \
"print i - sizeof with side effects (1)"
-gdb_test "print sizeof (vla2\[i++ + sizeof(j++)\])" " = ${sizeof_vla}" \
- "print sizeof (vla2\[i++ + sizeof(j++)\])"
+gdb_test "print sizeof (vla2\[i++ + sizeof(j++)\])" " = ${sizeof_vla}"
gdb_test "print i" " = 2" \
"print i - sizeof with side effects (2)"
gdb_test "print j" " = 0" \
"print j - sizeof with no side effects"
-gdb_test "ptype vla2\[i++\]" "type = int \\\[10\\\]" \
- "ptype vla2\[i++\]"
+gdb_test "ptype vla2\[i++\]" "type = int \\\[10\\\]"
gdb_test "print i" " = 2" \
"print i - ptype with side effects (1)"
-gdb_test "ptype vla2\[i++ + sizeof(j++)\]" "type = int \\\[10\\\]" \
- "ptype vla2\[i++ + sizeof(j++)\]"
+gdb_test "ptype vla2\[i++ + sizeof(j++)\]" "type = int \\\[10\\\]"
gdb_test "print i" " = 2" \
"print i - ptype with side effects (2)"
gdb_test "print j" " = 0" \
"print j - ptype with no side effects"
-gdb_test "whatis vla2\[i++\]" "type = int \\\[10\\\]" \
- "whatis vla2\[i++\]"
+gdb_test "whatis vla2\[i++\]" "type = int \\\[10\\\]"
gdb_test "print i" " = 2" \
"print i - whatis with side effects (1)"
-gdb_test "whatis vla2\[i++ + sizeof(j++)\]" "type = int \\\[10\\\]" \
- "whatis vla2\[i++ + sizeof(j++)\]"
+gdb_test "whatis vla2\[i++ + sizeof(j++)\]" "type = int \\\[10\\\]"
gdb_test "print i" " = 2" \
"print i - whatis with side effects (2)"
gdb_test "print j" " = 0" \
local_compiler_xfail_check_2
gdb_test "ptype qux2" \
- "type = int \\(volatile unsigned char, const volatile int, volatile short( int)?, volatile long( int)? \\*, float \\* volatile, const volatile signed char \\* const volatile\\)" \
- "ptype qux2"
+ "type = int \\(volatile unsigned char, const volatile int, volatile short( int)?, volatile long( int)? \\*, float \\* volatile, const volatile signed char \\* const volatile\\)"
gdb_breakpoint [gdb_get_line_number "break-at-exit"]
gdb_test "continue" \
- "atchpoint \[0-9\]+: var\r\n\r\nOld value = 0\r\nNew value = 1\r\n.*watchpoint-stop.*" \
- "continue"
+ "atchpoint \[0-9\]+: var\r\n\r\nOld value = 0\r\nNew value = 1\r\n.*watchpoint-stop.*"
}
if { ![target_info exists gdb,no_hardware_watchpoints] } {
gdb_continue_to_breakpoint "func6 breakpoint here"
if { $hw_expected } {
- gdb_test "watch foo2" "Hardware watchpoint .*: .*" "watch foo2"
+ gdb_test "watch foo2" "Hardware watchpoint .*: .*"
gdb_test "continue" \
"Continuing.*Hardware watchpoint .*: .*New value = \\\{val = \\\{0, 11\\\}\\\}.*" \
"continue with watch foo2"
} else {
- gdb_test "watch foo2" "atchpoint .*: .*" "watch foo2"
+ gdb_test "watch foo2" "atchpoint .*: .*"
set test "continue with watch foo2"
gdb_test_multiple "cont" $test {
-re "Continuing.*\[Ww\]atchpoint .*: .*New value = \\\{val = \\\{0, 11\\\}\\\}.*$gdb_prompt $" {
gdb_continue_to_breakpoint "func7 breakpoint here"
if { $hw_expected } {
- gdb_test "watch foo4" "Hardware watchpoint .*: .*" "watch foo4"
+ gdb_test "watch foo4" "Hardware watchpoint .*: .*"
gdb_test "continue" \
"Continuing.*Hardware watchpoint .*: .*New value = \\\{val = \\\{0, 0, 0, 33\\\}\\\}.*" \
"continue with watch foo4"
} else {
- gdb_test "watch foo4" "atchpoint .*: .*" "watch foo4"
+ gdb_test "watch foo4" "atchpoint .*: .*"
set test "continue with watch foo4"
gdb_test_multiple "cont" $test {
-re "Continuing.*\[Ww\]atchpoint .*: .*New value = \\\{val = \\\{0, 0, 0, 33\\\}\\\}.*$gdb_prompt $" {