diff options
author | Kevin Pouget <kpouget@sourceware.org> | 2011-10-07 07:38:30 +0000 |
---|---|---|
committer | Kevin Pouget <kpouget@sourceware.org> | 2011-10-07 07:38:30 +0000 |
commit | 20c168b5194d56e3f0f6a19db5905737463eadeb (patch) | |
tree | acf80f3e61bd1be077b725981274275a3881d03c /gdb/testsuite/gdb.python/py-events.exp | |
parent | 8031b6f821f37552bc238e08af0cd5d9d2da9abd (diff) | |
download | gdb-20c168b5194d56e3f0f6a19db5905737463eadeb.zip gdb-20c168b5194d56e3f0f6a19db5905737463eadeb.tar.gz gdb-20c168b5194d56e3f0f6a19db5905737463eadeb.tar.bz2 |
Allow Python notification of new object-file loadings.
* Makefile.in (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c.
(SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o.
Add build rule for this file.
* python/py-event.h (emit_new_objfile_event): New prototype.
(newobjfile): New Python event emitter.
* python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to
Python event registry.
* python/py-inferior.c: Include objfiles.h
(python_new_objfile): New function.
(gdbpy_initialize_inferior): Add python_new_objfile to the new objfile
observers.
* python/py-newobjfileevent.c: New file.
* python-internal.h (gdbpy_initialize_new_objfile_event): New
prototype.
* python/python.c (_initialize_python): Add
gdbpy_initialize_new_objfile_event call.
* NEWS: Add item for new Python event "gdb.newobjfile"
2011-10-06 Kevin Pouget <kevin.pouget@st.com>
Allow Python notification of new object-file loadings.
* gdb.texinfo (Events In Python): Document `gdb.NewObjFileEvent'
event type.
2011-10-06 Kevin Pouget <kevin.pouget@st.com>
Allow Python notification of new object-file loadings.
* gdb.python/py-events.exp: Test newobjfile event.
* gdb.python/py-events.py: Register newobjfile callback.
* gdb.python/py-events.c: Add call to shared library
* gdb.python/py-events-shlib.c: New file.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-events.exp')
-rw-r--r-- | gdb/testsuite/gdb.python/py-events.exp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.python/py-events.exp b/gdb/testsuite/gdb.python/py-events.exp index 18419fa..e420389 100644 --- a/gdb/testsuite/gdb.python/py-events.exp +++ b/gdb/testsuite/gdb.python/py-events.exp @@ -19,23 +19,39 @@ if $tracelevel then { load_lib gdb-python.exp +set libfile "py-events-shlib" +set libsrc $srcdir/$subdir/$libfile.c +set lib_sl $objdir/$subdir/$libfile.so +set lib_opts debug + set testfile "py-events" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} +set exec_opts [list debug shlib=$lib_sl] set pyfile ${srcdir}/${subdir}/${testfile}.py -if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } { +if [get_compiler_info ${binfile}] { return -1 } +if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != "" + || [gdb_compile $srcdir/$subdir/$srcfile $binfile executable $exec_opts] != ""} { + untested "Could not compile either $libsrc or $srcdir/$subdir/$srcfile." + return -1 +} + +# Start with a fresh gdb. +clean_restart ${testfile} + if { [skip_python_tests] } { continue } gdb_test_no_output "python execfile ('${pyfile}')" "" -if ![runto_main ] then { - fail "Can't run to main" - return -1 -} +gdb_test "Test_Newobj_Events" "New ObjectFile Event tester registered." "Register new objfile event handler" + +gdb_breakpoint "main" {temporary} + +gdb_test "run" ".*event type: new_objfile.*new objfile name.*" "New objfile notification" gdb_test_no_output "set detach-on-fork off" "" |