mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
Tests for gdb.InferiorThread.handle
gdb/testsuite/ChangeLog: * gdb.python/py-thrhandle.exp: Add tests for gdb.InferiorThread.handle.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2019-04-08 Kevin Buettner <kevinb@redhat.com>
|
||||||
|
|
||||||
|
* gdb.python/py-thrhandle.exp: Add tests for
|
||||||
|
gdb.InferiorThread.handle.
|
||||||
|
|
||||||
2019-04-01 Andrew Burgess <andrew.burgess@embecosm.com>
|
2019-04-01 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* gdb.python/py-function.exp: Check calling helper function from
|
* gdb.python/py-function.exp: Check calling helper function from
|
||||||
|
@ -16,12 +16,13 @@
|
|||||||
# Please email any bugs, comments, and/or additions to this file to:
|
# Please email any bugs, comments, and/or additions to this file to:
|
||||||
# bug-gdb@gnu.org
|
# bug-gdb@gnu.org
|
||||||
|
|
||||||
# This file verifies that gdb.Inferior.thread_from_thread_handle works
|
# This file verifies that methods Inferior.thread_from_thread_handle
|
||||||
# as expected.
|
# and InferiorThread.handle work as expected.
|
||||||
|
|
||||||
|
load_lib gdb-python.exp
|
||||||
|
|
||||||
standard_testfile
|
standard_testfile
|
||||||
|
|
||||||
|
|
||||||
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug] != "" } {
|
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable debug] != "" } {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
@ -104,3 +105,38 @@ gdb_test "python print(gdb.selected_inferior().thread_from_thread_handle(gdb.par
|
|||||||
gdb_test "python print(gdb.selected_inferior().thread_from_thread_handle(gdb.parse_and_eval('\"S\"')))" \
|
gdb_test "python print(gdb.selected_inferior().thread_from_thread_handle(gdb.parse_and_eval('\"S\"')))" \
|
||||||
".*Thread handle size mismatch.*" \
|
".*Thread handle size mismatch.*" \
|
||||||
"Pass too small of an object to thread_from_thread_handle"
|
"Pass too small of an object to thread_from_thread_handle"
|
||||||
|
|
||||||
|
# Test the thread_handle method
|
||||||
|
|
||||||
|
gdb_py_test_silent_cmd "python tp=gdb.lookup_type('pthread_t')" \
|
||||||
|
"Get pthread_t type" 0
|
||||||
|
gdb_py_test_silent_cmd "python inf=gdb.selected_inferior()" "Get inferior" 0
|
||||||
|
|
||||||
|
foreach thrN {0 1 2} {
|
||||||
|
with_test_prefix "thread $thrN" {
|
||||||
|
|
||||||
|
gdb_py_test_silent_cmd \
|
||||||
|
"python hand = gdb.parse_and_eval('thrs\[$thrN\]')" \
|
||||||
|
"fetch thread handle from inferior" \
|
||||||
|
1
|
||||||
|
|
||||||
|
gdb_py_test_silent_cmd \
|
||||||
|
"python hand_bytes = inf.thread_from_thread_handle(hand).handle()" \
|
||||||
|
"fetch thread handle from thread" \
|
||||||
|
1
|
||||||
|
|
||||||
|
|
||||||
|
# It'd be nice to be able to use this comparison expression:
|
||||||
|
#
|
||||||
|
# hand == hand_bytes
|
||||||
|
#
|
||||||
|
# But this won't work because hand is a gdb.Value and hand_bytes
|
||||||
|
# is a Python bytes object. Therefore, we convert the bytes
|
||||||
|
# object into a gdb.value by calling the two argument form of
|
||||||
|
# its constructor.
|
||||||
|
|
||||||
|
gdb_test "python print(gdb.Value(hand_bytes, tp) == hand)" \
|
||||||
|
"True" \
|
||||||
|
"verify that handles are the same"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user