

# 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 running programs
#

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

gdb_exit
if [mi_gdb_start] {
    continue
}

set testfile "nested-inlines"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}

if ![istarget "i\[3-6\]86-apple-darwin*"] {
    verbose "Skipping x86 inlining tests."
    return
}

if [target_info exists darwin64] {
   verbose "i386 inlining tests not designed for x86-64, skipping." 
   return 
}

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


if {$debug_default_format_is_dwarf == 0 } then {
        return;
}

mi_gdb_test "90-gdb-set auto-raise-load-levels 1" ".*90\\^done"  "Set auto-raise-load-levels"

mi_gdb_test "93-gdb-set env SHELL /bin/tcsh" "93\\^done" "Set env SHELL"

mi_gdb_test "95-gdb-set env NSUnbufferedIO YES" "95\\^done"  "Set env NSUnbufferedIO"

mi_gdb_test "97-gdb-set env DYLD_NEW_LOCAL_SHARED_REGIONS YES" "97\\^done"  "Set env DYLD_NEW_LOCAL_SHARED_REGIONS"

mi_gdb_test "100-gdb-set env DYLD_NO_FIX_PREBINDING YES" "100\\^done" "Set dnv DYLD_NO_FIX_PREBINDING"

mi_gdb_test "101-gdb-set env SECURITYSESSIONID 485830" "101\\^done"  "Set env SECURITYSESSIONID"

mi_gdb_test "105-gdb-set inferior-auto-start-cfm off" "105\\^done" "Set inferior-auto-start-cfm"

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

mi_gdb_test "117-exec-arguments" "117\\^done" "exec-arguments"

mi_gdb_test "118sharedlibrary apply-load-rules all" ".*118\\^done"  "sharedlibrary apply-load-rules all"

mi_gdb_test "119-mi-verify-command file-fix-file-is-grooved" "119\\^done,name=\"file-fix-file-is-grooved\",defined=\"true\",implemented=\"true\""  "verify file-fix-file-is-grooved"

mi_gdb_test "120-file-fix-file-is-grooved" "120\\^done,supported=\"1\",details=\"Yes grooved!\"" "file-fix-file-is-grooved"

mi_gdb_test "121-break-insert -l -1 -f  -s $binfile \"$srcfile:12\"" "121\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*$srcfile\",line=\"12\",shlib=\"$binfile\",times=\"0\"\}" "Set breakpoint at main"

# mi_gdb_test "123-exec-run" ".*running"  "Exec run"

send_gdb "123-exec-run\n"
gdb_expect {
    -re  ".*running\[\r\n]$gdb_prompt (\r\n=shlibs-added.*)*" {
    pass "Exec run"
    }
}

gdb_expect { -re ".*stopped.*$gdb_prompt" { pass "Stopped at first breakpoint" }
  -re "$gdb_prompt $" {
      fail "failed to hit first breakpoint"
  }
  timeout {
      fail "(timeout) failed to hit first breakpoint" 
  }
}

mi_gdb_test "125-pid-info" "125\\^done,process-id=\"$decimal\".*" "pid-info"

mi_gdb_test "126-thread-list-ids" "126\\^done,thread-ids={thread-id=\"1\"},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "127-mi-verify-command stack-list-frames-lite" "127\\^done,name=\"stack-list-frames-lite\",defined=\"true\",implemented=\"true\""  "Verify stack-list-frames-lite"

mi_gdb_test "0-thread-select 1" "0\\^done,new-thread-id=\"1\",frame=\{func=\"main\",args=\\\[\{name=\"argc\",value=\"1\"\},\{name=\"argv\",value=\"$hex\"\}\\\],file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"12\"\,dir=\".*\"\},line=\"12\",file=\".*$srcfile\"" "thread-select 1"

mi_gdb_test "128-stack-list-frames-lite -limit 500" "128\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\""  "stack-list-frames-lite"

mi_gdb_test "129-stack-list-frames 0 0" "129\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"12\",dir=\".*\"\}\\\]" "stack-list-frames 0 0"

mi_gdb_test "10-stack-select-frame 0" "10\\^done"  "Select stack frame 0"

mi_gdb_test "131-stack-list-arguments 2 0 0" "131\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[varobj=\{exp=\"argc\",value=\"1\",name=\"var1\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",in_scope=\"true\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"argv\",value=\"$hex\",name=\"var2\",numchild=\"1\",type=\"char \\\*\\\*\",typecode=\"PTR\",dynamic_type=\"\",in_scope=\"true\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\}\\\]\}\\\]" "stack-list-arguments 2 0 0"

mi_gdb_test "20-stack-select-frame 0" "20\\^done"  "Select stack frame 0"

mi_gdb_test "132-stack-list-locals 2 1" "132\\^done,locals=\\\[varobj=\{exp=\"x\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var3\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",in_scope=\"true\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"result\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var4\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"n\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var5\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\},varobj=\{exp=\"i\",value=\"<value temporarily unavailable, due to optimizations>\",name=\"var6\",numchild=\"0\",type=\"int\",typecode=\"INT\",dynamic_type=\"\",in_scope=\"false\",block_start_addr=\"$hex\",block_end_addr=\"$hex\"\}\\\]" "stack-list-locals 2 1"

mi_gdb_test "133-mi-verify-command file-list-statics" "133\\^done,name=\"file-list-statics\",defined=\"true\",implemented=\"true\""  "verify file-list-statics"

