URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.trace/] [actions.exp] - Rev 840
Compare with Previous | Blame | View Log
# Copyright 1998, 2007, 2008 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/>.# Please email any bugs, comments, and/or additions to this file to:# bug-gdb@prep.ai.mit.edu# This file was written by Michael Snyder (msnyder@cygnus.com)load_lib "trace-support.exp";if $tracelevel then {strace $tracelevel}set prms_id 0set bug_id 0gdb_exitgdb_startif [istarget "m68k-*-elf"] then {set binfile [board_info target d490_binfile];set srcfile gdb_c_test.c} else {set testfile "actions"set srcfile ${testfile}.cset binfile $objdir/$subdir/$testfileif { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \executable {debug nowarnings}] != "" } {untested actions.expreturn -1}}gdb_reinitialize_dir $srcdir/$subdir# If testing on a remote host, download the source file.# remote_download host $srcdir/$subdir/$srcfilegdb_file_cmd $binfile# define relative source line numbers:# all subsequent line numbers are relative to this first one (baseline)set baseline [gdb_find_recursion_test_baseline $srcfile];if { $baseline == -1 } then {fail "Could not find gdb_recursion_test function"return;}set testline1 [expr $baseline + 7]## test actions command#gdb_delete_tracepointsset trcpt1 [gdb_gettpnum gdb_c_test];set trcpt2 [gdb_gettpnum gdb_asm_test];set trcpt3 [gdb_gettpnum $testline1];if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {fail "setting tracepoints"return;}# 5.1 actions of specified tracepointsend_gdb "info tracepoints\n"gdb_expect {-re "Actions for tracepoint \[0-9\]+:.*$gdb_prompt $" {fail "5.1a: testsuite failure (tracepoint already has action)!"}-re "No tracepoints.*$gdb_prompt $" {fail "5.1a: set three tracepoints, no actions (No tracepoints!)"}-re "$gdb_prompt $" {pass "5.1a: set three tracepoints, no actions"}}gdb_trace_setactions "5.1b: set actions for first tracepoint" \"$trcpt1" \"collect gdb_char_test" "^$"send_gdb "info tracepoints\n"gdb_expect {-re "Actions for.* $trcpt1:.*collect gdb_char_test.*$gdb_prompt $" {pass "5.1c: verify actions set for first tracepoint"}-re "$gdb_prompt $" {fail "5.1c: verify actions set for first tracepoint"}}gdb_trace_setactions "5.1d: set actions for second tracepoint" \"$trcpt2" \"collect gdb_short_test" "^$"send_gdb "info tracepoints\n"gdb_expect {-re "Actions for.* $trcpt2:.*collect gdb_short_test.*$gdb_prompt $" {pass "5.1e: verify actions set for second tracepoint"}-re "$gdb_prompt $" {fail "5.1e: verify actions set for second tracepoint"}}gdb_trace_setactions "5.2a: set actions for last (default) tracepoint" \"" \"collect gdb_long_test" "^$"send_gdb "info tracepoints\n"gdb_expect {-re "Actions for.* $trcpt3:.*collect gdb_long_test.*$gdb_prompt $" {pass "5.2b: verify actions set for last (default) tracepoint"}-re "$gdb_prompt $" {fail "5.2b: verify actions set for last (default) tracepoint"}}# 5.3 replace actions set earliergdb_trace_setactions "5.3a: reset actions for first tracepoint" \"$trcpt1" \"collect gdb_struct1_test" "^$"send_gdb "info tracepoints\n"gdb_expect {-re "Actions for.* $trcpt1:.*collect gdb_struct1_test.*$gdb_prompt $" {pass "5.3b: verify actions set for first tracepoint"}-re "$gdb_prompt $" {fail "5.3b: verify actions set for first tracepoint"}}## test end command (all by itself)## 5.4 end outside of contextgdb_test "end" "This command cannot be used at the top level." \"5.4: 'end' command out of context"# 5.5 empty actions (just an end with no other actions)gdb_trace_setactions "5.5a: set empty actions for first tracepoint" \"$trcpt1"send_gdb "info tracepoints\n"gdb_expect {-re "No tracepoints.*$gdb_prompt $" {fail "5.5c: verify NO actions for first tracepoint"}-re "Actions for.* $trcpt1:.*$gdb_prompt $" {fail "5.5c: verify NO actions for first tracepoint"}-re "$gdb_prompt $" {pass "5.5c: verify NO actions for first tracepoint"}}# 5.6 actions for invalid tracepoint numbergdb_test "actions [expr $trcpt2 + $trcpt3]" \"No tracepoint number [expr $trcpt2 + $trcpt3]." \"5.6: actions for invalid tracepoint number"# 5.7 invalid action (other than 'collect', 'while-stepping' or 'end')# "warning: .print gdb_c_test. is not a supported trace.*> $" \gdb_trace_setactions "5.7: invalid action" \"$trcpt1" \"print gdb_c_test" \"warning: .print gdb_c_test. is not a supported trace"# 5.8 help actions (collect, while-stepping, end)gdb_test "help actions" \"Specify the actions to be taken at a tracepoint.*" \"5.8a: help actions"gdb_test "help collect" \"Specify one or more data items to be collected at a tracepoint.*" \"5.8b: help collect"gdb_test "help while-stepping" \"Specify single-stepping behavior at a tracepoint.*" \"5.8c: help while-stepping"gdb_test "help end" "Ends a list of commands or actions.*" \"5.8d: help end"
