summaryrefslogtreecommitdiffstats
path: root/pyuno/source/module/pyuno_module.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'pyuno/source/module/pyuno_module.cxx')
-rw-r--r--pyuno/source/module/pyuno_module.cxx21
1 files changed, 16 insertions, 5 deletions
diff --git a/pyuno/source/module/pyuno_module.cxx b/pyuno/source/module/pyuno_module.cxx
index 40ed69e0191b..93a58111f6ae 100644
--- a/pyuno/source/module/pyuno_module.cxx
+++ b/pyuno/source/module/pyuno_module.cxx
@@ -318,7 +318,7 @@ static PyObject* getComponentContext(
}
static PyObject* initTestEnvironment(
- SAL_UNUSED_PARAMETER PyObject*, SAL_UNUSED_PARAMETER PyObject*)
+ SAL_UNUSED_PARAMETER PyObject*, SAL_UNUSED_PARAMETER PyObject* args)
{
// this tries to bootstrap enough of the soffice from python to run
// unit tests, which is only possible indirectly because pyuno is URE
@@ -349,10 +349,21 @@ static PyObject* initTestEnvironment(
mod.load(OStringToOUString(libname, osl_getThreadTextEncoding()),
SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL);
if (!mod.is()) { abort(); }
- oslGenericFunction const pFunc(
- mod.getFunctionSymbol("test_init"));
- if (!pFunc) { abort(); }
- reinterpret_cast<void (SAL_CALL *)(XMultiServiceFactory*)>(pFunc)(xMSF.get());
+ assert(PyTuple_Check(args));
+ if (PyTuple_Size(args) == 0)
+ {
+ oslGenericFunction const pFunc(
+ mod.getFunctionSymbol("test_init"));
+ if (!pFunc) { abort(); }
+ reinterpret_cast<void (SAL_CALL *)(XMultiServiceFactory*)>(pFunc)(xMSF.get());
+ }
+ else
+ {
+ oslGenericFunction const pFunc(
+ mod.getFunctionSymbol("test_fini"));
+ if (!pFunc) { abort(); }
+ reinterpret_cast<void (SAL_CALL *)()>(pFunc)();
+ }
}
catch (const css::uno::Exception &)
{