Simon Jakobi pushed to branch wip/sjakobi/T16720 at Glasgow Haskell Compiler / GHC
Commits:
-
fc9b2d1e
by Simon Jakobi at 2026-07-18T12:15:27+02:00
-
c229dbea
by Simon Jakobi at 2026-07-18T12:23:01+02:00
-
f9d154cb
by Simon Jakobi at 2026-07-18T12:28:47+02:00
-
0c3b23ed
by Simon Jakobi at 2026-07-18T12:39:35+02:00
5 changed files:
- testsuite/driver/testlib.py
- + testsuite/tests/driver/T16720SummaryLines.hs
- + testsuite/tests/driver/T16720TooManyFailures.hs
- + testsuite/tests/driver/T16720UnexpectedPass.hs
- testsuite/tests/driver/all.T
Changes:
| ... | ... | @@ -3653,7 +3653,8 @@ MAX_SUMMARY_OUTPUT_LINES = 100 |
| 3653 | 3653 | |
| 3654 | 3654 | # Above this many unexpected failures, skip repeating output entirely: the
|
| 3655 | 3655 | # dump would drown out the summary.
|
| 3656 | -MAX_SUMMARY_OUTPUT_TESTS = 20
|
|
| 3656 | +MAX_SUMMARY_OUTPUT_TESTS = \
|
|
| 3657 | + 0 if config.test_env == 'aarch64-linux-deb13-validate' else 20
|
|
| 3657 | 3658 | |
| 3658 | 3659 | def printTestOutputSummary(file: TextIO, testInfos, color: bool=False,
|
| 3659 | 3660 | junit_path: Optional[Path]=None) -> None:
|
| ... | ... | @@ -3692,7 +3693,7 @@ def printTestOutputSummary(file: TextIO, testInfos, color: bool=False, |
| 3692 | 3693 | # cannot represent; replace rather than crash (cf safe_print).
|
| 3693 | 3694 | enc = getattr(file, 'encoding', None) or 'utf-8'
|
| 3694 | 3695 | file.write(s.encode(enc, errors='replace').decode(enc))
|
| 3695 | - footer = '<===== end of output of unexpected failures'
|
|
| 3696 | + footer = '<===== end of unexpected failures output summary'
|
|
| 3696 | 3697 | if color:
|
| 3697 | 3698 | footer = colored(Color.RED, footer)
|
| 3698 | 3699 | file.write(footer + '\n\n')
|
| 1 | +module Main where
|
|
| 2 | + |
|
| 3 | +import System.Exit (exitFailure)
|
|
| 4 | + |
|
| 5 | +main :: IO ()
|
|
| 6 | +main = do
|
|
| 7 | + mapM_ print [1 .. 101 :: Int]
|
|
| 8 | + exitFailure |
| 1 | +module T16720TooManyFailures where |
| 1 | +module T16720UnexpectedPass where |
| ... | ... | @@ -336,3 +336,17 @@ test('T26018', req_c, makefile_test, []) |
| 336 | 336 | test('T24120', normal, compile, ['-Wunused-packages -hide-all-packages -package base -package system-cxx-std-lib'])
|
| 337 | 337 | test('T26551', [extra_files(['T26551.hs'])], makefile_test, [])
|
| 338 | 338 | test('T26435', [only_ways(['llvm'])], warn_and_run, ['-finfo-table-map'])
|
| 339 | + |
|
| 340 | +# Deliberately fail fast-CI jobs to exercise the summary output limits.
|
|
| 341 | +test('T16720TooManyFailures',
|
|
| 342 | + [unless(config.test_env == 'aarch64-linux-deb13-validate', skip)],
|
|
| 343 | + compile_fail, [''])
|
|
| 344 | + |
|
| 345 | +test('T16720SummaryLines',
|
|
| 346 | + [unless(config.test_env == 'aarch64-darwin-validate', skip)],
|
|
| 347 | + compile_and_run, [''])
|
|
| 348 | + |
|
| 349 | +# Show the failure output summary alongside another kind of unexpected result.
|
|
| 350 | +test('T16720UnexpectedPass',
|
|
| 351 | + [unless(config.test_env == 'aarch64-darwin-validate', skip), expect_fail],
|
|
| 352 | + compile, ['']) |