mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 01:07:52 +00:00
2009-09-21 Phil Muldoon <pmuldoon@redhat.com>
PR python/10633 * c-lang.c (c_printstr): Do not loop past options->print_max when iterating with wchar_iterate. 2009-09-21 Phil Muldoon <pmuldoon@redhat.com> PR python/10633 * gdb.python/py-prettyprint.exp (gdb_py_test_silent_cmd): New Function. (run_lang_tests): Add print elements test.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2009-09-21 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
PR python/10633
|
||||
|
||||
* c-lang.c (c_printstr): Do not loop past options->print_max when
|
||||
iterating with wchar_iterate.
|
||||
|
||||
2009-09-21 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
* python/py-value.c (valpy_getitem): Test value before allowing
|
||||
|
||||
@@ -459,7 +459,7 @@ c_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string,
|
||||
single character in isolation. This makes the code simpler
|
||||
and probably does the sensible thing in the majority of
|
||||
cases. */
|
||||
while (num_chars == 1)
|
||||
while (num_chars == 1 && things_printed < options->print_max)
|
||||
{
|
||||
/* Count the number of repetitions. */
|
||||
unsigned int reps = 0;
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
2009-09-21 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
PR python/10633
|
||||
|
||||
* gdb.python/py-prettyprint.exp (gdb_py_test_silent_cmd): New
|
||||
Function.
|
||||
(run_lang_tests): Add print elements test.
|
||||
|
||||
2009-09-21 Phil Muldoon <pmuldoon@redhat.com>
|
||||
|
||||
* gdb.python/py-value.exp (test_subscript_regression): New
|
||||
|
||||
@@ -35,6 +35,17 @@ gdb_test_multiple "python print 'hello, world!'" "verify python support" {
|
||||
-re "$gdb_prompt $" {}
|
||||
}
|
||||
|
||||
# Run a command in GDB, and report a failure if a Python exception is thrown.
|
||||
# If report_pass is true, report a pass if no exception is thrown.
|
||||
proc gdb_py_test_silent_cmd {cmd name report_pass} {
|
||||
global gdb_prompt
|
||||
|
||||
gdb_test_multiple $cmd $name {
|
||||
-re "Traceback.*$gdb_prompt $" { fail $name }
|
||||
-re "$gdb_prompt $" { if $report_pass { pass $name } }
|
||||
}
|
||||
}
|
||||
|
||||
proc run_lang_tests {lang} {
|
||||
global srcdir subdir srcfile binfile testfile hex
|
||||
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug $lang"] != "" } {
|
||||
@@ -79,6 +90,11 @@ proc run_lang_tests {lang} {
|
||||
gdb_test "print derived" \
|
||||
" = \{.*<Vbase1> = pp class name: Vbase1.*<Vbase2> = \{.*<VirtualTest> = pp value variable is: 1,.*members of Vbase2:.*_vptr.Vbase2 = $hex.*<Vbase3> = \{.*members of Vbase3.*members of Derived:.*value = 2.*"
|
||||
gdb_test "print ns " "\"embedded\\\\000null\\\\000string\""
|
||||
gdb_py_test_silent_cmd "set print elements 3" "" 1
|
||||
gdb_test "print ns" "emb\.\.\.."
|
||||
gdb_py_test_silent_cmd "set print elements 10" "" 1
|
||||
gdb_test "print ns" "embedded\\\\000n\.\.\.."
|
||||
gdb_py_test_silent_cmd "set print elements 200" "" 1
|
||||
}
|
||||
|
||||
gdb_test "print x" " = $hex \"this is x\""
|
||||
|
||||
Reference in New Issue
Block a user