OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gdb-7.2/] [gdb-7.2-or32-1.0rc1/] [gdb/] [testsuite/] [gdb.base/] [async.exp] - Blame information for rev 341

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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