URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/gdb-5.0/gdb/testsuite/gdb.java
- from Rev 107 to Rev 1765
- ↔ Reverse comparison
Rev 107 → Rev 1765
/jv-print.exp
0,0 → 1,141
# Copyright (C) 1999 Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 2 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
# Please email any bugs, comments, and/or additions to this file to: |
# bug-gdb@prep.ai.mit.edu |
|
if $tracelevel then { |
strace $tracelevel |
} |
|
set prms_id 0 |
set bug_id 0 |
|
# Set the current language to Java. This counts as a test. If it |
# fails, then we skip the other tests. |
|
proc set_lang_java {} { |
global gdb_prompt |
|
if [gdb_test "set language java" "" "set language java"] { |
return 0 |
} |
|
if [gdb_test "show language" ".* source language is \"java\".*"] { |
return 0 |
} |
return 1; |
} |
|
proc test_integer_literals_accepted {} { |
global gdb_prompt |
|
# Test various decimal values. |
|
gdb_test "p 123" " = 123" |
gdb_test "p -123" " = -123" |
gdb_test "p/d 123" " = 123" |
|
# Test various octal values. |
|
gdb_test "p 0123" " = 83" |
gdb_test "p 00123" " = 83" |
gdb_test "p -0123" " = -83" |
gdb_test "p/o 0123" " = 0123" |
|
# Test various hexadecimal values. |
|
gdb_test "p 0x123" " = 291" |
gdb_test "p -0x123" " = -291" |
gdb_test "p 0x0123" " = 291" |
gdb_test "p -0x0123" " = -291" |
gdb_test "p 0xABCDEF" " = 11259375" |
gdb_test "p 0xabcdef" " = 11259375" |
gdb_test "p 0xAbCdEf" " = 11259375" |
gdb_test "p/x 0x123" " = 0x123" |
} |
|
proc test_character_literals_accepted {} { |
global gdb_prompt |
|
gdb_test "p 'a'" " = 'a'" |
gdb_test "p/c 'a'" " = 'a'" |
gdb_test "p/c 70" " = 'F'" |
gdb_test "p/x 'a'" " = 0x61" |
gdb_test "p/d 'a'" " = 97" |
gdb_test "p/t 'a'" " = 1100001" |
gdb_test "p/x '\\377'" " = 0xff" |
gdb_test "p '\\''" " = '\\\\''" |
# Note "p '\\'" => "= 92 '\\'" |
gdb_test "p '\\\\'" " = '\\\\\\\\'" |
|
# Test the /c print format. |
} |
|
proc test_integer_literals_rejected {} { |
global gdb_prompt |
|
test_print_reject "p 0x" |
gdb_test "p ''" "Empty character constant\\." |
gdb_test "p '''" "Empty character constant\\." |
test_print_reject "p '\\'" |
|
# Note that this turns into "p '\\\'" at gdb's input. |
test_print_reject "p '\\\\\\'" |
|
# Test various decimal values. |
|
test_print_reject "p DEADBEEF" |
|
test_print_reject "p 123DEADBEEF" |
test_print_reject "p 123foobar.bazfoo3" |
test_print_reject "p 123EEEEEEEEEEEEEEEEE33333k333" |
gdb_test "p 123.4+56.7" "180.(099\[0-9]*|100\[0-9\]*)" "check for floating addition" |
|
# Test various octal values. |
|
test_print_reject "p 09" |
test_print_reject "p 079" |
|
# Test various hexadecimal values. |
|
test_print_reject "p 0xG" |
test_print_reject "p 0xAG" |
} |
|
|
|
# Start with a fresh gdb. |
|
gdb_exit |
gdb_start |
gdb_reinitialize_dir $srcdir/$subdir |
|
gdb_test "print \$pc" "No registers\\." |
# FIXME: should also test "print $pc" when there is an execfile but no |
# remote debugging target, process or corefile. |
|
gdb_test "set print sevenbit-strings" "" |
gdb_test "set print address off" "" "" |
gdb_test "set width 0" "" |
|
if [set_lang_java] then { |
test_integer_literals_accepted |
test_character_literals_accepted |
test_integer_literals_rejected |
} else { |
fail "Java print command tests suppressed" |
} |