diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-11 17:40:41 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-04-11 17:40:41 +0000 |
commit | e1ab1f9c669fbcb1a13218823dd08592bddb90d8 (patch) | |
tree | 81a535f4901e4e6eae2107414c9884e219c5586e /gdb/testsuite | |
parent | ed0d9c711c14c280d4c06bb200eaad162549efcb (diff) | |
download | gdb-e1ab1f9c669fbcb1a13218823dd08592bddb90d8.zip gdb-e1ab1f9c669fbcb1a13218823dd08592bddb90d8.tar.gz gdb-e1ab1f9c669fbcb1a13218823dd08592bddb90d8.tar.bz2 |
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.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-prettyprint.c | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-prettyprint.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-prettyprint.py | 15 |
4 files changed, 31 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9ae251b..7205f18 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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. diff --git a/gdb/testsuite/gdb.python/py-prettyprint.c b/gdb/testsuite/gdb.python/py-prettyprint.c index 5f98433..1d88b4e 100644 --- a/gdb/testsuite/gdb.python/py-prettyprint.c +++ b/gdb/testsuite/gdb.python/py-prettyprint.c @@ -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; diff --git a/gdb/testsuite/gdb.python/py-prettyprint.exp b/gdb/testsuite/gdb.python/py-prettyprint.exp index c5033c9..1fd8c6f2 100644 --- a/gdb/testsuite/gdb.python/py-prettyprint.exp +++ b/gdb/testsuite/gdb.python/py-prettyprint.exp @@ -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}" diff --git a/gdb/testsuite/gdb.python/py-prettyprint.py b/gdb/testsuite/gdb.python/py-prettyprint.py index 831a163..92280e0 100644 --- a/gdb/testsuite/gdb.python/py-prettyprint.py +++ b/gdb/testsuite/gdb.python/py-prettyprint.py @@ -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 () |