From 8ca13426ca50a9466f552ac1e2f062920003d5ea Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Tue, 30 Aug 2022 16:28:38 +0300 Subject: Workaround interdependency of tests CppunitTest_vcl_text failed for me on Windows: [_RUN_____] VclTextTest::testSimpleText C:/lo/src/core/vcl/qa/cppunit/text.cxx:198:VclTextTest::testSimpleText double equality assertion failed - Expected: 28 - Actual : -1 - Delta : 4 This turned out to depend on test order; the minimal failing command was make CppunitTest_vcl_text CPPUNIT_TEST_NAME="testArabic testSimpleText" and running testArabic before testSimpleText made the latter to render white text on white background, and thus being unable to get resulting height of the painted text. Changing how the complex tests obtain their virtusl devices fixes this for me. I have no idea how and why the previous complex test code affected following tests. Windows buildbots were unaffected maybe because they had HAVE_MORE_FONTS undefined. Change-Id: If079e21e6b986fed5407295a71f9b121cf8de0b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139047 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- vcl/qa/cppunit/complextext.cxx | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'vcl/qa') diff --git a/vcl/qa/cppunit/complextext.cxx b/vcl/qa/cppunit/complextext.cxx index ff85b14e33ef..6c35fd740b33 100644 --- a/vcl/qa/cppunit/complextext.cxx +++ b/vcl/qa/cppunit/complextext.cxx @@ -65,12 +65,10 @@ void VclComplexTextTest::testArabic() { #if HAVE_MORE_FONTS OUString aOneTwoThree(u"واحِدْ إثٍنين ثلاثةٌ"); - ScopedVclPtrInstance pWin(static_cast(nullptr)); - CPPUNIT_ASSERT( pWin ); vcl::Font aFont("DejaVu Sans", "Book", Size(0, 12)); - OutputDevice *pOutDev = pWin->GetOutDev(); + ScopedVclPtrInstance pOutDev; pOutDev->SetFont( aFont ); // absolute character widths AKA text array. @@ -120,10 +118,7 @@ void VclComplexTextTest::testTdf95650() "\u0D11\u1312\u0105\u020A\u0512\u1403\u030C\u1528" "\u2931\u632E\u7074\u0D20\u0E0A\u100A\uF00D\u0D20" "\u030A\u0C0B\u20E0\u0A0D"; - ScopedVclPtrInstance pWin(static_cast(nullptr)); - CPPUNIT_ASSERT(pWin); - - OutputDevice *pOutDev = pWin->GetOutDev(); + ScopedVclPtrInstance pOutDev; // Check that the following executes without failing assertion pOutDev->ImplLayout(aTxt, 9, 1, Point(), 0, {}, {}, SalLayoutFlags::BiDiRtl); } -- cgit