Files
odfstudio/pyuno/Module_pyuno.mk
T
Stephan Bergmann 3320b5fe2e Add exhaustive testing of PyUNO type mapping based on embindtest
...in preparation for doing fixes for tdf#169229 "PyUNO: Hard to create null UNO
interface references, to use in a method invocation" etc.  (Basing it on
embindtest means it requires --enable-embindtest-uno, at least for now.)

Various places in pyuno/qa/pytests/embindtest.py are marked with TODO comments.
(Executing

>         v = test.getAnyException()

would cause an odd

> Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception set

failure that needs further investigation.)

To not only test calls from PyUNO to binary (C++) UNO, but also from binary
(C++) UNO to PyUNO, add an executeTest method to the
org.libreoffice.embindtest.XTest interface.  For now, it only does those tests
that were already done by the org.libreoffice.embindtest.BridgeTest service
implementation, but the plan is to extend those (e.g., don't just only test
getAnyVoid, but all the getAny... variants).  And the corresponding Test class
implementation in pyuno/qa/pytests/embindtest.py for now only defines those
methods that are actually called, and will need to be extended as well.

Change-Id: I0dd66b9aed14cc7e679da78b86d0dc657625fe94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195238
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
2025-12-08 21:28:43 +01:00

62 lines
1.5 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Module_Module,pyuno))
ifneq ($(DISABLE_PYTHON),TRUE)
$(eval $(call gb_Module_add_targets,pyuno,\
CustomTarget_pyuno_pythonloader_ini \
Library_pyuno \
Library_pythonloader \
Package_python_scripts \
Package_pyuno_pythonloader_ini \
Rdb_pyuno \
))
ifneq ($(OS),WNT)
$(eval $(call gb_Module_add_targets,pyuno,\
Library_pyuno_wrapper \
))
endif
# Windows: only --enable-python=internal possible
# python-core: pyuno/python.exe on Windows
ifeq ($(OS),WNT)
$(eval $(call gb_Module_add_targets,pyuno,\
Executable_python \
))
endif
ifneq ($(SYSTEM_PYTHON),TRUE)
# python-core: python.sh on Unix
ifneq ($(OS),WNT)
$(eval $(call gb_Module_add_targets,pyuno,\
CustomTarget_python_shell \
Package_python_shell \
))
endif
$(eval $(call gb_Module_add_check_targets,pyuno, \
PythonTest_pyuno_pytests_testimports \
))
endif # !SYSTEM_PYTHON
$(eval $(call gb_Module_add_subsequentcheck_targets,pyuno, \
PythonTest_pyuno_pytests_testcollections \
PythonTest_pyuno_pytests_insertremovecells \
$(if $(ENABLE_EMBINDTEST_UNO),PythonTest_pyuno_pytests_embindtest) \
))
endif # DISABLE_PYTHON
# vim:set noet sw=4 ts=4: