Add support to GDB for the Renesas rl78 architecture.
[external/binutils.git] / gdb / testsuite / gdb.mi / mi2-basics.exp
index 54b9d2f..74fe3f6 100644 (file)
@@ -1,5 +1,4 @@
-# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright 1999-2005, 2007-2012 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
@@ -36,7 +35,7 @@ if [mi_gdb_start] {
 
 set testfile "basics"
 set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+set binfile ${objdir}/${subdir}/mi2-basics
 set escapedobjdir [string_to_regexp ${objdir}]
 set envirodir [string_to_regexp ${objdir}/${subdir}]
 
@@ -60,23 +59,11 @@ proc test_mi_interpreter_selection {} {
 
     # All this test expects is to get the prompt back
     # with no syntax error message
-    send_gdb "-gdb-version\n"
-    gdb_expect {
-           -re "GNU gdb .*\r\n$mi_gdb_prompt$" \
-               { pass "acceptance of MI operations" 
-                 return 1}
-           -re ".*\r\n$mi_gdb_prompt$" \
-               { fail "acceptance of MI operations"
-                 note "Skipping all other MI tests." }
-           -re "Undefined command.*$gdb_prompt $" \
-               { fail "acceptance of MI operations"
-                 note "Skipping all other MI tests." }
-           -re ".*$gdb_prompt $" \
-               { fail "acceptance of MI operations"
-                 note "Skipping all other MI tests." }
-           timeout { fail "acceptance of MI operations (timeout)"
-                     note "Skipping all other MI tests." }
-    }
+    if ![mi_gdb_test "-gdb-version" "~\"GNU gdb.*" "acceptance of MI operations"] {
+       return 1
+    } 
+    
+    note "Skipping all other MI tests."
     return 0
 }
 
@@ -88,15 +75,10 @@ proc test_exec_and_symbol_mi_operatons {} {
     # Tests:
     # -file-exec-and-symbols
 
-    # Can't use mi_gdb_test as if this doesn't work,
-    #  we must give up on the whole test file
-    send_gdb "-file-exec-and-symbols ${binfile}\n"
-    gdb_expect {
-           -re "\[\r\n\]*\\\^done\r\n$mi_gdb_prompt$" \
-               { pass "file-exec-and-symbols operation" }
-           timeout { fail "file-exec-and-symbols operation (timeout)"
-                     note "Skipping all other MI tests."
-                     return 0}
+    if [mi_gdb_test "-file-exec-and-symbols ${binfile}" "\\\^done" \
+       "file-exec-and-symbols operation"] {
+       note "Skipping all other MI tests."
+       return 0
     }
 
     # The following is not used by mi-support.exp, but we test here so
@@ -122,7 +104,8 @@ proc test_exec_and_symbol_mi_operatons {} {
              "\\\^done" \
              "file-symbol-file operation"
 
-    # FIXME: if we cannot load we have to skip all other tests.
+    # We need to return != 0.
+    return 1
 }
 
 proc test_breakpoints_deletion {} {
@@ -186,9 +169,13 @@ proc test_cwd_specification {} {
              "205\\\^done" \
              "environment-cd arg operation"
 
-    mi_gdb_test "206-environment-pwd" \
+    # The canonical name of the working directory may differ on a
+    # remote host from that on the build system.
+    if ![is_remote host] {
+       mi_gdb_test "206-environment-pwd" \
              "206\\\^done,cwd=\"${escapedobjdir}\"" \
              "environment-pwd operation"
+    }
 }
 
 proc test_path_specification {} {
@@ -198,6 +185,7 @@ proc test_path_specification {} {
     global subdir
     global escapedobjdir
     global envirodir
+    global expect_out
 
     # Add to the path, display, then reset 
     # Tests:
@@ -206,16 +194,8 @@ proc test_path_specification {} {
     # -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 "-environment-path" "\\\^done,path=\"(.*)\"" "-environment-path"
+    set orig_path $expect_out(3,string)
 
     set orig_path [string_to_regexp ${orig_path}]
     set pathdir [string_to_regexp ${objdir}/${subdir}]
@@ -238,8 +218,8 @@ proc test_path_specification {} {
 
 } 
 
-if [test_mi_interpreter_selection] {
-  test_exec_and_symbol_mi_operatons
+if { [test_mi_interpreter_selection]
+      && [test_exec_and_symbol_mi_operatons] } {
   test_breakpoints_deletion
   test_dir_specification
   test_cwd_specification