mi_gdb_test "134-file-list-statics -file \"\\\*CURRENT FRAME\\\*\" -shlib \"\" --no-values -filter \"\\^_OBJC\" -constants 0" "134\\^done,statics=\\\[\\\]" "file-list-statics"

mi_gdb_test "30-stack-select-frame 0" "30\\^done"  "Select stack frame 0"

mi_gdb_test "135-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\"" "135\\^done,changelist=\\\[\\\]" "var-update vars 1-6"

mi_gdb_test "136-exec-next" "136\\^running.*136\\\*stopped,reason=\"end-stepping-range\",thread-id=\"1\""  "Exec next"

mi_gdb_test "137-thread-list-ids" "137\\^done,thread-ids=\{thread-id=\"1\"\},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "138-stack-list-frames-lite -limit 500" "138\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\""  "stack-list-frames-lite"

mi_gdb_test "139-stack-list-frames 0 0" "139\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"14\",dir=\".*\"\}\\\]"  "stack-list-frames 0 0"

mi_gdb_test "40-stack-select-frame 0" "40\\^done"  "Select stack frame 0"

mi_gdb_test "142-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\"" "142\\^done,changelist=\\\[varobj=\{name=\"var4\",in_scope=\"true\",type_changed=\"false\"\},varobj=\{name=\"var5\",in_scope=\"true\",type_changed=\"false\"\},varobj=\{name=\"var6\",in_scope=\"true\",type_changed=\"false\"\}\\\]" "var-update"

mi_gdb_test "50-stack-select-frame 0" "50\\^done"  "Select stack frame 0"

mi_gdb_test "143-var-evaluate-expression \"var1\"" "143\\^done,value=\"1\""  "var-evaluate-expression var1"

mi_gdb_test "60-stack-select-frame 0" "60\\^done"  "Select stack frame 0"

mi_gdb_test "144-var-evaluate-expression \"var4\"" "144\\^done,value=\"<value temporarily unavailable, due to optimizations>\""  "var-evaluate-expression var4"

mi_gdb_test "70-stack-select-frame 0" "70\\^done"  "Select stack frame 0"

mi_gdb_test "145-var-evaluate-expression \"var5\"" "145\\^done,value=\"<value temporarily unavailable, due to optimizations>\"" "var-evaluate-expression var5"

mi_gdb_test "80-stack-select-frame 0" "80\\^done"  "Select stack frame 0"

mi_gdb_test "146-var-evaluate-expression \"var6\"" "146\\^done,value=\"<value temporarily unavailable, due to optimizations>\"" "var-evaluate-expression var6"

mi_gdb_test "90-stack-select-frame 0" "90\\^done"  "Select stack frame 0"

# mi_gdb_test "148-data-read-memory -- 0x00000000 x 1 1 100" "148\\^done,addr=\"$hex\",nr-bytes=\"0\",total-bytes=\"100\",next-row=\"$hex\",prev-row=\"$hex\",next-page=\"$hex\",prev-page=\"$hex\",memory=\\\[\{addr=\"$hex\",data=\\\[\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\",\"N/A\"\\\]\}\\\]"  "data-read-memory"

mi_gdb_test "149-exec-next" "149\\^running.*149\\\*stopped,reason=\"end-stepping-range\",thread-id=\"1\"" "exec next"

mi_gdb_test "150-thread-list-ids" "150\\^done,thread-ids=\{thread-id=\"1\"\},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "151-stack-list-frames-lite -limit 500" "151\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\"" "stack-list-frames-lite"

mi_gdb_test "152-stack-list-frames 0 0" "152\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"16\",dir=\".*\"\}\\\]"  "stack-list-frames 0 0"

mi_gdb_test "200-stack-select-frame 0" "200\\^done"  "Select stack frame 0"

mi_gdb_test "155-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\"" "155\\^done,changelist=\\\[varobj=\{name=\"var3\",in_scope=\"true\",type_changed=\"false\"\}.*\\\]"  "var-update"

mi_gdb_test "210-stack-select-frame 0" "210\\^done" "Select stack frame 0"

mi_gdb_test "156-var-evaluate-expression \"var3\"" "156\\^done,value=\"12345\"" "var-evaluate-expression var3"

mi_gdb_test "157-exec-next" "157\\^running.*157\\\*stopped,reason=\"end-stepping-range\",thread-id=\"1\"" "Exec next"

mi_gdb_test "158-thread-list-ids" "158\\^done,thread-ids=\{thread-id=\"1\"\},number-of-threads=\"1\"" "thread-list-ids"

mi_gdb_test "159-stack-list-frames-lite -limit 500" "159\\^done,frames=\\\[0=\{pc=\"$hex\",fp=\"$hex\"\}\\\],valid=\"1\",count=\"1\"" "stack-list-frames-lite"

mi_gdb_test "160-stack-list-frames 0 0" "160\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",fp=\"$hex\",func=\"main\",file=\".*$srcfile\",fullname=\".*$srcfile\",line=\"19\",dir=\".*\"\}\\\]" "stack-list-frames 0 0"

mi_gdb_test "220-stack-select-frame 0"  "220\\^done" "Select stack frame 0"

mi_gdb_test "163-var-update  \"var1\" \"var2\" \"var3\" \"var4\" \"var5\" \"var6\"" "163\\^done,changelist=\\\[\\\]" "var-update vars 1-6"

mi_gdb_test "164-exec-continue" "164\\^running.*164\\\*stopped,reason=\"exited-normally\"" "Finish program"

mi_gdb_exit
return 0
