Remove superfluous semicolons from testsuite throughout.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.trace / deltrace.exp
1 # Copyright 1998-2013 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 3 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, see <http://www.gnu.org/licenses/>.
15
16 # This file was written by Michael Snyder (msnyder@cygnus.com)
17
18 load_lib "trace-support.exp"
19
20
21 gdb_exit
22 gdb_start
23
24 standard_testfile actions.c
25 if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \
26 executable {debug nowarnings}] != "" } {
27 untested deltrace.exp
28 return -1
29 }
30 gdb_reinitialize_dir $srcdir/$subdir
31
32 # If testing on a remote host, download the source file.
33 # remote_download host $srcdir/$subdir/$srcfile
34
35 gdb_file_cmd $binfile
36
37 # define relative source line numbers:
38 # all subsequent line numbers are relative to this first one (baseline)
39 set baseline [gdb_find_recursion_test_baseline $srcfile]
40 if { $baseline == -1 } then {
41 fail "Could not find gdb_recursion_test function"
42 return
43 }
44 set testline1 [expr $baseline + 4]
45
46 #
47 # test "delete tracepoints" command
48 #
49
50 # 3.1 delete tracepoints (all)
51 gdb_delete_tracepoints
52 gdb_test "trace gdb_c_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 1"
53 gdb_test "trace gdb_asm_test" "Tracepoint \[0-9\]+ at .*" "set tracepoint 2"
54 gdb_test "trace $testline1" "Tracepoint \[0-9\]+ at .*" "set tracepoint 3"
55
56 gdb_test "info tracepoints" \
57 "Num Type\[ \]+Disp Enb Address\[ \]+What.*
58 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
59 \[\t \]+not installed on target.
60 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
61 \[\t \]+not installed on target.
62 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
63 \[\t \]+not installed on target." \
64 "3.1a: set three tracepoints"
65
66 gdb_test "delete tracepoints" \
67 "" \
68 "3.1b: delete all tracepoints" \
69 "Delete all tracepoints.*y or n.*$" \
70 "y"
71
72
73 # 3.2 delete tracepoint <n>
74 gdb_delete_tracepoints
75 set trcpt1 [gdb_gettpnum gdb_c_test]
76 set trcpt2 [gdb_gettpnum gdb_asm_test]
77 set trcpt3 [gdb_gettpnum $testline1]
78 if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
79 fail "setting tracepoints"
80 return
81 }
82
83 gdb_test "info tracepoints" \
84 "Num Type\[ \]+Disp Enb Address\[ \]+What.*
85 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
86 \[\t \]+not installed on target.
87 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
88 \[\t \]+not installed on target.
89 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
90 \[\t \]+not installed on target." \
91 "3.2a: set three tracepoints"
92
93 #gdb_test_no_output "delete tracepoint $trcpt1" ""
94 gdb_test_multiple "delete tracepoint $trcpt1" "3.2b: delete first tracepoint" {
95 -re "No tracepoint number.*$gdb_prompt $" {
96 fail "3.2b: delete first tracepoint"
97 }
98 -re ".*\[Ee\]rror.*$gdb_prompt $" {
99 fail "3.2b: delete first tracepoint"
100 }
101 -re "$gdb_prompt $" {
102 pass "3.2b: delete first tracepoint"
103 }
104 }
105
106 gdb_test "info tracepoints" \
107 "Num Type\[ \]+Disp Enb Address\[ \]+What.*
108 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
109 \[\t \]+not installed on target.
110 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
111 \[\t \]+not installed on target." \
112 "3.2c: verify delete first tracepoint"
113
114 #gdb_test_no_output "delete tracepoint $trcpt2" ""
115 gdb_test_multiple "delete tracepoint $trcpt2" "3.2d: delete second tracepoint" {
116 -re "No tracepoint number.*$gdb_prompt $" {
117 fail "3.2d: delete second tracepoint"
118 }
119 -re ".*\[Ee\]rror.*$gdb_prompt $" {
120 fail "3.2d: delete second tracepoint"
121 }
122 -re "$gdb_prompt $" {
123 pass "3.2d: delete second tracepoint"
124 }
125 }
126
127 gdb_test "info tracepoints" \
128 "Num Type\[ \]+Disp Enb Address\[ \]+What.*
129 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
130 \[\t \]+not installed on target." \
131 "3.2e: verify delete second tracepoint"
132
133 #gdb_test_no_output "delete tracepoint $trcpt3" ""
134 gdb_test_multiple "delete tracepoint $trcpt3" "3.2f: delete third tracepoint" {
135 -re "No tracepoint number.*$gdb_prompt $" {
136 fail "3.2f: delete third tracepoint"
137 }
138 -re ".*\[Ee\]rror.*$gdb_prompt $" {
139 fail "3.2f: delete third tracepoint"
140 }
141 -re "$gdb_prompt $" {
142 pass "3.2f: delete third tracepoint"
143 }
144 }
145
146 # send_gdb "ARF! \\n\n"
147 gdb_test "info tracepoints" \
148 "No tracepoints." \
149 "3.2g: verify delete third tracepoint"
150
151 # 3.3 delete three tracepoints at once
152 gdb_delete_tracepoints
153 set trcpt1 [gdb_gettpnum gdb_c_test]
154 set trcpt2 [gdb_gettpnum gdb_asm_test]
155 set trcpt3 [gdb_gettpnum $testline1]
156 if { $trcpt1 <= 0 || $trcpt2 <= 0 || $trcpt3 <= 0 } then {
157 fail "setting tracepoints"
158 return
159 }
160
161 gdb_test "info tracepoints" \
162 "Num Type\[ \]+Disp Enb Address\[ \]+What.*
163 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_c_test at .*$srcfile:\[0-9\]+.
164 \[\t \]+not installed on target.
165 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_asm_test at .*$srcfile:\[0-9\]+.
166 \[\t \]+not installed on target.
167 \[0-9\]+\[\t \]+tracepoint keep y.* in gdb_recursion_test at .*$srcfile:\[0-9\]+.
168 \[\t \]+not installed on target." \
169 "3.3a: set three tracepoints"
170
171 #gdb_test_no_output "delete tracepoint $trcpt1 $trcpt2 $trcpt3" ""
172 gdb_test_multiple "delete tracepoint $trcpt1 $trcpt2 $trcpt3" \
173 "3.3b: delete three tracepoints" {
174 -re "No tracepoint number.*$gdb_prompt $" {
175 fail "3.3b: delete three tracepoints"
176 }
177 -re ".*\[Ee\]rror.*$gdb_prompt $" {
178 fail "3.3b: delete three tracepoints"
179 }
180 -re "$gdb_prompt $" {
181 pass "3.3b: delete three tracepoints"
182 }
183 }
184
185 gdb_test "info tracepoints" \
186 "No tracepoints." \
187 "3.3c: verify delete three tracepoints"
188
189 # 3.4 delete invalid tracepoint number
190 gdb_test "delete tracepoint [expr $trcpt2 + $trcpt3]" \
191 "No breakpoint number [expr $trcpt2 + $trcpt3]." \
192 "3.4: delete invalid tracepoint number"
193
194 # 3.5 delete tracepoint number zero
195 gdb_test "delete tracepoint 0" "bad breakpoint number at or near '0'" \
196 "3.5: delete tracepoint number zero"
197
198 # 3.6 help delete tracepoints
199 gdb_test "help delete tracepoints" \
200 "Delete specified tracepoints.*" \
201 "3.6: help delete tracepoints"
This page took 0.03965 seconds and 4 git commands to generate.