gdb/testsuite/

* gdb.python/py-prettyprint.c (struct hint_error): New.
	(main): New variable hint_error.
	* gdb.python/py-prettyprint.exp (run_lang_tests): New testcase
	"print hint_error".
	* gdb.python/py-prettyprint.py (class pp_hint_error): New.
	(register_pretty_printers): Register it.
This commit is contained in:
Jan Kratochvil 2011-04-11 17:40:41 +00:00
parent ed0d9c711c
commit e1ab1f9c66
4 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2011-04-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.python/py-prettyprint.c (struct hint_error): New.
(main): New variable hint_error.
* gdb.python/py-prettyprint.exp (run_lang_tests): New testcase
"print hint_error".
* gdb.python/py-prettyprint.py (class pp_hint_error): New.
(register_pretty_printers): Register it.
2011-04-04 Tom Tromey <tromey@redhat.com>
* gdb.cp/maint.exp (test_help): Update.

View File

@ -44,6 +44,10 @@ struct lazystring {
const char *lazy_str;
};
struct hint_error {
int x;
};
#ifdef __cplusplus
struct S : public s {
int zs;
@ -215,6 +219,7 @@ main ()
nostring_type nstype, nstype2;
struct ns ns, ns2;
struct lazystring estring, estring2;
struct hint_error hint_error;
nstype.elements = narray;
nstype.len = 0;

View File

@ -97,6 +97,8 @@ proc run_lang_tests {lang} {
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
gdb_test "print hint_error" "Exception: hint failed\r\nhint_error_val"
gdb_test "print c" " = container \"container\" with 2 elements = {$nl *.0. = 23,$nl *.1. = 72$nl}"
gdb_test "print nstype" " = {$nl *.0. = 7,$nl *.1. = 42$nl}"

View File

@ -161,6 +161,18 @@ class pp_ls:
def display_hint (self):
return 'string'
class pp_hint_error:
"Throw error from display_hint"
def __init__(self, val):
self.val = val
def to_string(self):
return 'hint_error_val'
def display_hint (self):
raise Exception("hint failed")
class pp_outer:
"Print struct outer"
@ -246,6 +258,9 @@ def register_pretty_printers ():
pretty_printers_dict[re.compile ('^struct outerstruct$')] = pp_outer
pretty_printers_dict[re.compile ('^outerstruct$')] = pp_outer
pretty_printers_dict[re.compile ('^struct hint_error$')] = pp_hint_error
pretty_printers_dict[re.compile ('^hint_error$')] = pp_hint_error
pretty_printers_dict = {}
register_pretty_printers ()