JunitTest_forms_unoapi_3 failing on Windows

Stephan Bergmann sbergman at redhat.com
Thu Nov 22 10:22:33 UTC 2018

On 22/11/2018 08:57, Stephan Bergmann wrote:
> On 22/11/2018 08:36, Stephan Bergmann wrote:
>> On 21/11/2018 22:31, Luke Benes wrote:
>>> After commit: 
>>> https://cgit.freedesktop.org/libreoffice/core/commit/?id=d5ed903618f2
>>>      Set CppunitTest-related env vars only during CppunitTest
>>> I'm seeing Windows 'make check' fail with:
>>> There were 2 failures:
>>> 1) test(org.openoffice.test.UnoApiTest)
>>> com.sun.star.lang.DisposedException
>> [...]
>>>      make JunitTest_forms_unoapi_3
>> [...]
>> This is most likely the same issue as discussed in the 
>> <https://lists.freedesktop.org/archives/libreoffice/2018-November/081420.html> 
>> "Failing JunitTest_framework_complex".  Apparently, for some builds, 
>> some of the env vars that have been made CppunitTest-local with my 
>> above commit are also needed during JunitTests.  But I at least cannot 
>> reproduce, for me these tests succeed on Windows.  (Though one 
>> difference that has been identified on IRC is whether OpenGL is 
>> enabled in LO.  For me it isn't, while for Mike it is.)
> <https://gerrit.libreoffice.org/63784> "Pass some env vars into all 
> kinds of tests" is my blind attempt at fixing that.  Please leave 
> feedback there if it fixes things for you.

Turns out the env vars other than SAL_USE_VCLPLUGIN, the ones which that 
Gerrit change addresses, were kind of a red herring.  That Gerrit change 
will go in as an improvement regardless, but it is unrelated to these 
Windows build failures.

What does make a difference for these Windows build failures is passing 
SAL_USE_VCLPLUGIN=svp into JunitTest. 
"Drop some headless mode variants" did two seemingly independent, but 
actually interacting changes:

For one, it changed OpenGLHelper::isVCLOpenGLEnabled 
(vcl/source/opengl/OpenGLHelper.cxx) to disable OpenGL when 
SAL_USE_VCLPLUGIN=svp is set (which, in the past, was only set for 
certain tests on Linux).

For another, it added SAL_USE_VCLPLUGIN=svp to 
solenv/gbuild/CppunitTest.mk in such a way that it would effectively be 
enabled during all tests, on all platforms (and which 
"Set CppunitTest-related env vars only during CppunitTest" then "fixed", 
by restricting it to just CppunitTests).

I asked Jan-Marek to come up with a fix (presumably setting 
SAL_USE_VCLPLUGIN=svp in more places again) that makes 
OpenGLHelper::isVCLOpenGLEnabled behave as expected (whatever that 
means) during tests.  I must confess I'm lost here... :)

More information about the LibreOffice mailing list