aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-04-11 17:40:41 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-04-11 17:40:41 +0000
commite1ab1f9c669fbcb1a13218823dd08592bddb90d8 (patch)
tree81a535f4901e4e6eae2107414c9884e219c5586e /gdb
parented0d9c711c14c280d4c06bb200eaad162549efcb (diff)
downloadfsf-binutils-gdb-e1ab1f9c669fbcb1a13218823dd08592bddb90d8.zip
fsf-binutils-gdb-e1ab1f9c669fbcb1a13218823dd08592bddb90d8.tar.gz
fsf-binutils-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')
-rw-r--r--gdb/testsuite/ChangeLog9
-rw-r--r--gdb/testsuite/gdb.python/py-prettyprint.c5
-rw-r--r--gdb/testsuite/gdb.python/py-prettyprint.exp2
-rw-r--r--gdb/testsuite/gdb.python/py-prettyprint.py15
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 ()