From 1154689322d0b47c153f6261218791bc43904e67 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 19 Jul 2021 00:41:37 +0200 Subject: [PATCH 1/3] Show the GUI tests being executed in the CI workflow This is useful to check where the test dies when it does it. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5fd1db851a..d89a6dc7d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -259,7 +259,7 @@ jobs: export ASAN_OPTIONS="$ASAN_OPTIONS fast_unwind_on_malloc=0" fi ulimit -c unlimited - /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui 2>&1 | tee test_gui.out' || rc=$? + /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 2>&1 | tee test_gui.out' || rc=$? if [ -n "$rc" ]; then if fgrep -q '(core dumped)' test_gui.out; then echo '*** Test crashed, trying to get more information ***' From 6af7c3da823c59919de4663e9899b597bbf53606 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 22 Jul 2021 17:31:21 +0200 Subject: [PATCH 2/3] Work around GUI tests failure in ASAN build on GitHub CI 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. --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d89a6dc7d3..c642353034 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -259,7 +259,11 @@ jobs: export ASAN_OPTIONS="$ASAN_OPTIONS fast_unwind_on_malloc=0" fi ulimit -c unlimited - /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 2>&1 | tee test_gui.out' || rc=$? + # Running all tests at once fails, apparently due to running out of + # memory when using ASAN, work around this problem by splitting them + # in 2 parts. + /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 wx* ~[.] 2>&1 | tee -a test_gui.out' || rc=$? + /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 ~wx* ~[.] 2>&1 | tee -a test_gui.out' || rc=$? if [ -n "$rc" ]; then if fgrep -q '(core dumped)' test_gui.out; then echo '*** Test crashed, trying to get more information ***' From f982f15a65c582933ecb0f997d61a3839d7cddb6 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 22 Jul 2021 17:32:40 +0200 Subject: [PATCH 3/3] Temporary work around for a problem in ProcessEnter() unit test 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. --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c642353034..5ededfe2e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -262,7 +262,11 @@ jobs: # Running all tests at once fails, apparently due to running out of # memory when using ASAN, work around this problem by splitting them # in 2 parts. - /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 wx* ~[.] 2>&1 | tee -a test_gui.out' || rc=$? + # + # Also, as a temporary workaround for a problem with ProcessEnter() + # test, run ButtonTestCase before running wx* tests. This should be + # reverted once the actual problem in the test is fixed. + /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 ButtonTestCase,wx* ~[.] 2>&1 | tee -a test_gui.out' || rc=$? /bin/bash -o pipefail -c 'xvfb-run -a -s "-screen 0 1600x1200x24" ./test_gui -d 1 ~wx* ~[.] 2>&1 | tee -a test_gui.out' || rc=$? if [ -n "$rc" ]; then if fgrep -q '(core dumped)' test_gui.out; then