Failing VCL complextext rendering unit test on Windows

Jan-Marek Glogowski glogow at fbihome.de
Fri Mar 24 10:29:52 UTC 2017


Hi everyone,

when running

$ /opt/lo/bin/make-4.2.1-msvc -C vcl CppunitTest_vcl_complextext

on Windows 7, KVM QXL GUI via Spice I get the following failures:

C:/cygwin64/srv/dev/master-debug/vcl/qa/cppunit/complextext.cxx:98:VclComplexTextTest::testArabic
equality assertion failed
- Expected: 71x14@(0,1)
- Actual  : 70x14@(1,1)

VclComplexTextTest::testArabic finished in: 171ms
VclComplexTextTest::testTdf95650 finished in: 86ms
C:/cygwin64/srv/dev/master-debug/vcl/qa/cppunit/complextext.cxx(98) :
error : Assertion
Test name: VclComplexTextTest::testArabic
equality assertion failed
- Expected: 71x14@(0,1)
- Actual  : 70x14@(1,1)

This doesn't happen when run via a Cygwin SSH session.

I added a

SAL_DEBUG( "ID: " << rGlyph.maGlyphId << " " << rRect << " " <<
aGM.gmCellIncX << " " << aGM.gmCellIncY );

to the end of WinSalGraphics::GetGlyphBoundRect

and normalized the output using
sed -i -e 's/^debug[^ ]* //' workdir/CppunitTest/vcl_complextext.test.log

The following diff is between the SSH and GUI session:

 ID: 1397 4x3@(1,-10) 0 0
-ID: 5262 6x6@(1,-6) 6 0
-ID: 5269 3x7@(0,-7) 3 0
-ID: 5366 7x9@(0,-9) 7 0
-ID: 5269 3x7@(0,-7) 3 0
+ID: 5262 7x6@(0,-6) 6 0
+ID: 5269 4x7@(-1,-7) 3 0
+ID: 5366 8x9@(0,-9) 7 0
+ID: 5269 4x7@(-1,-7) 3 0
 ID: 3 1x1@(0,0) 4 0
-ID: 5344 8x7@(1,-4) 9 0
-ID: 5358 4x6@(0,-4) 4 0
-ID: 5346 4x6@(0,-6) 4 0
+ID: 5344 10x7@(0,-4) 9 0
+ID: 5358 5x6@(-1,-4) 4 0
+ID: 5346 5x6@(-1,-6) 4 0
 ID: 1398 4x3@(1,0) 0 0
-ID: 5269 3x7@(0,-7) 3 0
-ID: 1363 2x12@(1,-9) 3 0
+ID: 5269 4x7@(-1,-7) 3 0
+ID: 1363 3x12@(0,-9) 3 0
 ID: 3 1x1@(0,0) 4 0
 ID: 1403 4x4@(1,-11) 0 0
-ID: 5284 5x5@(1,-5) 6 0
+ID: 5284 7x5@(0,-5) 6 0
 ID: 1401 4x2@(1,0) 0 0
-ID: 5277 7x5@(0,-5) 7 0
-ID: 1365 1x9@(1,-9) 3 0
+ID: 5277 8x5@(-1,-5) 7 0
+ID: 1365 2x9@(1,-9) 3 0
 ID: 1393 6x7@(-1,-4) 6 0

All height values are the same, just the width and x-offsets change.

>From the documentation, the provided matrix to the function is the
identity matrix, which just leaves some room for different HDC.

AFAIK HDC is driver dependent (whatever driver is used for SSH) and so
I'm not sure this is fixable at all.

So I propose disabling it also on Windows.

Any comments?

Jan-Marek


More information about the LibreOffice mailing list