]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.c++/userdef.exp
Initial creation of sourceware repository
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.c++ / userdef.exp
1 # Copyright (C) 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 # written by Elena Zannoni (ezannoni@cygnus.com)
21 #
22 # testing overloaded operators resolution.
23 #
24 # source file "userdef.cc"
25 #
26
27
28 if $tracelevel then {
29 strace $tracelevel
30 }
31
32 # Check to see if we have an executable to test. If not, then either we
33 # haven't tried to compile one, or the compilation failed for some reason.
34 # In either case, just notify the user and skip the tests in this file.
35
36 set testfile "userdef"
37 set srcfile ${testfile}.cc
38 set binfile ${objdir}/${subdir}/${testfile}
39
40 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
41 gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
42 }
43
44
45 gdb_exit
46 gdb_start
47 gdb_reinitialize_dir $srcdir/$subdir
48 gdb_load ${binfile}
49
50
51 if ![runto_main] then {
52 perror "couldn't run to breakpoint"
53 continue
54 }
55
56 send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
57 send_gdb "cont\n"
58 gdb_expect {
59 -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
60 send_gdb "up\n"
61 gdb_expect {
62 -re ".*$gdb_prompt $" { pass "up from marker1" }
63 timeout { fail "up from marker1" }
64 }
65 }
66 -re "$gdb_prompt $" { fail "continue to marker1" }
67 timeout { fail "(timeout) continue to marker1" }
68 }
69
70
71 setup_xfail hppa_*_*
72 send_gdb "print one+two\n"
73 gdb_expect {
74 -re "FIXME.*$gdb_prompt $" {
75 pass "print value of one + two"
76 }
77 -re ".*$gdb_prompt $" { xfail "print value of one two" }
78 timeout { fail "(timeout) print value of one two" }
79 }
80
81 send_gdb "print one-two\n"
82 gdb_expect {
83 -re ".*FIXME.*$gdb_prompt $" {
84 pass "print value of one - two"
85 }
86 -re ".*$gdb_prompt $" { xfail "print value of one - two" }
87 timeout { fail "(timeout) print value of one - two" }
88 }
89
90 send_gdb "print one*two\n"
91 gdb_expect {
92 -re ".*FIXME.*$gdb_prompt $" {
93 pass "print value of one * two"
94 }
95 -re ".*$gdb_prompt $" { xfail "print value of one * two" }
96 timeout { fail "(timeout) print value of one * two" }
97 }
98
99 send_gdb "print one/two\n"
100 gdb_expect {
101 -re ".*FIXME.*$gdb_prompt $" {
102 pass "print value of one / two"
103 }
104 -re ".*$gdb_prompt $" { xfail "print value of one / two" }
105 timeout { fail "(timeout) print value of one / two" }
106 }
107
108 send_gdb "print one%two\n"
109 gdb_expect {
110 -re ".*FIXME.*$gdb_prompt $" {
111 pass "print value of one % two"
112 }
113 -re ".*$gdb_prompt $" { xfail "print value of one % two" }
114 timeout { fail "(timeout) print value of one % two" }
115 }
116
117 send_gdb "print one&&two\n"
118 gdb_expect {
119 -re ".*FIXME.*$gdb_prompt $" {
120 pass "print value of one && two"
121 }
122 -re ".*$gdb_prompt $" { xfail "print value of one && two" }
123 timeout { fail "(timeout) print value of one && two" }
124 }
125
126 send_gdb "print one||two\n"
127 gdb_expect {
128 -re ".*FIXME.*$gdb_prompt $" {
129 pass "print value of one|| two"
130 }
131 -re ".*$gdb_prompt $" { xfail "print value of one|| two" }
132 timeout { fail "(timeout) print value of one|| two" }
133 }
134
135 send_gdb "print one&two\n"
136 gdb_expect {
137 -re ".*FIXME.*$gdb_prompt $" {
138 pass "print value of one & two"
139 }
140 -re ".*$gdb_prompt $" { xfail "print value of one & two" }
141 timeout { fail "(timeout) print value of one & two" }
142 }
143
144 send_gdb "print one|two\n"
145 gdb_expect {
146 -re ".*FIXME.*$gdb_prompt $" {
147 pass "print value of one | two"
148 }
149 -re ".*$gdb_prompt $" { xfail "print value of one | two" }
150 timeout { fail "(timeout) print value of one | two" }
151 }
152
153 send_gdb "print one ^ two\n"
154 gdb_expect {
155 -re ".*FIXME.*$gdb_prompt $" {
156 pass "print value of one ^ two"
157 }
158 -re ".*$gdb_prompt $" { xfail "print value of one ^ two" }
159 timeout { fail "(timeout) print value of one ^ two" }
160 }
161
162 send_gdb "print one < two\n"
163 gdb_expect {
164 -re ".*FIXME.*$gdb_prompt $" {
165 pass "print value of one < two"
166 }
167 -re ".*$gdb_prompt $" { xfail "print value of one < two" }
168 timeout { fail "(timeout) print value of one < two" }
169 }
170
171 send_gdb "print one <= two\n"
172 gdb_expect {
173 -re ".*FIXME.*$gdb_prompt $" {
174 pass "print value of one <= two"
175 }
176 -re ".*$gdb_prompt $" { xfail "print value of one <= two" }
177 timeout { fail "(timeout) print value of one <= two" }
178 }
179
180 send_gdb "print one > two\n"
181 gdb_expect {
182 -re ".*FIXME.*$gdb_prompt $" {
183 pass "print value of one > two"
184 }
185 -re ".*$gdb_prompt $" { xfail "print value of one > two" }
186 timeout { fail "(timeout) print value of one > two" }
187 }
188
189 send_gdb "print one >= two\n"
190 gdb_expect {
191 -re ".*FIXME.*$gdb_prompt $" {
192 pass "print value of one >= two"
193 }
194 -re ".*$gdb_prompt $" { xfail "print value of one >= two" }
195 timeout { fail "(timeout) print value of one >= two" }
196 }
197
198
199 send_gdb "print one==two\n"
200 gdb_expect {
201 -re ".*FIXME.*$gdb_prompt $" {
202 pass "print value of one == two"
203 }
204 -re ".*$gdb_prompt $" { xfail "print value of one == two" }
205 timeout { fail "(timeout) print value of one == two" }
206 }
207
208 send_gdb "print one!=two\n"
209 gdb_expect {
210 -re ".*FIXME.*$gdb_prompt $" {
211 pass "print value of one != two"
212 }
213 -re ".*$gdb_prompt $" { xfail "print value of one != two" }
214 timeout { fail "(timeout) print value of one != two" }
215 }
216
217 send_gdb "print one<<31\n"
218 gdb_expect {
219 -re ".*FIXME.*$gdb_prompt $" {
220 pass "print value of one<<31"
221 }
222 -re ".*$gdb_prompt $" { xfail "print value of one<<31" }
223 timeout { fail "(timeout) print value of one<<31" }
224 }
225
226 send_gdb "print one>>31\n"
227 gdb_expect {
228 -re ".*FIXME.*$gdb_prompt $" {
229 pass "print value of one>>31"
230 }
231 -re ".*$gdb_prompt $" { xfail "print value of one>>31" }
232 timeout { fail "(timeout) print value of one>>31" }
233 }
234
235 send_gdb "print !one\n"
236 gdb_expect {
237 -re ".*FIXME.*$gdb_prompt $" {
238 pass "print value of !one"
239 }
240 -re ".*$gdb_prompt $" { xfail "print value of !one" }
241 timeout { fail "(timeout) print value of !one" }
242 }
243
244 send_gdb "print ~one\n"
245 gdb_expect {
246 -re ".*FIXME.*$gdb_prompt $" {
247 pass "print value of ~one"
248 }
249 -re ".*$gdb_prompt $" { xfail "print value of ~one" }
250 timeout { fail "(timeout) print value of ~one" }
251 }
252
253 send_gdb "print -one\n"
254 gdb_expect {
255 -re ".*FIXME.*$gdb_prompt $" {
256 pass "print value of -one"
257 }
258 -re ".*$gdb_prompt $" { xfail "print value of -one" }
259 timeout { fail "(timeout) print value of -one" }
260 }
261
262 send_gdb "print one++\n"
263 gdb_expect {
264 -re ".*FIXME.*$gdb_prompt $" {
265 pass "print value of one++"
266 }
267 -re ".*$gdb_prompt $" { xfail "print value of one++" }
268 timeout { fail "(timeout) print value of one++" }
269 }
270
271 send_gdb "print ++one\n"
272 gdb_expect {
273 -re ".*FIXME.*$gdb_prompt $" {
274 pass "print value of ++one>>31"
275 }
276 -re ".*$gdb_prompt $" { xfail "print value of ++one" }
277 timeout { fail "(timeout) print value of ++one" }
278 }
279
280 send_gdb "print one--\n"
281 gdb_expect {
282 -re ".*.FIXME*$gdb_prompt $" {
283 pass "print value of one-->>31"
284 }
285 -re ".*$gdb_prompt $" { xfail "print value of one-->>31" }
286 timeout { fail "(timeout) print value of one-->>31" }
287 }
288
289 send_gdb "print --one\n"
290 gdb_expect {
291 -re ".*FIXME.*$gdb_prompt $" {
292 pass "print value of --one"
293 }
294 -re ".*$gdb_prompt $" { xfail "print value of --one" }
295 timeout { fail "(timeout) print value of --one" }
296 }
297
298 send_gdb "print one+=7\n"
299 gdb_expect {
300 -re ".*FIXME.*$gdb_prompt $" {
301 pass "print value of one+=7"
302 }
303 -re ".*$gdb_prompt $" { xfail "print value of one+=7" }
304 timeout { fail "(timeout) print value of one+=7" }
305 }
306
307 send_gdb "print two=one\n"
308 gdb_expect {
309 -re ".*FIXME.*$gdb_prompt $" {
310 pass "print value of two=one"
311 }
312 -re ".*$gdb_prompt $" { xfail "print value of two=one" }
313 timeout { fail "(timeout) print value of two=one" }
314 }
315
316 gdb_exit
317 return 0