diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bddc0b91c1..42258bd0dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,34 +5,79 @@ on: push: branches: - master - paths: - - '!docs' - - '!interface' + paths-ignore: + - 'docs' + - 'interface' pull_request: branches: - master - paths: - - '!docs' - - '!interface' + paths-ignore: + - 'docs' + - 'interface' jobs: build: runs-on: ${{ matrix.runner }} name: ${{ matrix.name }} strategy: + fail-fast: false matrix: include: - - name: wxGTK Ubuntu 20.04 with ASAN + - name: Ubuntu 16.04 wxGTK 2 + runner: ubuntu-16.04 + gtk_version: 2 + use_xvfb: true + - name: Ubuntu 16.04 wxGTK 3 static + runner: ubuntu-16.04 + configure_flags: --disable-shared + use_xvfb: true + - name: Ubuntu 18.04 wxGTK 2 UTF-8 + runner: ubuntu-18.04 + gtk_version: 2 + configure_flags: --enable-utf8 --enable-utf8only --enable-monolithic + use_xvfb: true + - name: Ubuntu 18.04 wxGTK 3 STL + runner: ubuntu-18.04 + configure_flags: --enable-cxx11 --enable-stl --disable-compat30 + use_xvfb: true + - name: Ubuntu 18.04 wxGTK 3 with clang + runner: ubuntu-18.04 + compiler: clang + configure_flags: --disable-sys-libs --with-libcurl + use_xvfb: true + - name: Ubuntu 20.04 wxGTK ANSI runner: ubuntu-20.04 - compiler: gcc - configure_flags: --disable-compat30 --disable-sys-libs --with-libcurl - gtk_version: 3 + configure_flags: --disable-unicode + skip_samples: true + - name: Ubuntu 20.04 wxGTK with ASAN + runner: ubuntu-20.04 + configure_flags: --disable-compat30 --disable-sys-libs --with-libcurl --disable-webview skip_samples: true use_asan: true + use_xvfb: true + - name: Ubuntu 18.04 wxX11 + runner: ubuntu-18.04 + configure_flags: --with-x11 --enable-pch --disable-stc + skip_samples: true + - name: Ubuntu 18.04 wxDFB + runner: ubuntu-18.04 + configure_flags: --with-directfb --enable-pch --disable-stc + skip_samples: true + allow_warnings: true + - name: Ubuntu 18.04 wxMotif + runner: ubuntu-18.04 + configure_flags: --with-motif --enable-pch --disable-stc + skip_samples: true + - name: Ubuntu 18.04 wxQt + runner: ubuntu-18.04 + configure_flags: --with-qt --enable-pch --without-opengl + skip_samples: true + env: - wxGTK_VERSION: ${{ matrix.gtk_version }} + wxGTK_VERSION: ${{ matrix.gtk_version && matrix.gtk_version || 3 }} wxCONFIGURE_FLAGS: ${{ matrix.configure_flags }} wxUSE_ASAN: ${{ matrix.use_asan && 1 || 0 }} + wxUSE_XVFB: ${{ matrix.use_xvfb && 1 || 0 }} steps: - name: Checkout @@ -62,11 +107,8 @@ jobs: allow_warn_opt="-Wno-error=#warnings" ;; - gcc) - echo CC=gcc >> $GITHUB_ENV - echo CXX=g++ >> $GITHUB_ENV - echo LD=g++ >> $GITHUB_ENV - + '') + # Assume gcc. allow_warn_opt="-Wno-error=cpp" ;; @@ -75,7 +117,7 @@ jobs: ;; esac - if [ ${{ matrix.allow_warnings }} ]; then + if [ -z ${{ matrix.allow_warnings }} ]; then error_opts="-Werror $allow_warn_opt" echo "wxMAKEFILE_ERROR_CXXFLAGS=$error_opts" >> $GITHUB_ENV echo "wxMAKEFILE_CXXFLAGS=$wxMAKEFILE_CXXFLAGS $error_opts" >> $GITHUB_ENV @@ -95,8 +137,6 @@ jobs: fi if [ ${{ matrix.use_asan }} ]; then - export LSAN_OPTIONS=suppressions=$(pwd)/misc/suppressions/lsan - wxASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer" wxASAN_CXXFLAGS=$wxASAN_CFLAGS wxASAN_LDFLAGS="-fsanitize=address" @@ -150,6 +190,10 @@ jobs: - name: Testing GUI using Xvfb if: matrix.skip_testing != true && matrix.skip_gui != true && matrix.use_xvfb run: | + if [ ${{ matrix.use_asan }} ]; then + export LSAN_OPTIONS=suppressions=$(pwd)/misc/suppressions/lsan + export ASAN_OPTIONS=fast_unwind_on_malloc=0 + fi pushd tests xvfb-run -a -s '-screen 0 1600x1200x24' ./test_gui popd diff --git a/.travis.yml b/.travis.yml index 2841c20a28..c1e8519c52 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,34 +14,10 @@ jobs: compiler: gcc env: wxGTK_VERSION=2 wxUSE_XVFB=1 name: wxGTK 2 Ubuntu 14.04 - - dist: xenial - compiler: gcc - env: wxGTK_VERSION=3 - name: wxGTK 3 Ubuntu 16.04 - - dist: bionic - compiler: gcc - env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--enable-utf8 --enable-utf8only --enable-monolithic" wxUSE_XVFB=1 - name: wxGTK 2 UTF-8 Ubuntu 18.04 - - dist: bionic - compiler: gcc - env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--enable-cxx11 --disable-compat30 --enable-stl" wxMAKEFILE_CXXFLAGS=-std=c++11 wxMAKEFILE_LDFLAGS=-Wl,--no-as-needed wxUSE_XVFB=1 - name: wxGTK 3 STL Ubuntu 18.04 - - dist: bionic - compiler: clang - env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--disable-shared --disable-sys-libs --disable-webview" wxUSE_XVFB=1 - name: wxGTK 2 clang Ubuntu 18.04 - dist: bionic compiler: gcc env: wxGTK_VERSION=3 wxTOOLSET=cmake wxCMAKE_GENERATOR="Unix Makefiles" name: wxGTK 3 CMake Ubuntu 18.04 - - dist: focal - compiler: gcc - env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--disable-compat30 --disable-unicode" wxSKIP_SAMPLES=1 - name: wxGTK ANSI Ubuntu 20.04 - - dist: focal - compiler: gcc - env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--disable-compat30 --disable-sys-libs" wxSKIP_SAMPLES=1 - name: wxGTK Ubuntu 20.04 - os: osx osx_image: xcode7.3 compiler: clang @@ -64,22 +40,6 @@ jobs: osx_image: xcode11.4 env: wxTOOLSET=cmake wxCMAKE_GENERATOR=Xcode wxCMAKE_DEFINES="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_FIND_ROOT_PATH=/usr/local -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO" wxCMAKE_SAMPLES=OFF wxCMAKE_TESTS=OFF name: wxOSX iOS CMake Xcode 11.4 - - dist: bionic - compiler: gcc - env: wxCONFIGURE_FLAGS="--with-x11 --enable-pch --disable-stc" wxSKIP_SAMPLES=1 - name: wxX11 Ubuntu 18.04 - - dist: bionic - compiler: gcc - env: wxCONFIGURE_FLAGS="--with-directfb --enable-pch --disable-stc" wxSKIP_SAMPLES=1 wxALLOW_WARNINGS=1 - name: wxDFB Ubuntu 18.04 - - dist: bionic - compiler: gcc - env: wxCONFIGURE_FLAGS="--with-motif --enable-pch --disable-stc" wxSKIP_SAMPLES=1 - name: wxMotif Ubuntu 18.04 - - dist: bionic - compiler: gcc - env: wxCONFIGURE_FLAGS="--with-qt --enable-pch --without-opengl" wxSKIP_SAMPLES=1 - name: wxQt Ubuntu 18.04 - os: linux arch: arm64 env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1 diff --git a/build/tools/before_install.sh b/build/tools/before_install.sh index 374b5823ff..a88f9d2987 100755 --- a/build/tools/before_install.sh +++ b/build/tools/before_install.sh @@ -61,7 +61,7 @@ case $(uname -s) in $SUDO apt-get update # Install the symbols to allow LSAN suppression list to work. - $SUDO apt-get install -y libfontconfig1-dbgsym + $SUDO apt-get install -y libfontconfig1-dbgsym libglib2.0-0-dbgsym libgtk-3-0-dbgsym libatk-bridge2.0-0-dbgsym fi fi ;; diff --git a/misc/suppressions/lsan b/misc/suppressions/lsan index 694ce9f9b6..8d67265369 100644 --- a/misc/suppressions/lsan +++ b/misc/suppressions/lsan @@ -8,3 +8,7 @@ leak:FcLangSetCreate leak:FcPatternObjectInsertElt leak:FcValueListCreate leak:FcValueSave + +# This leak happens during GTK initialization. Requires debug symbols for +# libatk-bridge2.0. +leak:atk_bridge_adaptor_init diff --git a/tests/Makefile.in b/tests/Makefile.in index 7411ba28e2..2e9ed4409a 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -38,6 +38,8 @@ EXTRALIBS_XML = @EXTRALIBS_XML@ EXTRALIBS_HTML = @EXTRALIBS_HTML@ EXTRALIBS_MEDIA = @EXTRALIBS_MEDIA@ EXTRALIBS_GUI = @EXTRALIBS_GUI@ +EXTRALIBS_STC = @EXTRALIBS_STC@ +EXTRALIBS_WEBVIEW = @EXTRALIBS_WEBVIEW@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LDFLAGS = @WX_LDFLAGS@ @@ -481,7 +483,7 @@ test$(EXEEXT): $(TEST_OBJECTS) @COND_SHARED_1_USE_GUI_1@ $(SHARED_LD_MODULE_CXX) $@ $(TEST_DRAWINGPLUGIN_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) @COND_USE_GUI_1@test_gui$(EXEEXT): $(TEST_GUI_OBJECTS) $(__test_gui___win32rc) -@COND_USE_GUI_1@ $(CXX) -o $@ $(TEST_GUI_OBJECTS) -L$(LIBDIRNAME) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(EXTRALIBS_MEDIA) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_HTML_p) $(EXTRALIBS_HTML) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) +@COND_USE_GUI_1@ $(CXX) -o $@ $(TEST_GUI_OBJECTS) -L$(LIBDIRNAME) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_WEBVIEW_p) $(EXTRALIBS_WEBVIEW) $(__WXLIB_STC_p) $(EXTRALIBS_STC) $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(EXTRALIBS_MEDIA) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_HTML_p) $(EXTRALIBS_HTML) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) @COND_PLATFORM_MACOSX_1_USE_GUI_1@test_gui.app/Contents/PkgInfo: $(__test_gui___depname) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns @COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p test_gui.app/Contents @@ -509,7 +511,7 @@ test$(EXEEXT): $(TEST_OBJECTS) @COND_USE_PCH_1@ $(BK_MAKE_PCH) ./.pch/testprec_test_gui/testprec.h.gch testprec.h $(CXX) $(TEST_GUI_CXXFLAGS) @COND_USE_GUI_1@test_allheaders$(EXEEXT): $(TEST_ALLHEADERS_OBJECTS) $(__test_allheaders___win32rc) -@COND_USE_GUI_1@ $(CXX) -o $@ $(TEST_ALLHEADERS_OBJECTS) -L$(LIBDIRNAME) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) +@COND_USE_GUI_1@ $(CXX) -o $@ $(TEST_ALLHEADERS_OBJECTS) -L$(LIBDIRNAME) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_WEBVIEW_p) $(EXTRALIBS_WEBVIEW) $(__WXLIB_STC_p) $(EXTRALIBS_STC) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) @COND_PLATFORM_MACOSX_1_USE_GUI_1@test_allheaders.app/Contents/PkgInfo: $(__test_allheaders___depname) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns @COND_PLATFORM_MACOSX_1_USE_GUI_1@ mkdir -p test_allheaders.app/Contents diff --git a/tests/controls/dataviewctrltest.cpp b/tests/controls/dataviewctrltest.cpp index f970c886b2..53f8e0ea18 100644 --- a/tests/controls/dataviewctrltest.cpp +++ b/tests/controls/dataviewctrltest.cpp @@ -171,6 +171,15 @@ TEST_CASE_METHOD(MultiSelectDataViewCtrlTestCase, "wxDVC::DeleteSelected", "[wxDataViewCtrl][delete]") { +#ifdef __WXGTK__ + wxString useASAN; + if ( wxGetEnv("wxUSE_ASAN", &useASAN) && useASAN == "1" ) + { + WARN("Skipping test resulting in a memory leak report with wxGTK"); + return; + } +#endif // __WXGTK__ + wxDataViewItemArray sel; sel.push_back(m_child1); sel.push_back(m_grandchild); @@ -329,9 +338,18 @@ TEST_CASE_METHOD(SingleSelectDataViewCtrlTestCase, m_dvc->EnsureVisible(last); #ifdef __WXGTK__ - // And again to let it scroll the correct items into view. - wxYield(); -#endif + // Wait for the list control to be relaid out. + wxStopWatch sw; + while ( m_dvc->GetTopItem() == m_root ) + { + if ( sw.Time() > 500 ) + { + WARN("Timed out waiting for wxDataViewCtrl layout"); + break; + } + wxYield(); + } +#endif // __WXGTK__ // Check that this was indeed the case. const wxDataViewItem top = m_dvc->GetTopItem(); diff --git a/tests/controls/gridtest.cpp b/tests/controls/gridtest.cpp index 72d6f8ae4b..2b99364655 100644 --- a/tests/controls/gridtest.cpp +++ b/tests/controls/gridtest.cpp @@ -122,10 +122,7 @@ GridTestCase::GridTestCase() m_grid->Refresh(); m_grid->Update(); - if ( !waitForPaint.YieldUntilPainted() ) - { - WARN("Grid not repainted until timeout expiration"); - } + waitForPaint.YieldUntilPainted(); } GridTestCase::~GridTestCase() diff --git a/tests/makefile.gcc b/tests/makefile.gcc index a8e7e2fd1b..3de7e88824 100644 --- a/tests/makefile.gcc +++ b/tests/makefile.gcc @@ -534,7 +534,7 @@ ifeq ($(USE_GUI),1) $(OBJS)\test_gui.exe: $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_sample_rc.o $(foreach f,$(subst \,/,$(TEST_GUI_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp)) @move /y $@.rsp.tmp $@.rsp >nul - $(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet -loleacc -luxtheme + $(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) -limm32 $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet -loleacc -luxtheme @-del $@.rsp endif @@ -542,7 +542,7 @@ ifeq ($(USE_GUI),1) $(OBJS)\test_allheaders.exe: $(TEST_ALLHEADERS_OBJECTS) $(OBJS)\test_allheaders_sample_rc.o $(foreach f,$(subst \,/,$(TEST_ALLHEADERS_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp)) @move /y $@.rsp.tmp $@.rsp >nul - $(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet -loleacc -luxtheme + $(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) -limm32 $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet -loleacc -luxtheme @-del $@.rsp endif diff --git a/tests/makefile.vc b/tests/makefile.vc index 59a26828c4..bf64776efe 100644 --- a/tests/makefile.vc +++ b/tests/makefile.vc @@ -969,14 +969,14 @@ $(OBJS)\test_drawingplugin.dll: $(TEST_DRAWINGPLUGIN_OBJECTS) !if "$(USE_GUI)" == "1" $(OBJS)\test_gui.exe: $(OBJS)\test_gui_dummy.obj $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_sample.res link /NOLOGO /OUT:$@ $(__DEBUGINFO_5) /pdb:"$(OBJS)\test_gui.pdb" $(__DEBUGINFO_51) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<< - $(TEST_GUI_OBJECTS) $(TEST_GUI_RESOURCES) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib wsock32.lib wininet.lib + $(TEST_GUI_OBJECTS) $(TEST_GUI_RESOURCES) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) imm32.lib $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib wsock32.lib wininet.lib << !endif !if "$(USE_GUI)" == "1" $(OBJS)\test_allheaders.exe: $(OBJS)\test_allheaders_dummy.obj $(TEST_ALLHEADERS_OBJECTS) $(OBJS)\test_allheaders_sample.res link /NOLOGO /OUT:$@ $(__DEBUGINFO_5) /pdb:"$(OBJS)\test_allheaders.pdb" $(__DEBUGINFO_68) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<< - $(TEST_ALLHEADERS_OBJECTS) $(TEST_ALLHEADERS_RESOURCES) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib wsock32.lib wininet.lib + $(TEST_ALLHEADERS_OBJECTS) $(TEST_ALLHEADERS_RESOURCES) $(__WXLIB_WEBVIEW_p) $(__WXLIB_STC_p) imm32.lib $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib wsock32.lib wininet.lib << !endif diff --git a/tests/test.bkl b/tests/test.bkl index cf13a29326..ddc3b8b2c1 100644 --- a/tests/test.bkl +++ b/tests/test.bkl @@ -289,7 +289,9 @@ wxWebView or wxSTC is not available. --> $(WXLIB_WEBVIEW) + $(EXTRALIBS_WEBVIEW) $(WXLIB_STC) + $(EXTRALIBS_STC) aui richtext media @@ -320,7 +322,9 @@ wxWebView or wxSTC is not available. --> $(WXLIB_WEBVIEW) + $(EXTRALIBS_WEBVIEW) $(WXLIB_STC) + $(EXTRALIBS_STC) core net base diff --git a/tests/test.cpp b/tests/test.cpp index b59347da91..e8a842da14 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -405,10 +405,11 @@ extern bool IsAutomaticTest() s_isAutomatic = username == wxASCII_STR("buildbot") || username.Matches(wxASCII_STR("sandbox*")); - // Also recognize Travis and AppVeyor CI environments. + // Also recognize various CI environments. if ( !s_isAutomatic ) { s_isAutomatic = wxGetEnv(wxASCII_STR("TRAVIS"), NULL) || + wxGetEnv(wxASCII_STR("GITHUB_ACTIONS"), NULL) || wxGetEnv(wxASCII_STR("APPVEYOR"), NULL); } } diff --git a/tests/test_vc7_test_allheaders.vcproj b/tests/test_vc7_test_allheaders.vcproj index 10d59826fe..2b32664bb6 100644 --- a/tests/test_vc7_test_allheaders.vcproj +++ b/tests/test_vc7_test_allheaders.vcproj @@ -49,7 +49,7 @@ timeoutInMS ) - return false; + { + WARN("Didn't get a paint event until timeout expiration"); + break; + } } } @@ -85,9 +92,8 @@ public: { } - bool YieldUntilPainted(int WXUNUSED(timeoutInMS) = 250) const + void YieldUntilPainted(int WXUNUSED(timeoutInMS) = 250) { - return true; } }; diff --git a/tests/window/setsize.cpp b/tests/window/setsize.cpp index e65861e57d..566f84fd54 100644 --- a/tests/window/setsize.cpp +++ b/tests/window/setsize.cpp @@ -98,10 +98,7 @@ TEST_CASE("wxWindow::MovePreservesSize", "[window][size][move]") w->Show(); - if ( !waitForPaint.YieldUntilPainted() ) - { - WARN("Didn't get a paint event until timeout expiration"); - } + waitForPaint.YieldUntilPainted(); const wxRect rectOrig = w->GetRect();