This week I've been working on getting some testing implemented in the ReportDesign directory. There was an old Java test that was disabled located here
https://opengrok.libreoffice.org/xref/core/reportdesign/qa/complex/reportdesign/ReportDesignerTest.java?r=0286f76b84478a38b252a39a4e33e51339286bcd The test opened two .odb documents and saved them using the 'writer8' and 'calc8' filters. This is analogous to exporting a report since reports can be exported as a writer doc(.odt) or a calc doc(.ods). There is one CppUnit test located in ReportDesign, but it is a UI test that tests opening some dialogs https://opengrok.libreoffice.org/xref/core/reportdesign/qa/unit/reportdesign-dialogs-test.cxx?r=042033f1e6da22616cb76c8d950c20c9efecbad5 In order to write some more detailed CppUnit tests I had to setup some make files as well as create a test base to hold some helper functions that will be used in later tests. After getting the infrastructure to execute the test in place, I ported the old Java test over to CppUnit and improved it so that only one test file is now used and the test is much easier to understand in case it fails. The Gerrit patch for all of this can be found here <goog_229304015> https://gerrit.libreoffice.org/c/core/+/189436 The new test fails when a report fails to save or export, this is typically due to the xml being written improperly. This will be helpful moving forward to catch large scale problems with saving and executing reports. Next, I will need to write some tests for the xml structure of the saved and exported documents, that will test for smaller issues like the presence, location and order of certain elements. These tests will be similar to the XPath tests located in writer. Before writing these more extensive tests, my next goal is to finish implementing the Grouping feature of a Report. I've got a working implementation of the first part of the Grouping feature, sorting the Fields of a Report. I've implemented this by using the SQL ORDER BY clause. Next, I have to implement the actual Grouping of like items, where items that match get a Header and or Footer around them. After the Grouping feature is implemented, hopefully by the start of next week, I will work on getting at least one XPath test working so that I can add more XPath tests as needed moving forward. After that, I have a long TODO list with lots of smaller issues that need to be fixed, for example, dates aren't currently rendered properly. I will work through the list and hopefully be able to get through most of the problems in the next 2 or 3 weeks. That's it for this week, thanks for reading, Adam Seskunas