Ensure that the tests are run instead of being skipped.
Also merge "Set environment variables" and "Before install" steps into a
single "Set up" step to avoid adding yet another separate step for
locale installation.
Still run them on GitHub runners, but do it using the same steps as for
our own builds, as there should be no reason to have any difference
in the build steps independently of where exactly they run.
Also remove checks for matrix.skip_testing from the Unix CI workflow as
they are not needed there any more because the tests are always run.
This commit is best viewed with --color-moved git option.
Call this file consistently with the other CI files and also ignore all
of the other files in each workflow to avoid unnecessary rebuilds.
Finally, remove a leftover mention of Travis file which doesn't exist
any longer.
Try excluding RichTextCtrlTestCase in the CI build using ASAN, as the
test can still be killed while running the Table sub-test of this test
case even when running only a subset of all tests, so try skipping this
one instead.
Running this test on its own doesn't work currently, so run
ButtonTestCase, which uses wxUIActionSimulator::Click(), which somehow
fixes the problem in ProcessEnter test (by giving focus to the correct
window, probably), before it to avoid failures in this test now that we
run "wx*" tests separately.
It seems like running the full test suite runs out of memory, as the
test is simply killed, without any more details, after running a certain
number of tests.
Split the tests into 2 parts and run them separately to work around this
problem.
Currently it's only used for wxiOS build and the tests don't build
there.
Also set working-directory for the test building step once instead of
using "make -C" option twice.
The changes of 211cde11d4 (Rerun the test if LeakSanitizer crashed while
running it, 2021-02-05) didn't work because the script is executed with
"-e" shell option and so none of the commands added there was actually
run.
Fix this by using the usual "|| rc=$?" construct instead.
There just doesn't seem to be any way to make this work right now, so
handle dbgsym packages installation failure and disable leak detection
in this case.
Hopefully ddebs.ubuntu.com repository will be updated in the future,
allowing this to work again.
We currently don't use these files in the existing builds.
It might be a good idea to add another GitHub Action workflow checking
the message catalogs compilation that would be executed _only_ for the
changes to them, but this can/will be done later.
This crash (see https://github.com/google/sanitizers/issues/1353)
happens sporadically but regularly enough to be annoying, so try to work
around it by rerunning the test and hope that it doesn't happen twice in
a row.
Each step executes in its own shell, so it's not necessary to restore
the previous working directory and a simple "cd" would do just fine but,
in fact, we don't even need this as we can just set the working
directory at the step level.
Only disable using the system libraries when a built-in version is
available, otherwise still use the system library as this seems more
useful than disabling the use of only some system libraries (liblzma and
libcurl), while still possibly depending on dozens more via GTK.
Update the documentation and remove the now unnecessary --with-libcurl
from the CI script.
Closes https://github.com/wxWidgets/wxWidgets/pull/2208
This makes things much, much slower, but unfortunately seems to be the
only way to avoid memory leak reports when running the tests as without
it the suppression is not used because the stack is truncated, i.e. we
only see
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7f0968253bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
#1 0x7f09675aacb8 in g_malloc ../../../glib/gmem.c:102
in the output when the actual stack, seen with fast_unwind_on_malloc=0, is
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7f12b913bbc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
#1 0x7f12b8496cd8 in g_malloc ../../../glib/gmem.c:102
#2 0x7f12b84b0f93 in g_strdup ../../../glib/gstrfuncs.c:363
#3 0x7f12b49adb2a in atk_bridge_adaptor_init ../atk-adaptor/bridge.c:1039
#4 0x7f12b566d753 in _gtk_accessibility_init ../../../../gtk/a11y/gtkaccessibility.c:992
#5 0x7f12b5821cfc in default_display_notify_cb ../../../../gtk/gtkmain.c:714
#6 0x7f12b5589801 in g_closure_invoke ../../../gobject/gclosure.c:810
#7 0x7f12b559d813 in signal_emit_unlocked_R ../../../gobject/gsignal.c:3742
#8 0x7f12b55a8b9d in g_signal_emit_valist ../../../gobject/gsignal.c:3498
#9 0x7f12b55a90d2 in g_signal_emit ../../../gobject/gsignal.c:3554
#10 0x7f12b558e283 in g_object_dispatch_properties_changed ../../../gobject/gobject.c:1206
#11 0x7f12b55906f1 in g_object_notify_by_spec_internal ../../../gobject/gobject.c:1299
#12 0x7f12b55906f1 in g_object_notify ../../../gobject/gobject.c:1347
#13 0x7f12b5dbf54f in _gdk_display_manager_add_display ../../../../gdk/gdkdisplaymanager.c:479
#14 0x7f12b5589a55 in _g_closure_invoke_va ../../../gobject/gclosure.c:873
#15 0x7f12b55a8b27 in g_signal_emit_valist ../../../gobject/gsignal.c:3407
#16 0x7f12b55a9b7b in g_signal_emit_by_name ../../../gobject/gsignal.c:3594
#17 0x7f12b5ded21a in _gdk_x11_display_open ../../../../../gdk/x11/gdkdisplay-x11.c:1803
#18 0x7f12b5dbf377 in gdk_display_manager_open_display ../../../../gdk/gdkdisplaymanager.c:462
#19 0x7f12b5822f6a in gtk_init_check ../../../../gtk/gtkmain.c:1109
#20 0x7f12b5822f6a in gtk_init_check ../../../../gtk/gtkmain.c:1101
#21 0x7f12b6fd1dad in wxApp::Initialize(int&, wchar_t**)
...
Running wxWebView tests with ASAN results in "ASan runtime does not come
first in initial library list" warnings and doesn't work currently, so
disable wxWebView in this build for now to have a chance of passing the
tests.
It would be better to actually fix this, of course, but this will have
to wait until later.