[Git][ghc/ghc][master] 3 commits: testsuite: skip runtime stats tests on debugged compilers
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC Commits: f8e3bee9 by Zubin Duggal at 2026-07-27T17:31:49-04:00 testsuite: skip runtime stats tests on debugged compilers Debugged flavours build the boot libraries without optimisation, so the runtime numbers do not match the baselines. - - - - - 1e326770 by Zubin Duggal at 2026-07-27T17:31:50-04:00 testsuite: mark #20706 tests fragile rather than broken Whether the static linux linker issues manifest depends on the host toolchain. - - - - - c0b13cbe by Zubin Duggal at 2026-07-27T17:31:50-04:00 testsuite: exclude libnuma from mostly-static It needs static system libraries (libnuma.a) that many platforms do not ship. Fixes #26914 - - - - - 10 changed files: - testsuite/driver/testlib.py - testsuite/tests/driver/all.T - testsuite/tests/driver/mostly-static/Makefile - testsuite/tests/ghci/T13786/all.T - testsuite/tests/ghci/linking/all.T - testsuite/tests/ghci/linking/dyn/all.T - testsuite/tests/package/T20010/all.T - testsuite/tests/plugins/all.T - testsuite/tests/rts/all.T - testsuite/tests/rts/linker/all.T Changes: ===================================== testsuite/driver/testlib.py ===================================== @@ -878,9 +878,11 @@ def _collect_stats(name: TestName, opts, metrics, deviation: Optional[int], else: tag = 'runtime' - # Compiler performance numbers change when debugging is on, making the results - # useless and confusing. Therefore, skip if debugging is on. - if config.compiler_debugged and is_compiler_stats_test: + # Performance numbers change when debugging is on, making the results + # useless and confusing. This applies to runtime numbers too, since + # debugged flavours also build the boot libraries without optimisation. + # Therefore, skip if debugging is on. + if config.compiler_debugged: opts.skip = True # If there are any residency testing metrics then turn on RESIDENCY_OPTS ===================================== testsuite/tests/driver/all.T ===================================== @@ -124,7 +124,7 @@ test('static001', [extra_files(['Static001.hs']), only_darwin], makefile_test, ['static001']) test('dynHelloWorld', - [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic() and not arch('wasm32'), expect_broken(20706))], + [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic() and not arch('wasm32'), fragile(20706))], compile_and_run, ['']) ===================================== testsuite/tests/driver/mostly-static/Makefile ===================================== @@ -24,6 +24,6 @@ mostly-static: "$(RANLIB)" "test/libtest-1.0.a" "$(GHC_PKG)" init $(LOCAL_PKGCONF) "$(GHC_PKG)" --no-user-package-db -f $(LOCAL_PKGCONF) register test/test.pkg -v0 - "$(TEST_HC)" $(TEST_HC_OPTS) --make -static-external -exclude-static-external=c,m,rt,dl,pthread,stdc++,atomic,gmp,ffi,iconv,wsock32,gdi32,winmm,dbghelp,psapi,user32,shell32,mingw32,kernel32,advapi32,mingwex,ws2_32,shlwapi,ole32,rpcrt4,ntdll,ucrt -hide-all-packages -package-db $(LOCAL_PKGCONF)/ -package base -package-id test-1.0 Hello.hs + "$(TEST_HC)" $(TEST_HC_OPTS) --make -static-external -exclude-static-external=c,m,rt,dl,pthread,stdc++,atomic,gmp,ffi,iconv,numa,wsock32,gdi32,winmm,dbghelp,psapi,user32,shell32,mingw32,kernel32,advapi32,mingwex,ws2_32,shlwapi,ole32,rpcrt4,ntdll,ucrt -hide-all-packages -package-db $(LOCAL_PKGCONF)/ -package base -package-id test-1.0 Hello.hs ./Hello $(LDD) Hello | grep libtest || true ===================================== testsuite/tests/ghci/T13786/all.T ===================================== @@ -1,4 +1,4 @@ test('T13786', - [when(unregisterised(), fragile(17018)), req_c, when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + [when(unregisterised(), fragile(17018)), req_c, when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, []) ===================================== testsuite/tests/ghci/linking/all.T ===================================== @@ -33,7 +33,7 @@ test('ghcilink005', unless(doing_ghci, skip), req_dynamic_lib_support, req_interp, - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, ['ghcilink005']) test('ghcilink006', ===================================== testsuite/tests/ghci/linking/dyn/all.T ===================================== @@ -3,7 +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)) + , when(opsys('linux') and not ghc_dynamic(), fragile(20706)) ], makefile_test, ['load_short_name']) @@ -13,7 +13,7 @@ test('T1407', pre_cmd('$MAKE -s --no-print-directory compile_libT1407'), extra_hc_opts('-L"$PWD/T1407dir"'), js_broken(22359), - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, []) test('T3242', ===================================== 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']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], makefile_test, []) +test('T20010-ghci', [req_c, extra_files(['T20010_c.cpp', 'T20010.hs']), when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, []) ===================================== testsuite/tests/plugins/all.T ===================================== @@ -131,7 +131,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']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], +test('frontend01', [extra_files(['FrontendPlugin.hs']), when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, []) test('T11244', @@ -368,14 +368,14 @@ test('test-echo-in-line-many-args', test('plugins-external', [extra_files(['shared-plugin/']), pre_cmd('$MAKE -s --no-print-directory -C shared-plugin package.plugins01 TOP={top}'), - when(opsys('mingw32') or (opsys('linux') and not ghc_dynamic()), expect_broken(20706))], + when(opsys('mingw32') or (opsys('linux') and not ghc_dynamic()), fragile(20706))], makefile_test, []) test('test-phase-hooks-plugin', [extra_files(['hooks-plugin/']), pre_cmd('$MAKE -s --no-print-directory -C hooks-plugin package.test-phase-hooks-plugin TOP={top}'), - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(20706))], compile, ['-package-db hooks-plugin/pkg.test-phase-hooks-plugin/local.package.conf -fplugin Hooks.PhasePlugin -package hooks-plugin ' + config.plugin_way_flags]) ===================================== testsuite/tests/rts/all.T ===================================== @@ -524,7 +524,7 @@ test('test-zeroongc', extra_run_opts('-DZ'), compile_and_run, ['-debug']) test('T13676', [when(opsys('mingw32'), expect_broken(17447)), extra_files(['T13676.hs']), - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(20706))], ghci_script, ['T13676.script']) test('InitEventLogging', [ only_ways(['normal']) ===================================== testsuite/tests/rts/linker/all.T ===================================== @@ -74,7 +74,7 @@ test('T5435_v_asm_a', req_rts_linker, fragile(22970), when(arch('arm'), expect_broken(17559)), - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(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. @@ -84,14 +84,14 @@ test('T5435_v_asm_b', fragile(22970), when(arch('arm'), expect_broken(17559)), when(opsys('darwin') or opsys('mingw32'), skip), - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, ['T5435_v_asm_b']) test('T5435_v_gcc', [extra_files(['T5435.hs', 'T5435_gcc.c']), req_rts_linker, fragile(22970), when(arch('arm'), expect_broken(17559)), - when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], + when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, ['T5435_v_gcc']) test('T5435_dyn_asm', [extra_files(['T5435.hs', 'T5435_asm.c']), @@ -152,7 +152,7 @@ test('T7072', req_rts_linker], makefile_test, ['T7072']) -test('T20494', [req_rts_linker, when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))], +test('T20494', [req_rts_linker, when(opsys('linux') and not ghc_dynamic(), fragile(20706))], makefile_test, ['T20494']) test('T20918', View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6cce494a7ec43953c7a949e0d8ce712... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6cce494a7ec43953c7a949e0d8ce712... You're receiving this email because of your account on gitlab.haskell.org. Manage all notifications: https://gitlab.haskell.org/-/profile/notifications | Help: https://gitlab.haskell.org/help
participants (1)
-
Marge Bot (@marge-bot)