[PATCH v2 1/3] gdb/testsuite/gdb.python: Added testcase for value method

Maxim Bublis satori@yandex-team.ru
Wed Mar 5 13:41:00 GMT 2014


---
 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



More information about the Gdb-patches mailing list