Files
odfstudio/pyuno
Neil Roberts 715da59c42 testofficehelper: Retry connecting indefinitely
This test is sporadically failing on Jenkins. The test_default_config
test effectively only waits a total of 16 seconds for LibreOffice to
start up before giving up. The assumption is that this isn’t long enough
when the build bots are under heavy load from parallel testing.

This patch removes test_default_config and replaces the delays in the
other two tests with an infinite iterator so that it will keep trying to
connect every second forever. If there is a real problem launching
LibreOffice on Jenkins then eventually the kill-wrapper will kick in to
make the test fail.

Change-Id: I31c223892b7c5329c253c90703ec587874029d56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207771
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-07-09 10:46:55 +02:00
..
…
…
…
…

Python UNO Bindings

UNO bindings for the Python programming language.

To have much joy debugging Python extensions you need to:

  • a) edit pythonloader.py in your install setting DEBUG=1 at the top
  • b) touch pyuno/source/module/pyuno_runtime.cxx and make debug=true in pyuno

Then you'll start to see your exceptions on the console instead of them getting lost at the UNO interface.

Python also comes with a gdb script libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0-gdb.py that is copied to instdir and will be auto-loaded by gdb; it provides commands like py-bt to get a Python-level backtrace, and py-print to print Python variables.

Another way to debug Python code is to use pdb: edit some initialization function to insert import pdb; pdb.set_trace() (somewhere so that it is executed early), then run soffice from a terminal and a command-line Python debugger will appear where you can set Python-level breakpoints.