# Copyright 2000, 2001, 2002, 2003, 2004, 2005 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 2 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  

#
# Test essential Machine interface (MI) operations
#
# Verify that stack commands work.

# The goal is not to test gdb functionality, which is done by other tests,
# but to verify the correct output response to MI operations.
#

load_lib mi-support.exp
set MIFLAGS "-i=mi2"

gdb_exit
if [mi_gdb_start] {
    continue
}

set testfile "basics"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {
     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}

mi_delete_breakpoints
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_reinitialize_dir $srcdir/$subdir
mi_gdb_load ${binfile}

proc test_stack_frame_listing {} {
    global mi_gdb_prompt
    global hex fullname_syntax srcfile

    set line_callee4_head [gdb_get_line_number "callee4 ("]
    set line_callee4_body [expr $line_callee4_head + 2]

    # Obtain a stack trace
    # Tests:
    # -stack-list-frames
    # -stack-list-frames 1 1
    # -stack-list-frames 1 3
    # -stack-info-frame

    mi_gdb_test "231-stack-list-frames" \
	    "231\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\},frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\},frame=\{level=\"4\",addr=\"$hex\",func=\"main\",.*\}\\\]" \
                "stack frame listing"
    mi_gdb_test "232-stack-list-frames 1 1" \
	    "232\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\}\\\]" \
                "stack frame listing 1 1"
    mi_gdb_test "233-stack-list-frames 1 3" \
	    "233\\^done,stack=\\\[frame=\{level=\"1\",addr=\"$hex\",func=\"callee3\",.*\},frame=\{level=\"2\",addr=\"$hex\",func=\"callee2\",.*\},frame=\{level=\"3\",addr=\"$hex\",func=\"callee1\",.*\}\\\]" \
                "stack frame listing 1 3"

    mi_gdb_test "234-stack-list-frames 1" \
	    "&.*234\\^error,msg=\"mi_cmd_stack_list_frames: Usage.*FRAME_LOW FRAME_HIGH.*\"" \
	    "stack frame listing wrong"

    mi_gdb_test "235-stack-info-frame" \
            "235\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_body\"\}" \
	       "selected frame listing"
}

proc test_stack_args_listing {} {
    global mi_gdb_prompt
    global hex

    # Obtain lists for args for the stack frames
    # Tests:
    # -stack-list-arguments 0
    # -stack-list-arguments 0 1 1
    # -stack-list-arguments 0 1 3
    # -stack-list-arguments 1
    # -stack-list-arguments 1 1 1
    # -stack-list-arguments 1 1 3
    # -stack-list-arguments 

    mi_gdb_test "231-stack-list-arguments 0" \
	    "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
                "stack args listing 0"

    mi_gdb_test "232-stack-list-arguments 0 1 1" \
	    "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\}\\\]" \
                "stack args listing 0 1 1"

    mi_gdb_test "233-stack-list-arguments 0 1 3" \
	    "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\}\\\]" \
                "stack args listing 0 1 3"

    mi_gdb_test "231-stack-list-arguments 1" \
	    "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
                "stack args listing 1"

    mi_gdb_test "232-stack-list-arguments 1 1 1" \
	    "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\}\\\]" \
                "stack args listing 1 1 1"

    mi_gdb_test "233-stack-list-arguments 1 1 3" \
	    "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\}\\\]" \
                "stack args listing 1 1 3"

    mi_gdb_test "234-stack-list-arguments" \
	    "&.*234\\^error,msg=\"mi_cmd_stack_list_args: Usage.*PRINT_VALUES.*FRAME_LOW FRAME_HIGH.*\"" \
	    "stack args listing wrong"
}

proc test_stack_info_depth {} {
    global mi_gdb_prompt
    global hex

    # Obtain depth of stack
    # Tests:
    # -stack-info-depth
    # -stack-info-depth 3
    # -stack-info-depth 99

    mi_gdb_test "231-stack-info-depth" \
	    "231\\^done,depth=\"5\"" \
                "stack info-depth"

    mi_gdb_test "231-stack-info-depth 3" \
	    "231\\^done,depth=\"3\"" \
                "stack info-depth 3"

    mi_gdb_test "231-stack-info-depth 99" \
	    "231\\^done,depth=\"5\"" \
                "stack info-depth 99"

    mi_gdb_test "231-stack-info-depth 99 99" \
	    "&.*231\\^error,msg=\"mi_cmd_stack_info_depth: Usage: .MAX_DEPTH.\"" \
                "stack info-depth wrong usage"
}

proc test_stack_locals_listing {} {
    global mi_gdb_prompt
    global hex fullname_syntax srcfile

    # Obtain lists for locals for the stack frames
    # Tests:
    # -stack-list-locals 0
    # -stack-list-locals 1
    # -stack-list-arguments 

    mi_gdb_test "232-stack-list-locals 0" \
	    "232\\^done,locals=\\\[name=\"A\",name=\"B\",name=\"C\"\\\]" \
                "stack locals listing 0"

set line_callee4_return_0 [gdb_get_line_number "return 0;"]

# step until A, B, C, have some reasonable values.
send_gdb "-exec-next 3\n"
gdb_expect {
    -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$line_callee4_return_0\"\}\r\n$mi_gdb_prompt$" {
	pass "next's in callee4"
    }
    timeout { fail "next in callee4 (timeout)" }
}

    mi_gdb_test "232-stack-list-locals 1" \
	    "232\\^done,locals=\\\[\{name=\"A\",value=\"1\"\},\{name=\"B\",value=\"2\"\},\{name=\"C\",value=\"3\"\}\\\]" \
                "stack locals listing 1"

    mi_gdb_test "234-stack-list-locals" \
	    "&.*234\\^error,msg=\"mi_cmd_stack_list_locals: Usage.*PRINT_VALUES.*\"" \
	    "stack locals listing wrong"

    mi_gdb_test "232-stack-select-frame 1" \
	    "232\\^done" \
                "stack select frame 1"

    mi_gdb_test "232-stack-list-locals 1" \
	    "232\\^done,locals=\\\[\\\]" \
                "stack locals listing for new frame"

    mi_gdb_test "232-stack-list-locals 1" \
	    "232\\^done,locals=\\\[\\\]" \
                "stack locals for same frame (level 1)"
}

mi_runto callee4
test_stack_frame_listing
test_stack_args_listing
test_stack_locals_listing
test_stack_info_depth


mi_gdb_exit
return 0
