1# Copyright 1998 Free Software Foundation, Inc. 2# 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 2 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program; if not, write to the Free Software 15# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 16 17# Please email any bugs, comments, and/or additions to this file to: 18# bug-gdb@prep.ai.mit.edu 19 20# This file was written by Michael Snyder (msnyder@cygnus.com) 21 22load_lib "trace-support.exp"; 23 24if $tracelevel then { 25 strace $tracelevel 26} 27 28set prms_id 0 29set bug_id 0 30 31gdb_exit 32gdb_start 33 34if [istarget "m68k-*-elf"] then { 35 set srcfile gdb_c_test.c 36 set binfile [board_info target d490_binfile]; 37} else { 38 set testfile "actions" 39 set srcfile ${testfile}.c 40 set binfile $objdir/$subdir/$testfile 41 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ 42 executable {debug additional_flags=-w}] != "" } { 43 gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." 44 } 45} 46gdb_reinitialize_dir $srcdir/$subdir 47 48# If testing on a remote host, download the source file. 49# remote_download host $srcdir/$subdir/$srcfile 50 51gdb_file_cmd $binfile 52 53# 54# test "info tracepoints" command 55# 56 57gdb_delete_tracepoints 58set c_test_num [gdb_gettpnum gdb_c_test]; 59set asm_test_num [gdb_gettpnum gdb_asm_test]; 60if { $c_test_num <= 0 || $asm_test_num <= 0 } then { 61 fail "setting tracepoints" 62 return; 63} 64 65# 2.1 info tracepoints (all) 66gdb_test "info tracepoints" \ 67 "Num Enb Address\[ \]+PassC StepC What.*$c_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*$asm_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*" \ 68 "2.1: info tracepoints (all)" 69 70# 2.2 info tracepoint (specific) 71gdb_test "info tracepoint $c_test_num" \ 72 "$c_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*in gdb_c_test.*" \ 73 "2.2a: info tracepoint $c_test_num (gdb_c_test)" 74 75gdb_test "info tracepoint $asm_test_num" \ 76 "$asm_test_num\[\t \]+y\[\t \]+0x\[0-9a-fA-F\]+.*gdb_asm_test.*" \ 77 "2.2b: info tracepoint $asm_test_num (gdb_asm_test)" 78 79# 2.3 info tracepoint (invalid tracepoint number) 80gdb_test "info tracepoint [expr $c_test_num + $asm_test_num]" \ 81 "No tracepoint number [expr $c_test_num + $asm_test_num]." \ 82 "2.3: info tracepoint (invalid tracepoint number)" 83 84# 2.4 info tracepoints (list of numbers) 85send_gdb "info tracepoints $c_test_num $asm_test_num \n" 86gdb_expect { 87 -re "Num Enb .*$gdb_prompt $" { 88 fail "2.4: info trace rejects multiple tracepoint numbers" 89 } 90 -re ".*$gdb_prompt $" { 91 pass "2.4: info trace rejects multiple tracepoint numbers" 92 } 93} 94 95# 2.5 help info trace 96gdb_test "help info tracepoints" \ 97 "Status of tracepoints, or tracepoint number NUMBER.*" \ 98 "2.5: help info tracepoints" 99 100