This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v2 1/3] gdb/testsuite/gdb.python: Added testcase for value method
- From: Maxim Bublis <satori at yandex-team dot ru>
- To: gdb-patches at sourceware dot org
- Cc: Maxim Bublis <satori at yandex-team dot ru>
- Date: Wed, 5 Mar 2014 17:41:02 +0400
- Subject: [PATCH v2 1/3] gdb/testsuite/gdb.python: Added testcase for value method
- Authentication-results: sourceware.org; auth=none
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.python/py-symbol.c | 3 +++
gdb/testsuite/gdb.python/py-symbol.exp | 6 ++++++
3 files changed, 14 insertions(+)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 835338f..b735369 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-05 Maxim Bublis <satori@yandex-team.ru>
+
+ * gdb.python/py-symbol.c: Add label.
+ * gdb.python/py-symbol.exp: Test value method for label object.
+
2014-02-26 Ludovic CourtÃs <ludo@gnu.org>
* gdb.guile/scm-value.exp (test_value_in_inferior): Add
diff --git a/gdb/testsuite/gdb.python/py-symbol.c b/gdb/testsuite/gdb.python/py-symbol.c
index 3201365..746a370 100644
--- a/gdb/testsuite/gdb.python/py-symbol.c
+++ b/gdb/testsuite/gdb.python/py-symbol.c
@@ -40,6 +40,9 @@ int func (int arg)
{
int i = 2;
i = i * arg; /* Block break here. */
+
+some_label:
+
return arg;
}
diff --git a/gdb/testsuite/gdb.python/py-symbol.exp b/gdb/testsuite/gdb.python/py-symbol.exp
index 9b6ba2e..cace689 100644
--- a/gdb/testsuite/gdb.python/py-symbol.exp
+++ b/gdb/testsuite/gdb.python/py-symbol.exp
@@ -81,6 +81,12 @@ gdb_test "python print (func.print_name)" "func" "Test func.print_name"
gdb_test "python print (func.linkage_name)" "func" "Test func.linkage_name"
gdb_test "python print (func.addr_class == gdb.SYMBOL_LOC_BLOCK)" "True" "Test func.addr_class"
+# Test attributes and methods of label.
+gdb_py_test_silent_cmd "python some_label = list(block)\[2\]" "Get some_label symbol" 0
+gdb_test "python print (some_label.name)" "some_label" "Test some_label.name"
+gdb_test "python print (some_label.addr_class == gdb.SYMBOL_LOC_LABEL)" "True" "Test some_label.addr_class"
+gdb_test "python print (some_label.value(frame))" ".*TypeError: cannot get the value of a label.*" "Test some_label.value()"
+
gdb_breakpoint [gdb_get_line_number "Break at end."]
gdb_continue_to_breakpoint "Break at end for variable a" ".*Break at end.*"
gdb_py_test_silent_cmd "python frame = gdb.selected_frame()" "Get Frame" 0
--
1.7.9.5