Kaydet (Commit) 18c628ae authored tarafından Jan-Marek Glogowski's avatar Jan-Marek Glogowski

Fix emfio_wmf_test VCL dependency

This unit test sometimes fails on Windows with the message:
"no suitable windowing system found, exiting."

Currently the test just depends on desktop_detector and manually
sets up VCL duplicating a lot of code and even library symbols.
The original Gerrit change describes a lot of failures in its
comments (change 28322, version 16). Now that Windows and MacOS
were converted to VCL plugins, depending on desktop_detector is
not sufficient anymore.

This reverts a lot of VCL test setup from commit 20f6a6b1
("tdf#99402: fix Metafile Font handling"). Seems now a simple
gb_CppunitTest_use_vcl is enough.

Change-Id: Ia941ded91358231021741ff4a5d96e2014ac6c80
Reviewed-on: https://gerrit.libreoffice.org/61497
Tested-by: Jenkins
Reviewed-by: 's avatarJan-Marek Glogowski <glogow@fbihome.de>
üst 4a00c79a
......@@ -17,176 +17,20 @@ $(eval $(call gb_CppunitTest_set_include,emfio_wmf,\
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
boost_headers \
libxml2 \
$(if $(filter PDFIUM,$(BUILD_TYPE)),pdfium) \
))
$(eval $(call gb_CppunitTest_add_exception_objects,emfio_wmf, \
emfio/qa/cppunit/wmf/wmfimporttest \
))
$(eval $(call gb_CppunitTest_use_sdk_api,emfio_wmf))
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
$(call gb_Helper_optional,BREAKPAD, \
crashreport) \
basegfx \
drawinglayer \
cppu \
cppuhelper \
comphelper \
emfio \
i18nlangtag \
i18nutil \
$(if $(filter OPENCL,$(BUILD_TYPE)),opencl) \
sal \
salhelper \
sot \
svl \
svt \
test \
test-setupvcl \
tl \
ucbhelper \
unotest \
vcl \
utl \
xmlreader \
))
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
$(if $(filter LINUX MACOSX %BSD SOLARIS,$(OS)), \
curl) \
libjpeg \
$(if $(filter-out IOS WNT,$(OS)), \
nss3 \
plc4) \
libeot \
))
ifeq ($(OS),MACOSX)
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
-framework IOKit \
-F/System/Library/PrivateFrameworks \
-framework CoreUI \
-lobjc \
))
endif
ifeq ($(ENABLE_JAVA),TRUE)
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
jvmaccess \
))
endif
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
gio \
graphite \
harfbuzz \
icuuc \
lcms2 \
))
ifeq ($(DISABLE_GUI),)
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
epoxy \
))
endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_CppunitTest_use_system_darwin_frameworks,emfio_wmf,\
ApplicationServices \
))
$(eval $(call gb_CppunitTest_use_system_darwin_frameworks,emfio_wmf,\
$(if $(filter X86_64,$(CPUNAME)),,QuickTime) \
Cocoa \
Carbon \
CoreFoundation \
))
ifneq ($(ENABLE_MACOSX_SANDBOX),TRUE)
$(eval $(call gb_CppunitTest_use_libraries,emfio_wmf,\
AppleRemote \
))
endif
endif
ifeq ($(USING_X11),TRUE)
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
cairo \
cups \
dbus \
fontconfig \
freetype \
valgrind \
))
endif
ifeq ($(DISABLE_GUI),TRUE)
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
cairo \
freetype \
fontconfig \
))
else
ifeq ($(OS),LINUX)
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
-lm \
-ldl \
-lpthread \
-lX11 \
))
endif
endif
ifeq ($(OS),ANDROID)
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
-llog \
-landroid \
-llo-bootstrap \
))
$(eval $(call gb_CppunitTest_use_externals,emfio_wmf,\
cairo \
fontconfig \
freetype \
expat \
))
endif
ifeq ($(OS),IOS)
$(eval $(call gb_CppunitTest_use_system_darwin_frameworks,emfio_wmf,\
UIKit \
CoreFoundation \
))
endif
ifeq ($(OS),WNT)
$(eval $(call gb_CppunitTest_use_system_win32_libs,emfio_wmf,\
advapi32 \
crypt32 \
gdi32 \
gdiplus \
imm32 \
mpr \
ole32 \
shell32 \
usp10 \
uuid \
version \
winspool \
setupapi \
shlwapi \
))
#$(eval $(call gb_CppunitTest_add_nativeres,emfio,vcl/salsrc))
endif
ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_CppunitTest_add_libs,emfio_wmf,\
-lm $(DLOPEN_LIBS) \
-lpthread \
-lX11 \
-lXext \
))
endif
$(eval $(call gb_CppunitTest_use_ure,emfio_wmf))
$(eval $(call gb_CppunitTest_use_components,emfio_wmf,\
configmgr/source/configmgr \
......@@ -197,18 +41,8 @@ $(eval $(call gb_CppunitTest_use_components,emfio_wmf,\
))
$(eval $(call gb_CppunitTest_use_configuration,emfio_wmf))
# See gb_CppunitTest__use_vcl (solenv/gbuild/CppunitTest.mk; headless):
ifeq ($(USING_X11),TRUE)
$(call gb_CppunitTest_get_target,emfio_wmf): \
$(call gb_Library_get_target,desktop_detector)
endif
# Hack to suppress ASan ODR violation warnings about symbols present in both the
# vcl objects linked into this test library and the vcl library (which gets
# dynamically loaded during the test):
$(call gb_CppunitTest_get_target,emfio_wmf): \
EXTRA_ENV_VARS := \
ASAN_OPTIONS="$${ASAN_OPTIONS+$$ASAN_OPTIONS:}"detect_odr_violation=0
$(eval $(call gb_CppunitTest_use_sdk_api,emfio_wmf))
$(eval $(call gb_CppunitTest_use_ure,emfio_wmf))
$(eval $(call gb_CppunitTest_use_vcl,emfio_wmf))
# vim: set noet sw=4 ts=4:
......@@ -20,14 +20,14 @@
#include <test/xmltesttools.hxx>
#include <test/mtfxmldump.hxx>
#include <test/setupvcl.hxx>
#include <unotest/bootstrapfixturebase.hxx>
#include <test/bootstrapfixture.hxx>
#include <vcl/wmf.hxx>
#include <vcl/metaact.hxx>
#include <mtftools.hxx>
using namespace css;
class WmfTest : public test::BootstrapFixtureBase, public XmlTestTools
class WmfTest : public test::BootstrapFixture, public XmlTestTools
{
OUString maDataUrl;
......@@ -38,20 +38,10 @@ class WmfTest : public test::BootstrapFixtureBase, public XmlTestTools
public:
WmfTest() :
BootstrapFixture(true, false),
maDataUrl("/emfio/qa/cppunit/wmf/data/")
{}
// Hack around missing "once per class" setUp/tearDown in CppUnit; must be
// called before/after all other tests:
void globalSetUp() { test::setUpVcl(); }
// void globalTearDown() { /* DeInitVCL(); */ }
// on e.g. Mac OS X, DeInitVCL() causes more trouble than it's worth,
// calling VclPtr<WorkWindow>::disposeAndClear -> ... ->
// vcl::Window::dispose -> UnoWrapper::WindowDestroy (tk) -> ... ->
// Application::GetSolarMutex in the vcl library (linked from tk)
// instead of the vcl objects linked into the unit test library, which
// isn't initialized
void testNonPlaceableWmf();
void testSine();
void testEmfProblem();
......@@ -63,7 +53,6 @@ public:
void testETO_PDY();
CPPUNIT_TEST_SUITE(WmfTest);
CPPUNIT_TEST(globalSetUp);
CPPUNIT_TEST(testNonPlaceableWmf);
CPPUNIT_TEST(testSine);
CPPUNIT_TEST(testEmfProblem);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment