You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Damjan Jovanovic <da...@apache.org> on 2015/10/11 10:45:04 UTC

Google Test migration - the conclusion

Hi

So I've migrated the vast majority of cppunit unit tests to Google
Test, and completely removed cppunit from our tree (no
--with-system-cppunit option to configure, no dmake makefile, no
gbuild script, nothing). There is a few last remaining tests using
cppunit or otherwise problematic, but they're extremely difficult to
fix:

1. main/configmgr/qa/unit
Moved to Google Test, but all tests fail on *nix, and it doesn't even
want to start running on Windows. It seems to have been broken long
ago, and someone more familiar with UNO should fix it. Doesn't run
during the build.

2. main/sal/qa/rtl_strings
Doesn't compile, curly braces don't match, and I don't see the value
of wasting more time to port what is like the 4th set of string tests.
Doesn't run during the build.

3. main/sal/qa/osl/security
Moved to Google Test, but doesn't compile as it needs the ancient
getForwardString() API from the obsolete testshl2 module. Doesn't run
during the build.

4. main/smoketestoo_native
Missing test/officeconnection.hxx from ages ago. Not clear whether we
still use the smoke test: on
https://wiki.openoffice.org/wiki/Test_Refactor there's a TODO "Convert
smoketestdoc & smoketestoo_native to JUnit 4 test cases" that's
crossed out with "Done!" appended. I emailed liuzhe (Zhe Liu) who did
that to ask what the status of smoketest is, but received no reply.
Does anybody know?

5. main/tools/qa
Won't link on Windows. Doesn't run during the build.

6. main/unoxml/test
Missing static libraries it depends on. Not integrated into gbuild
like the rest of the module. Doesn't run during the build.

7. main/writerfilter/qa/cppunittests
These tests don't even remotely compile, the entire odiapi seems to be
missing, QName is not a type any more. Looks like extremely old code.
Doesn't run during the build.

8. main/xmlsecurity/qa/certext
Missing test/officeconnection.hxx from ages ago, and needs
neon/ne_ssl.h from http://www.webdav.org/neon, an LGPL licensed
library. Doesn't run during the build.

Since AOO builds I am happy to leave it at this, it would take weeks
to fix every last one of those tests and there's way more important
development to do.

Should I also commit some patches to the above issues that don't
completely fix the problems, but get them closer to working? For
example some I've ported to cppunit, but compiling or linking breaks
for other reasons; would it be ok if I commit that kind of change?

The following is now necessary for our unit tests:
* Hook up as many unit tests as possible into the build (not many currently are)
* Audit the use of OOO_SUBSEQUENT_CHECKS and remove it where it isn't necessary

Regards
Damjan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: Google Test migration - the conclusion

Posted by Kay Schenk <ka...@gmail.com>.

On 10/11/2015 01:45 AM, Damjan Jovanovic wrote:
> Hi
> 
> So I've migrated the vast majority of cppunit unit tests to Google
> Test, and completely removed cppunit from our tree (no
> --with-system-cppunit option to configure, no dmake makefile, no
> gbuild script, nothing). There is a few last remaining tests using
> cppunit or otherwise problematic, but they're extremely difficult to
> fix:
> 
> 1. main/configmgr/qa/unit
> Moved to Google Test, but all tests fail on *nix, and it doesn't even
> want to start running on Windows. It seems to have been broken long
> ago, and someone more familiar with UNO should fix it. Doesn't run
> during the build.
> 
> 2. main/sal/qa/rtl_strings
> Doesn't compile, curly braces don't match, and I don't see the value
> of wasting more time to port what is like the 4th set of string tests.
> Doesn't run during the build.
> 
> 3. main/sal/qa/osl/security
> Moved to Google Test, but doesn't compile as it needs the ancient
> getForwardString() API from the obsolete testshl2 module. Doesn't run
> during the build.
> 
> 4. main/smoketestoo_native
> Missing test/officeconnection.hxx from ages ago. Not clear whether we
> still use the smoke test: on
> https://wiki.openoffice.org/wiki/Test_Refactor there's a TODO "Convert
> smoketestdoc & smoketestoo_native to JUnit 4 test cases" that's
> crossed out with "Done!" appended. I emailed liuzhe (Zhe Liu) who did
> that to ask what the status of smoketest is, but received no reply.
> Does anybody know?
> 
> 5. main/tools/qa
> Won't link on Windows. Doesn't run during the build.
> 
> 6. main/unoxml/test
> Missing static libraries it depends on. Not integrated into gbuild
> like the rest of the module. Doesn't run during the build.
> 
> 7. main/writerfilter/qa/cppunittests
> These tests don't even remotely compile, the entire odiapi seems to be
> missing, QName is not a type any more. Looks like extremely old code.
> Doesn't run during the build.
> 
> 8. main/xmlsecurity/qa/certext
> Missing test/officeconnection.hxx from ages ago, and needs
> neon/ne_ssl.h from http://www.webdav.org/neon, an LGPL licensed
> library. Doesn't run during the build.
> 
> Since AOO builds I am happy to leave it at this, it would take weeks
> to fix every last one of those tests and there's way more important
> development to do.

Thanks for your efforts in all this -- long overdo. From the list
above, you are referring ONLY to the running of the Google tests I
take it as your remark "AOO builds". I think item #8 would be our
highest priority at the moment.

> 
> Should I also commit some patches to the above issues that don't
> completely fix the problems, but get them closer to working? For
> example some I've ported to cppunit, but compiling or linking breaks
> for other reasons; would it be ok if I commit that kind of change?

Can you elaborate? IMO, nothing should be committed that breaks
builds, especially as we are gearing up for 4.1.2.  It would be
difficult to test potential late additions to 4.1.2 if we have
broken builds on our main branch.

> 
> The following is now necessary for our unit tests:
> * Hook up as many unit tests as possible into the build (not many currently are)
> * Audit the use of OOO_SUBSEQUENT_CHECKS and remove it where it isn't necessary
> 
> Regards
> Damjan
> 


-- 
--------------------------------------------
MzK

“The journey of a thousand miles begins
 with a single step.”
                          --Lao Tzu



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org