Simon Jakobi pushed to branch wip/sjakobi/T16720 at Glasgow Haskell Compiler / GHC

Commits:

5 changed files:

Changes:

  • testsuite/driver/testlib.py
    ... ... @@ -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')
    

  • testsuite/tests/driver/T16720SummaryLines.hs
    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

  • testsuite/tests/driver/T16720TooManyFailures.hs
    1
    +module T16720TooManyFailures where

  • testsuite/tests/driver/T16720UnexpectedPass.hs
    1
    +module T16720UnexpectedPass where

  • testsuite/tests/driver/all.T
    ... ... @@ -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, [''])