Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
-
0318010b
by Zubin Duggal at 2025-12-04T04:37:27-05:00
-
6d945fdd
by Zubin Duggal at 2025-12-04T04:37:27-05:00
8 changed files:
- testsuite/driver/testlib.py
- + testsuite/tests/driver/T20696/T20696.stderr-ext-interp
- testsuite/tests/driver/T20696/all.T
- testsuite/tests/driver/fat-iface/all.T
- + testsuite/tests/driver/fat-iface/fat012.stderr-ext-interp
- + testsuite/tests/driver/fat-iface/fat015.stderr-ext-interp
- + testsuite/tests/splice-imports/SI07.stderr-ext-interp
- testsuite/tests/splice-imports/all.T
Changes:
| ... | ... | @@ -1971,7 +1971,7 @@ async def do_compile(name: TestName, |
| 1971 | 1971 | # of whether we expected the compilation to fail or not (successful
|
| 1972 | 1972 | # compilations may generate warnings).
|
| 1973 | 1973 | |
| 1974 | - expected_stderr_file = find_expected_file(name, 'stderr')
|
|
| 1974 | + expected_stderr_file = find_expected_file(name, 'stderr', way)
|
|
| 1975 | 1975 | actual_stderr_file = add_suffix(name, 'comp.stderr')
|
| 1976 | 1976 | diff_file_name = in_testdir(add_suffix(name, 'comp.diff'))
|
| 1977 | 1977 | |
| ... | ... | @@ -2012,7 +2012,7 @@ async def compile_cmp_asm(name: TestName, |
| 2012 | 2012 | # of whether we expected the compilation to fail or not (successful
|
| 2013 | 2013 | # compilations may generate warnings).
|
| 2014 | 2014 | |
| 2015 | - expected_asm_file = find_expected_file(name, 'asm')
|
|
| 2015 | + expected_asm_file = find_expected_file(name, 'asm', way)
|
|
| 2016 | 2016 | actual_asm_file = add_suffix(name, 's')
|
| 2017 | 2017 | |
| 2018 | 2018 | if not await compare_outputs(way, 'asm',
|
| ... | ... | @@ -2036,7 +2036,7 @@ async def compile_grep_asm(name: TestName, |
| 2036 | 2036 | if badResult(result):
|
| 2037 | 2037 | return result
|
| 2038 | 2038 | |
| 2039 | - expected_pat_file = find_expected_file(name, 'asm')
|
|
| 2039 | + expected_pat_file = find_expected_file(name, 'asm', way)
|
|
| 2040 | 2040 | actual_asm_file = add_suffix(name, 's')
|
| 2041 | 2041 | |
| 2042 | 2042 | if not grep_output(join_normalisers(normalise_errmsg),
|
| ... | ... | @@ -2058,7 +2058,7 @@ async def compile_grep_core(name: TestName, |
| 2058 | 2058 | if badResult(result):
|
| 2059 | 2059 | return result
|
| 2060 | 2060 | |
| 2061 | - expected_pat_file = find_expected_file(name, 'substr-simpl')
|
|
| 2061 | + expected_pat_file = find_expected_file(name, 'substr-simpl', way)
|
|
| 2062 | 2062 | actual_core_file = add_suffix(name, 'dump-simpl')
|
| 2063 | 2063 | |
| 2064 | 2064 | if not grep_output(join_normalisers(normalise_errmsg),
|
| ... | ... | @@ -2097,7 +2097,7 @@ async def compile_and_run__(name: TestName, |
| 2097 | 2097 | return result
|
| 2098 | 2098 | |
| 2099 | 2099 | if compile_stderr:
|
| 2100 | - expected_stderr_file = find_expected_file(name, 'ghc.stderr')
|
|
| 2100 | + expected_stderr_file = find_expected_file(name, 'ghc.stderr', way)
|
|
| 2101 | 2101 | actual_stderr_file = add_suffix(name, 'comp.stderr')
|
| 2102 | 2102 | diff_file_name = in_testdir(add_suffix(name, 'comp.diff'))
|
| 2103 | 2103 | |
| ... | ... | @@ -2556,7 +2556,7 @@ def get_compiler_flags() -> List[str]: |
| 2556 | 2556 | |
| 2557 | 2557 | async def stdout_ok(name: TestName, way: WayName) -> bool:
|
| 2558 | 2558 | actual_stdout_file = add_suffix(name, 'run.stdout')
|
| 2559 | - expected_stdout_file = find_expected_file(name, 'stdout')
|
|
| 2559 | + expected_stdout_file = find_expected_file(name, 'stdout', way)
|
|
| 2560 | 2560 | |
| 2561 | 2561 | extra_norm = join_normalisers(normalise_output, getTestOpts().extra_normaliser)
|
| 2562 | 2562 | |
| ... | ... | @@ -2583,7 +2583,7 @@ def dump_stdout( name: TestName ) -> None: |
| 2583 | 2583 | |
| 2584 | 2584 | async def stderr_ok(name: TestName, way: WayName) -> bool:
|
| 2585 | 2585 | actual_stderr_file = add_suffix(name, 'run.stderr')
|
| 2586 | - expected_stderr_file = find_expected_file(name, 'stderr')
|
|
| 2586 | + expected_stderr_file = find_expected_file(name, 'stderr', way)
|
|
| 2587 | 2587 | |
| 2588 | 2588 | return await compare_outputs(way, 'stderr',
|
| 2589 | 2589 | join_normalisers(normalise_errmsg, getTestOpts().extra_errmsg_normaliser), \
|
| ... | ... | @@ -2688,7 +2688,7 @@ async def check_hp_ok(name: TestName) -> bool: |
| 2688 | 2688 | return False
|
| 2689 | 2689 | |
| 2690 | 2690 | async def check_prof_ok(name: TestName, way: WayName) -> bool:
|
| 2691 | - expected_prof_file = find_expected_file(name, 'prof.sample')
|
|
| 2691 | + expected_prof_file = find_expected_file(name, 'prof.sample', way)
|
|
| 2692 | 2692 | expected_prof_path = in_testdir(expected_prof_file)
|
| 2693 | 2693 | |
| 2694 | 2694 | # Check actual prof file only if we have an expected prof file to
|
| ... | ... | @@ -3368,18 +3368,19 @@ def in_statsdir(name: Union[Path, str], suffix: str='') -> Path: |
| 3368 | 3368 | |
| 3369 | 3369 | # Finding the sample output. The filename is of the form
|
| 3370 | 3370 | #
|
| 3371 | -# <test>.stdout[-ws-<wordsize>][-<platform>|-<os>]
|
|
| 3371 | +# <test>.stdout[-ws-<wordsize>][-<platform>|-<os>][-<way>]
|
|
| 3372 | 3372 | #
|
| 3373 | -def find_expected_file(name: TestName, suff: str) -> Path:
|
|
| 3373 | +def find_expected_file(name: TestName, suff: str, way: WayName) -> Path:
|
|
| 3374 | 3374 | basename = add_suffix(name, suff)
|
| 3375 | 3375 | # Override the basename if the user has specified one, this will then be
|
| 3376 | 3376 | # subjected to the same name mangling scheme as normal to allow platform
|
| 3377 | 3377 | # specific overrides to work.
|
| 3378 | 3378 | basename = getTestOpts().use_specs.get(suff, basename)
|
| 3379 | 3379 | |
| 3380 | - files = [str(basename) + ws + plat
|
|
| 3380 | + files = [str(basename) + ws + plat + way_ext
|
|
| 3381 | 3381 | for plat in ['-' + config.platform, '-' + config.os, '']
|
| 3382 | - for ws in ['-ws-' + config.wordsize, '']]
|
|
| 3382 | + for ws in ['-ws-' + config.wordsize, '']
|
|
| 3383 | + for way_ext in ['-' + way, '']]
|
|
| 3383 | 3384 | |
| 3384 | 3385 | for f in files:
|
| 3385 | 3386 | if in_srcdir(f).exists():
|
| 1 | +[1 of 3] Compiling C ( C.hs, C.o )
|
|
| 2 | +[2 of 3] Compiling B ( B.hs, B.o )
|
|
| 3 | +[3 of 3] Compiling A ( A.hs, A.o ) |
| 1 | 1 | test('T20696', [extra_files(['A.hs', 'B.hs', 'C.hs'])
|
| 2 | - , expect_broken_for(26552, ['ext-interp'])
|
|
| 3 | 2 | , unless(ghc_dynamic(), skip)], multimod_compile, ['A', ''])
|
| 4 | 3 | test('T20696-static', [extra_files(['A.hs', 'B.hs', 'C.hs'])
|
| 5 | 4 | , when(ghc_dynamic(), skip)], multimod_compile, ['A', '']) |
| ... | ... | @@ -9,12 +9,12 @@ test('fat010', [req_th,extra_files(['THA.hs', 'THB.hs', 'THC.hs']), copy_files], |
| 9 | 9 | # Check linking works when using -fbyte-code-and-object-code
|
| 10 | 10 | test('fat011', [req_th, extra_files(['FatMain.hs', 'FatTH.hs', 'FatQuote.hs'])], multimod_compile, ['FatMain', '-fbyte-code-and-object-code -fprefer-byte-code'])
|
| 11 | 11 | # Check that we use interpreter rather than enable dynamic-too if needed for TH
|
| 12 | -test('fat012', [req_th, expect_broken_for(26552, ['ext-interp']), unless(ghc_dynamic(), skip), extra_files(['FatTH.hs', 'FatQuote.hs'])], multimod_compile, ['FatTH', '-fprefer-byte-code'])
|
|
| 12 | +test('fat012', [req_th, unless(ghc_dynamic(), skip), extra_files(['FatTH.hs', 'FatQuote.hs'])], multimod_compile, ['FatTH', '-fprefer-byte-code'])
|
|
| 13 | 13 | # Check that no objects are generated if using -fno-code and -fprefer-byte-code
|
| 14 | 14 | test('fat013', [req_th, req_bco, extra_files(['FatTH.hs', 'FatQuote.hs'])], multimod_compile, ['FatTH', '-fno-code -fprefer-byte-code'])
|
| 15 | 15 | # When using interpreter should not produce objects
|
| 16 | 16 | test('fat014', [req_th, extra_files(['FatTH.hs', 'FatQuote.hs']), extra_run_opts('-fno-code')], ghci_script, ['fat014.script'])
|
| 17 | -test('fat015', [req_th, expect_broken_for(26552, ['ext-interp']), unless(ghc_dynamic(), skip), extra_files(['FatQuote.hs', 'FatQuote1.hs', 'FatQuote2.hs', 'FatTH1.hs', 'FatTH2.hs', 'FatTHTop.hs'])], multimod_compile, ['FatTHTop', '-fno-code -fwrite-interface'])
|
|
| 17 | +test('fat015', [req_th, unless(ghc_dynamic(), skip), extra_files(['FatQuote.hs', 'FatQuote1.hs', 'FatQuote2.hs', 'FatTH1.hs', 'FatTH2.hs', 'FatTHTop.hs'])], multimod_compile, ['FatTHTop', '-fno-code -fwrite-interface'])
|
|
| 18 | 18 | test('T22807', [req_th, unless(ghc_dynamic(), skip), extra_files(['T22807A.hs', 'T22807B.hs'])]
|
| 19 | 19 | , makefile_test, ['T22807'])
|
| 20 | 20 | test('T22807_ghci', [req_th, unless(ghc_dynamic(), skip), extra_files(['T22807_ghci.hs'])]
|
| 1 | +[1 of 2] Compiling FatQuote ( FatQuote.hs, FatQuote.o )
|
|
| 2 | +[2 of 2] Compiling FatTH ( FatTH.hs, FatTH.o ) |
| 1 | +[1 of 6] Compiling FatQuote ( FatQuote.hs, FatQuote.o, interpreted )
|
|
| 2 | +[2 of 6] Compiling FatQuote1 ( FatQuote1.hs, interpreted )
|
|
| 3 | +[3 of 6] Compiling FatQuote2 ( FatQuote2.hs, FatQuote2.o )
|
|
| 4 | +[4 of 6] Compiling FatTH1 ( FatTH1.hs, nothing )
|
|
| 5 | +[5 of 6] Compiling FatTH2 ( FatTH2.hs, nothing )
|
|
| 6 | +[6 of 6] Compiling FatTHTop ( FatTHTop.hs, nothing ) |
| 1 | +[1 of 3] Compiling SI05A ( SI05A.hs, SI05A.o )
|
|
| 2 | +[2 of 3] Compiling SI07A ( SI07A.hs, nothing )
|
|
| 3 | +[3 of 3] Compiling SI07 ( SI07.hs, nothing ) |
| ... | ... | @@ -9,7 +9,7 @@ test('SI03', [extra_files(["SI01A.hs"])], multimod_compile_fail, ['SI03', '-v0'] |
| 9 | 9 | test('SI04', [extra_files(["SI01A.hs"])], multimod_compile, ['SI04', '-v0'])
|
| 10 | 10 | test('SI05', [extra_files(["SI01A.hs"])], multimod_compile_fail, ['SI05', '-v0'])
|
| 11 | 11 | test('SI06', [extra_files(["SI01A.hs"])], multimod_compile, ['SI06', '-v0'])
|
| 12 | -test('SI07', [expect_broken_for(26552, ['ext-interp']), unless(ghc_dynamic(), skip), extra_files(["SI05A.hs"])], multimod_compile, ['SI07', '-fwrite-interface -fno-code'])
|
|
| 12 | +test('SI07', [unless(ghc_dynamic(), skip), extra_files(["SI05A.hs"])], multimod_compile, ['SI07', '-fwrite-interface -fno-code'])
|
|
| 13 | 13 | # Instance tests
|
| 14 | 14 | test('SI08', [extra_files(["ClassA.hs", "InstanceA.hs"])], multimod_compile_fail, ['SI08', '-v0'])
|
| 15 | 15 | test('SI09', [extra_files(["ClassA.hs", "InstanceA.hs"])], multimod_compile, ['SI09', '-v0'])
|