From 81eeec7f9a3c826208f05f264a22c80e06139f07 Mon Sep 17 00:00:00 2001 From: M Farkas-Dyck Date: Thu, 24 Nov 2022 14:30:40 -0800 Subject: CI: Forbid the fully static build on Alpine to fail. To do so, we mark some tests broken in this configuration. --- .gitlab/gen_ci.hs | 2 +- .gitlab/jobs.yaml | 6 +++--- testsuite/tests/driver/all.T | 2 +- testsuite/tests/ghci/T13786/all.T | 2 +- testsuite/tests/ghci/linking/all.T | 3 ++- testsuite/tests/ghci/linking/dyn/all.T | 4 +++- testsuite/tests/ghci/prog001/prog001.T | 3 ++- testsuite/tests/ghci/prog002/prog002.T | 3 ++- testsuite/tests/ghci/prog010/all.T | 3 ++- testsuite/tests/ghci/scripts/all.T | 3 ++- testsuite/tests/package/T20010/all.T | 2 +- testsuite/tests/plugins/all.T | 17 +++++++++++------ testsuite/tests/rts/all.T | 6 ++++-- testsuite/tests/rts/linker/all.T | 11 +++++++---- 14 files changed, 42 insertions(+), 25 deletions(-) diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs index bf2ad41025..227f856f44 100755 --- a/.gitlab/gen_ci.hs +++ b/.gitlab/gen_ci.hs @@ -826,7 +826,7 @@ jobs = Map.fromList $ concatMap flattenJobGroup $ , standardBuilds AArch64 (Linux Debian10) , allowFailureGroup (addValidateRule ARMLabel (standardBuilds ARMv7 (Linux Debian10))) , standardBuilds I386 (Linux Debian9) - , allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) static) + , standardBuildsWithConfig Amd64 (Linux Alpine) static , disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) staticNativeInt)) , validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing) , validateBuilds Amd64 (Linux Debian11) (crossConfig "js-unknown-ghcjs" NoEmulatorNeeded (Just "emconfigure") diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml index fafb8c9357..f850458aa6 100644 --- a/.gitlab/jobs.yaml +++ b/.gitlab/jobs.yaml @@ -676,7 +676,7 @@ ".gitlab/ci.sh clean", "cat ci_timings" ], - "allow_failure": true, + "allow_failure": false, "artifacts": { "expire_in": "8 weeks", "paths": [ @@ -2312,7 +2312,7 @@ ".gitlab/ci.sh clean", "cat ci_timings" ], - "allow_failure": true, + "allow_failure": false, "artifacts": { "expire_in": "1 year", "paths": [ @@ -3228,7 +3228,7 @@ ".gitlab/ci.sh clean", "cat ci_timings" ], - "allow_failure": true, + "allow_failure": false, "artifacts": { "expire_in": "2 weeks", "paths": [ diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T index ab9cfcbcf5..5592e51e44 100644 --- a/testsuite/tests/driver/all.T +++ b/testsuite/tests/driver/all.T @@ -126,7 +126,7 @@ test('static001', [extra_files(['Static001.hs']), makefile_test, ['static001']) test('dynHelloWorld', - only_ways(['dyn']), + [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], compile_and_run, ['']) diff --git a/testsuite/tests/ghci/T13786/all.T b/testsuite/tests/ghci/T13786/all.T index a25b548da6..d5758aa0c7 100644 --- a/testsuite/tests/ghci/T13786/all.T +++ b/testsuite/tests/ghci/T13786/all.T @@ -1,4 +1,4 @@ test('T13786', - [when(unregisterised(), fragile(17018)), js_broken(22359)], + [when(unregisterised(), fragile(17018)), js_broken(22359), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) diff --git a/testsuite/tests/ghci/linking/all.T b/testsuite/tests/ghci/linking/all.T index d18d252a93..b43c25ae29 100644 --- a/testsuite/tests/ghci/linking/all.T +++ b/testsuite/tests/ghci/linking/all.T @@ -32,7 +32,8 @@ test('ghcilink005', when(unregisterised(), fragile(16085)), unless(doing_ghci, skip), req_dynamic_lib_support, - req_interp], + req_interp, + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, ['ghcilink005']) test('ghcilink006', diff --git a/testsuite/tests/ghci/linking/dyn/all.T b/testsuite/tests/ghci/linking/dyn/all.T index 7711f2eb7a..e8b99d1f19 100644 --- a/testsuite/tests/ghci/linking/dyn/all.T +++ b/testsuite/tests/ghci/linking/dyn/all.T @@ -3,6 +3,7 @@ setTestOpts(req_dynamic_lib_support) test('load_short_name', [ extra_files(['A.c']) , unless(doing_ghci, skip) , req_c + , when(opsys('linux') and not ghc_dynamic(), expect_broken(20706)) ], makefile_test, ['load_short_name']) @@ -11,7 +12,8 @@ test('T1407', unless(doing_ghci, skip), pre_cmd('$MAKE -s --no-print-directory compile_libT1407'), extra_hc_opts('-L"$PWD/T1407dir"'), - js_broken(22359)], + js_broken(22359), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) test('T3242', diff --git a/testsuite/tests/ghci/prog001/prog001.T b/testsuite/tests/ghci/prog001/prog001.T index 519ee2e382..f00b0b6a98 100644 --- a/testsuite/tests/ghci/prog001/prog001.T +++ b/testsuite/tests/ghci/prog001/prog001.T @@ -3,5 +3,6 @@ test('prog001', when(arch('arm'), fragile(17555)), cmd_prefix('ghciWayFlags=' + config.ghci_way_flags), req_interp, - unless(opsys('mingw32') or not config.have_RTS_linker, extra_ways(['ghci-ext']))], + unless(opsys('mingw32') or not config.have_RTS_linker, extra_ways(['ghci-ext'])), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], ghci_script, ['prog001.script']) diff --git a/testsuite/tests/ghci/prog002/prog002.T b/testsuite/tests/ghci/prog002/prog002.T index 3e25bb455b..83f8d0d92e 100644 --- a/testsuite/tests/ghci/prog002/prog002.T +++ b/testsuite/tests/ghci/prog002/prog002.T @@ -1,3 +1,4 @@ test('prog002', [extra_files(['../shell.hs', 'A1.hs', 'A2.hs', 'B.hs', 'C.hs', 'D.hs']), - cmd_prefix('ghciWayFlags=' + config.ghci_way_flags)], + cmd_prefix('ghciWayFlags=' + config.ghci_way_flags), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], ghci_script, ['prog002.script']) diff --git a/testsuite/tests/ghci/prog010/all.T b/testsuite/tests/ghci/prog010/all.T index d30de29400..103ff83381 100644 --- a/testsuite/tests/ghci/prog010/all.T +++ b/testsuite/tests/ghci/prog010/all.T @@ -1,4 +1,5 @@ test('ghci.prog010', [cmd_prefix('ghciWayFlags=' + config.ghci_way_flags), - extra_files(['../shell.hs', 'A.hs', 'B.hs'])], + extra_files(['../shell.hs', 'A.hs', 'B.hs']), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], ghci_script, ['ghci.prog010.script']) diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T index 321769f21e..f56bb69319 100755 --- a/testsuite/tests/ghci/scripts/all.T +++ b/testsuite/tests/ghci/scripts/all.T @@ -159,7 +159,8 @@ test('T6106', [extra_files(['../shell.hs']), test('T6105', normal, ghci_script, ['T6105.script']) test('T7117', normal, ghci_script, ['T7117.script']) test('ghci058', [extra_files(['../shell.hs']), - cmd_prefix('ghciWayFlags=' + config.ghci_way_flags)], + cmd_prefix('ghciWayFlags=' + config.ghci_way_flags), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], ghci_script, ['ghci058.script']) test('T7587', normal, ghci_script, ['T7587.script']) test('T7688', normal, ghci_script, ['T7688.script']) diff --git a/testsuite/tests/package/T20010/all.T b/testsuite/tests/package/T20010/all.T index 4197e44644..d7b04b629f 100644 --- a/testsuite/tests/package/T20010/all.T +++ b/testsuite/tests/package/T20010/all.T @@ -1,4 +1,4 @@ # Test that GHC links to the C++ standard library as expected # when the system-cxx-std-lib package is used. test('T20010', req_c, makefile_test, []) -test('T20010-ghci', [req_c, extra_files(['T20010_c.cpp', 'T20010.hs'])], makefile_test, []) +test('T20010-ghci', [req_c, extra_files(['T20010_c.cpp', 'T20010.hs']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) diff --git a/testsuite/tests/plugins/all.T b/testsuite/tests/plugins/all.T index c503397e78..468f509b91 100644 --- a/testsuite/tests/plugins/all.T +++ b/testsuite/tests/plugins/all.T @@ -115,7 +115,7 @@ test('T10294a', pre_cmd('$MAKE -s --no-print-directory -C annotation-plugin package.T10294a TOP={top}')], makefile_test, []) -test('frontend01', [extra_files(['FrontendPlugin.hs'])], +test('frontend01', [extra_files(['FrontendPlugin.hs']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) test('T11244', @@ -294,25 +294,30 @@ test('T20803b', test('test-echo-in-turn', [extra_files(['echo-plugin/']), - pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-turn TOP={top}')], + pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-turn TOP={top}'), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) test('test-echo-in-line', [extra_files(['echo-plugin/']), - pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-line TOP={top}')], + pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-line TOP={top}'), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) test('test-echo-in-turn-many-args', [extra_files(['echo-plugin/']), - pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-turn-many-args TOP={top}')], + pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-turn-many-args TOP={top}'), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) test('test-echo-in-line-many-args', [extra_files(['echo-plugin/']), - pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-line-many-args TOP={top}')], + pre_cmd('$MAKE -s --no-print-directory -C echo-plugin package.test-echo-in-line-many-args TOP={top}'), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) test('plugins-external', [extra_files(['shared-plugin/']), - pre_cmd('$MAKE -s --no-print-directory -C shared-plugin package.plugins01 TOP={top}')], + pre_cmd('$MAKE -s --no-print-directory -C shared-plugin package.plugins01 TOP={top}'), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) diff --git a/testsuite/tests/rts/all.T b/testsuite/tests/rts/all.T index ac184db6cc..92585a9f07 100644 --- a/testsuite/tests/rts/all.T +++ b/testsuite/tests/rts/all.T @@ -272,7 +272,8 @@ test('T7040_ghci', only_ways(['ghci']), # Fragile when unregisterised; see #16085 when(unregisterised(), skip), - pre_cmd('$MAKE -s --no-print-directory T7040_ghci_setup')], + pre_cmd('$MAKE -s --no-print-directory T7040_ghci_setup'), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], compile_and_run, ['T7040_ghci_c.o']) test('T7227', [extra_run_opts('+RTS -tT7227.stat --machine-readable -RTS')], @@ -497,7 +498,8 @@ test('test-zeroongc', extra_run_opts('-DZ'), compile_and_run, ['-debug']) test('T13676', [when(opsys('mingw32'), expect_broken(17447)), - extra_files(['T13676.hs'])], + extra_files(['T13676.hs']), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], ghci_script, ['T13676.script']) test('InitEventLogging', [ only_ways(['normal']) diff --git a/testsuite/tests/rts/linker/all.T b/testsuite/tests/rts/linker/all.T index 5cbf1c2091..aa81e7078a 100644 --- a/testsuite/tests/rts/linker/all.T +++ b/testsuite/tests/rts/linker/all.T @@ -59,7 +59,8 @@ def checkDynAsm(actual_file, normaliser): test('T5435_v_asm_a', [extra_files(['T5435.hs', 'T5435_asm.c']), req_rts_linker, - when(arch('arm'), expect_broken(17559))], + when(arch('arm'), expect_broken(17559)), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, ['T5435_v_asm_a']) # this one just needs to run on linux, as darwin/mingw32 are covered # by the _a test already. @@ -67,12 +68,14 @@ test('T5435_v_asm_b', [extra_files(['T5435.hs', 'T5435_asm.c']), req_rts_linker, when(arch('arm'), expect_broken(17559)), - when(opsys('darwin') or opsys('mingw32'), skip)], + when(opsys('darwin') or opsys('mingw32'), skip), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, ['T5435_v_asm_b']) test('T5435_v_gcc', [extra_files(['T5435.hs', 'T5435_gcc.c']), req_rts_linker, - when(arch('arm'), expect_broken(17559))], + when(arch('arm'), expect_broken(17559)), + when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, ['T5435_v_gcc']) test('T5435_dyn_asm', [extra_files(['T5435.hs', 'T5435_asm.c']), @@ -126,7 +129,7 @@ test('T7072', req_rts_linker], makefile_test, ['T7072']) -test('T20494', [req_rts_linker], +test('T20494', [req_rts_linker, when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, ['T20494']) test('T20918', -- cgit v1.2.1