https://bugs.documentfoundation.org/show_bug.cgi?id=129423

            Bug ID: 129423
           Summary: Make export tests export-only where applicable
                    (DECLARE_*EXPORT_TEST =>
                    DECLARE_*EXPORT_EXPORTONLY_TEST)
           Product: LibreOffice
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: difficultyBeginner, easyHack, skillCpp, topicCleanup
          Severity: normal
          Priority: medium
         Component: LibreOffice
          Assignee: [email protected]
          Reporter: [email protected]

In the codebase, there are a lot of unit tests that have this pattern:

> DECLARE_OOXMLEXPORT_TEST(testFoo,"test.odt")
> {
>     xmlDocPtr pXmlDoc = parseExport();
>     if (!pXmlDoc)
>         return;
>     assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r", 2);
> }

The code tests that pXmlDoc is valid, because the export tests run in two
stages, first in initial import, then in follow-up import-export-import. For
the former, there's no export yet to parse, and so the pXmlDoc validity test
makes this unit test "export-only".

There are special test templates for export-only tests; and so the task is to
change the above code to

> DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testFoo,"test.odt")
> {
>     xmlDocPtr pXmlDoc = parseExport();
>     assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r", 2);
> }

This not only makes it simpler, but also more robust: if parseExport fails for
some parsing problem and returns nullptr, the test should fail, which would
happen now, unlike with original code, where it would silently pass.

The code is in .cxx files, mostly under sw/qa:

https://opengrok.libreoffice.org/search?project=core&full=%2FDECLARE_.*EXPORT_TEST%2F&si=full&n=250
https://opengrok.libreoffice.org/search?project=core&full=%22if+%28%21pXmlDoc%29%22&si=full

Of course, only the actual export-only tests need to be changed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to