URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [testsuite/] [gdb.mi/] [mi2-console.exp] - Rev 478
Go to most recent revision | Compare with Previous | Blame | View Log
# Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2009, 2010# 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 3 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, see <http://www.gnu.org/licenses/>.## Test essential Machine interface (MI) operations## Verify that, using the MI, we can run a simple program and perform basic# debugging activities like: insert breakpoints, run the program,# step, next, continue until it ends and, last but not least, quit.## The goal is not to test gdb functionality, which is done by other tests,# but to verify the correct output response to MI operations.## This test only works when talking to a target that routes its output# through GDB. Check that we're either talking to a simulator or a# remote target.load_lib mi-support.expset MIFLAGS "-i=mi2"gdb_exitif [mi_gdb_start] {continue}set testfile "mi-console"set srcfile ${testfile}.cset binfile ${objdir}/${subdir}/${testfile}if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DFAKEARGV}] != "" } {untested mi2-console.expreturn -1}mi_run_to_main# Next over the hello() call which will produce lots of outputgdb_test_multiple "220-exec-next" "Started step over hello" {-re "220\\^running\r\n(\\*running,thread-id=\"all\"\r\n)?$mi_gdb_prompt" {pass "Started step over hello"}}if { ![target_info exists gdb,noinferiorio] } {gdb_expect {-re "@\"H\"\r\n.*@\"e\"\r\n.*@\"l\"\r\n.*@\"l\"\r\n.*@\"o\"\r\n.*@\" \"\r\n.*@\"\\\\\\\\\"\r\n.*@\"\\\\\"\"\r\n.*@\"!\"\r\n.*@\"\\\\r\"\r\n.*@\"\\\\n\"\r\n" {pass "Hello message"}-re "Hello" {# Probably a native system where GDB doesn't have direct ## control over the inferior console. # For this to work,# GDB would need to run the inferior process # under a PTY# and then use the even-loops ability to wait on ## multiple event sources to channel the output back# through the # MI.kfail "gdb/623" "Hello message"}timeout {fail "Hello message (timeout)"}}}mi_expect_stop "end-stepping-range" "main" "" ".*mi-console.c" "14" "" \"finished step over hello"mi_gdb_exitreturn 0
Go to most recent revision | Compare with Previous | Blame | View Log
