Unittest problem with service com.sun.star.drawing.GraphicExportFilter

Michael Stahl mst at libreoffice.org
Tue Oct 25 16:36:01 UTC 2022


On 25.10.22 18:24, Regina Henschel wrote:
> Hi all,
> 
> this is about https://gerrit.libreoffice.org/c/core/+/141830
> tdf#83671 SmartArt: preserve pos and size for metafile
> 
> If you try the patch, you will see, that the SmartArt is imported in 
> Calc as group object with one child object. The child is a 
> "com.sun.star.drawing.GraphicObjectShape". Copying to Draw shows, that 
> it is indeed a metafile. So the patch seems to be correct.
> 
> But the unit test fails. It has the warning
> warn:oox.drawingml:2860:13240:oox/source/drawingml/shape.cxx:2039: 
> Shape::renderDiagramToGraphic com.sun.star.uno.DeploymentException 
> message: "component context fails to supply service 
> com.sun.star.drawing.GraphicExportFilter of type 
> com.sun.star.drawing.XGraphicExportFilter"
> 
> The warning comes from method create() from class GraphicExportFilter, 
> where creating of "the_instance" fails. And so indeed no metafile is 
> created.
> 
> I have no idea about the reason as in a normal running LO the import 
> works and resaving as ods or xlsx has no problems.

the unit test makefile is missing some component file.

many unit tests use the whole services.rdb but some unfortunately have a 
long list of individiual files inside a call to 
gb_CppunitTest_use_components.

you can find the component file with a command like this:

> git grep com.sun.star.drawing.GraphicExportFilter $(git ls-files '*.component')
svx/util/svxcore.component:    <service 
name="com.sun.star.drawing.GraphicExportFilter"/>

then add the "svx/util/svxcore" to the gb_CppunitTest_use_components 
list in the test's CppunitTest_*.mk - don't forget the '\' must be the 
last character of the line.



More information about the LibreOffice mailing list