2048db4dc8
The new tests fail with:
> core/xmlsecurity/qa/unit/signing/signing2.cxx:
> 252: Assertion
> Test name: testPasswordPreserveMacroSignatureODFWholesomeLO242::TestBody
> equality assertion failed
> - Expected: 1
> - Actual : 4
This is because only the first test that runs sees the testing CA
certificates that are copied in MacrosTest::setUpNssGpg(); when the
second test runs, they have somehow vanished.
This is because apparently SQLite on MacOSX, unlike on Linux, monitors
the file descriptors of its database files, and then invalidates itself
when setUpNssGpg() via osl::File::copy() renames and unlinks the
existing database files:
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode renamed while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/cert9.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 5 (0x20)
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/cert9.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 5 (0x11)
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode renamed while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/key4.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 6 (0x20)
> cppunittester[29873:5483181] [logging] BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use: core/workdir/CppunitTest/xmlsecurity_signing2.test.user/key4.db.osl-tmp
> cppunittester[29873:5483181] [logging] invalidated open fd: 6 (0x11)
Split MacrosTest::setUpNssGpg()/tearDownNssGpg() into functions
setUpX509() which only does something on the 1st invocation, and
setUpGpg()/tearDownGpg() which may be invoked per-test (they could also
be run once for the whole test suite, but not obvious how to do that);
PDF related tests don't need GPG.
Presumably this is (along with the WNT-specific problem fixed in commit
|
||
---|---|---|
.. | ||
inc | ||
qa | ||
source | ||
uiconfig/ui | ||
AllLangMoTarget_flt.mk | ||
Configuration_filter.mk | ||
CppunitTest_filter_dialogs_test.mk | ||
CppunitTest_filter_msfilter.mk | ||
CppunitTest_filter_pdf.mk | ||
CppunitTest_filter_priority.mk | ||
CppunitTest_filter_svg.mk | ||
CppunitTest_filter_textfilterdetect.mk | ||
CppunitTest_filter_xslt.mk | ||
CustomTarget_svg.mk | ||
IwyuFilter_filter.yaml | ||
JunitTest_filter_complex.mk | ||
Library_filterconfig.mk | ||
Library_graphicfilter.mk | ||
Library_icg.mk | ||
Library_msfilter.mk | ||
Library_odfflatxml.mk | ||
Library_pdffilter.mk | ||
Library_storagefd.mk | ||
Library_svgfilter.mk | ||
Library_t602filter.mk | ||
Library_textfd.mk | ||
Library_xmlfa.mk | ||
Library_xmlfd.mk | ||
Library_xsltdlg.mk | ||
Library_xsltfilter.mk | ||
Makefile | ||
Module_filter.mk | ||
Package_docbook.mk | ||
Package_xhtml.mk | ||
Package_xslt.mk | ||
README.md | ||
UIConfig_filter.mk |
LibreOffice Filters
Filter registration and some simple filters (also descriptions).
Desperate splitting of code into small shared libraries for historical
reasons presumably (OS/2 and Windows 3.x). The libraries produced from
the code in each subdirectory of filter/source/graphicfilter
are
graphic format import or export filters. But they don't have uniform
API. Some have either a GraphicImport
or GraphicExport
entry point,
and are loaded and used in a uniform fashion from code in
svtools/source/filter/filter.cxx
. Others have different API and are
loaded from other places. For instance icgm
has ImportCGM
, and is
loaded and used by sd/source/filter/cgm/sdcgmfilter.cxx
(!).
Svgreader is used for "File -> Open" and then to choose the svg file.
For "Insert -> Picture -> From File", see svgio/source/svgreader
directory.
Filter Configuration
The filter configuration consists of two parts, the type definition in
filter/source/config/fragments/types/
and the actual filter definition
in filter/source/config/fragments/filters/
.
Each file type e.g. text file should be represented by exactly one type definition. This type can then be referenced by several different filters, e.g. calc text, writer text.