OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.base/] [async.exp] - Blame information for rev 833

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
#   Copyright 1999, 2007, 2008, 2009, 2010 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 .
15
 
16
 
17
if $tracelevel then {
18
    strace $tracelevel
19
}
20
 
21
#
22
# test running programs
23
#
24
set prms_id 0
25
set bug_id 0
26
 
27
set testfile "async"
28
set srcfile ${testfile}.c
29
set binfile ${objdir}/${subdir}/${testfile}
30
 
31
if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } {
32
    untested async.exp
33
    return -1
34
}
35
 
36
if [get_compiler_info ${binfile}] {
37
    return -1
38
}
39
 
40
########################################
41
##
42
## Don't do any of these tests until we reach consensus on this file.
43
##
44
return 0
45
########################################
46
 
47
set board [target_info name]
48
set current_target [target_info gdb_protocol]
49
if { $current_target == "remote" } {
50
  unset_board_info "gdb_protocol"
51
  set_board_info "gdb_protocol" "async"
52
  } else {
53
      return 0
54
  }
55
 
56
gdb_exit
57
gdb_start
58
gdb_reinitialize_dir $srcdir/$subdir
59
gdb_load ${binfile}
60
if [target_info exists gdb_stub] {
61
    gdb_step_for_stub;
62
}
63
 
64
#
65
# set it up at a breakpoint so we can play with it
66
#
67
if ![runto_main] then {
68
    perror "couldn't run to breakpoint"
69
    continue
70
}
71
 
72
gdb_test "break baz" "" ""
73
 
74
#
75
# Make sure we get a 'completed' message when the target is done.
76
#
77
gdb_test "set display-exec-done on" "" ""
78
 
79
 
80
send_gdb "next&\n"
81
gdb_expect {
82
    -re "^next&\r\n$gdb_prompt.*z = 9.*completed\.\r\n" { pass "next &" }
83
    -re "$gdb_prompt.*completed\.$" { fail "next &" }
84
    timeout  { fail "(timeout) next &" }
85
}
86
 
87
send_gdb "step&\n"
88
gdb_expect {
89
    -re "^step&\r\n$gdb_prompt.*y = foo \\(\\).*completed\.\r\n" { pass "step &" }
90
    -re "$gdb_prompt.*completed\.$" { fail "step &" }
91
    timeout  { fail "(timeout) step &" }
92
}
93
 
94
send_gdb "step&\n"
95
gdb_expect {
96
    -re "^step&\r\n$gdb_prompt foo \\(\\) at .*async.c.*x = 5.*completed\.\r\n" \
97
            { pass "step &" }
98
    -re "$gdb_prompt.*completed\.$" { fail "step &" }
99
    timeout  { fail "(timeout) step &" }
100
}
101
 
102
send_gdb "stepi&\n"
103
gdb_expect {
104
    -re "^stepi&\r\n$gdb_prompt.*$hex.*x = 5.*completed\.\r\n" { pass "stepi &" }
105
    -re "$gdb_prompt.*completed\.$" { fail "stepi &" }
106
    timeout  { fail "(timeout) stepi &" }
107
}
108
 
109
send_gdb "nexti&\n"
110
gdb_expect {
111
    -re "^nexti&\r\n$gdb_prompt.*y = 3.*completed\.\r\n" { pass "nexti &" }
112
    -re "$gdb_prompt.*completed\.$" { fail "nexti &" }
113
    timeout  { fail "(timeout) nexti &" }
114
}
115
 
116
send_gdb "finish&\n"
117
gdb_expect {
118
    -re "^finish&\r\nRun till exit from #0  foo \\(\\) at.*async.c.*\r\n$gdb_prompt.*$hex in main \\(\\) at.*async.c.*y = foo \\(\\).*Value returned is.*= 8.*completed\.\r\n" \
119
            { pass "finish &" }
120
    -re "$gdb_prompt.*completed\.$" { fail "finish &" }
121
    timeout  { fail "(timeout) finish &" }
122
}
123
 
124
send_gdb "jump 33&\n"
125
gdb_expect {
126
    -re "^jump 33&.*Continuing at $hex.*$gdb_prompt.*Breakpoint 2, baz \\(\\) at.*async.c.*return 5.*completed\.\r\n" \
127
            { pass "jump &" }
128
    -re ".*$gdb_prompt.*completed\.$" { fail "jump &" }
129
    timeout  { fail "(timeout) jump &" }
130
}
131
 
132
send_gdb "until 35&\n"
133
gdb_expect {
134
    -re "^until 35&.*$gdb_prompt.*$hex in main \\(\\) at.*async.c.*y = baz \\(\\).*completed\.\r\n" \
135
            { pass "until &" }
136
    -re "$gdb_prompt.*completed\.$" { fail "until &" }
137
    timeout  { fail "(timeout) until &" }
138
}
139
 
140
gdb_test "set display-exec-done off" "" ""
141
 
142
unset_board_info "gdb_protocol"
143
set_board_info "gdb_protocol" "remote"
144
 
145
 
146
 
147
 
148
 
149
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.