2003-08-07 Elena Zannoni <ezannoni@redhat.com>
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.mi / mi-basics.exp
index 41ce79252694058589b40c4e7a697449e5702215..9377baf9e6c0afa209ae2c71cce436de3008ac34 100644 (file)
@@ -30,6 +30,7 @@
 #
 
 load_lib mi-support.exp
+set MIFLAGS "-i=mi"
 
 gdb_exit
 if [mi_gdb_start] {
@@ -39,6 +40,9 @@ if [mi_gdb_start] {
 set testfile "basics"
 set srcfile ${testfile}.c
 set binfile ${objdir}/${subdir}/${testfile}
+set escapedobjdir [string_to_regexp ${objdir}]
+set escapedsrcdir [string_to_regexp ${srcdir}]
+
 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."
 }
@@ -138,7 +142,7 @@ proc test_breakpoints_deletion {} {
              "break-delete (all) operation"
 
     mi_gdb_test "201-break-list" \
-             ".*\\\^done,BreakpointTable=\\\{\\\}" \
+             ".*\\\^done,BreakpointTable=\\\{.*,body=\\\[\\\]\\\}" \
              "all breakpoints removed"
 }
 
@@ -147,31 +151,98 @@ proc test_dir_specification {} {
     global srcdir
     global subdir
 
-    # Clear the search directories, then specify one to be searched
+    # Add to the search directories, display, then reset back to default
     # Tests:
-    # -environment-directory
     # -environment-directory arg
+    # -environment-directory 
+    # -environment-directory -r
 
-#exp_internal 1
-    mi_gdb_test "202-environment-directory" \
-             "\\\^done" \
+    set envirodir [string_to_regexp ${srcdir}/${subdir}]
+
+    mi_gdb_test "202-environment-directory ${srcdir}/${subdir}" \
+             "\\\^done,source-path=\"${envirodir}.\\\$cdir.\\\$cwd\"" \
+             "environment-directory arg operation"
+
+    mi_gdb_test "203-environment-directory" \
+             "\\\^done,source-path=\"${envirodir}.\\\$cdir.\\\$cwd\"" \
+             "environment-directory empty-string operation"
+
+    mi_gdb_test "204-environment-directory -r" \
+             "\\\^done,source-path=\"\\\$cdir.\\\$cwd\"" \
              "environment-directory operation"
+}
 
-    mi_gdb_test "203-environment-directory ${srcdir}/${subdir}" \
+proc test_cwd_specification {} {
+    global mi_gdb_prompt
+    global objdir
+    global escapedobjdir
+    global subdir
+
+    # Change the working directory, then print the current working directory
+    # Tests:
+    # -environment-cd ${objdir}
+    # -environment-pwd
+
+    mi_gdb_test "205-environment-cd ${objdir}" \
              "\\\^done" \
-             "environment-directory arg operation"
-#exp_internal 0
+             "environment-cd arg operation"
+
+    mi_gdb_test "206-environment-pwd" \
+             "\\\^done,cwd=\"${escapedobjdir}\"" \
+             "environment-pwd operation"
 }
 
+proc test_path_specification {} {
+    global mi_gdb_prompt
+    global orig_path
+    global objdir
+    global srcdir
+    global escapedobjdir
+    global escapedsrcdir
+
+    # Add to the path, display, then reset 
+    # Tests:
+    # -environment-path 
+    # -environment-path dir1 dir2
+    # -environment-path -r dir
+    # -environment-path -r
+
+    send_gdb "-environment-path\n"
+    gdb_expect 20 {
+       -re "\\\^done,path=\"\(.*\)\"\r\n$mi_gdb_prompt" { 
+         set orig_path $expect_out(1,string); 
+       }
+       timeout { 
+         perror "-environment-path (timeout)" ; 
+         return 
+       }
+    }
+
+    mi_gdb_test "207-environment-path" \
+             "\\\^done,path=\"$orig_path\"" \
+             "environment-path no-args operation"
+
+    mi_gdb_test "208-environment-path $srcdir $objdir" \
+             "\\\^done,path=\"$escapedsrcdir.$escapedobjdir.$orig_path\"" \
+             "environment-path dir1 dir2 operation"
+
+    mi_gdb_test "209-environment-path -r $objdir" \
+             "\\\^done,path=\"$escapedobjdir.$orig_path\"" \
+             "environment-path -r dir operation"
+
+    mi_gdb_test "210-environment-path -r" \
+             "\\\^done,path=\"$orig_path\"" \
+             "environment-path -r operation"
+
+} 
+
 if [test_mi_interpreter_selection] {
   test_exec_and_symbol_mi_operatons
   test_breakpoints_deletion
   test_dir_specification
+  test_cwd_specification
+  test_path_specification
 }
 
 mi_gdb_exit
 return 0
-
-# Local variables: 
-# change-log-default-name: "ChangeLog-mi"
-# End: 
This page took 0.024429 seconds and 4 git commands to generate.