Commit feb19eae authored by Peter Trommler's avatar Peter Trommler 🥁 Committed by Ben Gamari

testsuite: mark tests broken on powerpc64

The following tests fail on powerpc64 and have a ticket.
Mark those tests as expect_broken.

Here are the details:
The PowerPC native code generator does not support DWARF debug
information. This is tracked in ticket #11261. Mark the respective
tests broken on powerpc64.

testsuite: mark print022 broken on powerpc64
Ticket #11262 tracks difference in stdout for print022.

testsuite: mark recomp015 broken on powerpc64
testsuite: mark recomp011 broken on powerpc64
This is tracked as ticket #11323 and #11260.

testsuite: mark linker tests broken on powerpc64
Ticket #11259 tracks tests failing because there is no RTS
linker on powerpc64.

Test Plan: validate

Reviewers: erikd, austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1928

GHC Trac Issues: #11259, #11260, #11261, #11262, #11323
parent c1efdcc4
...@@ -674,7 +674,7 @@ do_apply: ...@@ -674,7 +674,7 @@ do_apply:
// the appropriate info table in the gap. // the appropriate info table in the gap.
for (i = 0; i < arity; i++) { for (i = 0; i < arity; i++) {
Sp[(int)i-1] = Sp[i]; Sp[(int)i-1] = Sp[i];
// ^^^^^ careful, i-1 might be negative, but i in unsigned // ^^^^^ careful, i-1 might be negative, but i is unsigned
} }
Sp[arity-1] = app_ptrs_itbl[n-arity-1]; Sp[arity-1] = app_ptrs_itbl[n-arity-1];
Sp--; Sp--;
...@@ -736,7 +736,7 @@ do_apply: ...@@ -736,7 +736,7 @@ do_apply:
// the appropriate info table in the gap. // the appropriate info table in the gap.
for (i = 0; i < arity; i++) { for (i = 0; i < arity; i++) {
Sp[(int)i-1] = Sp[i]; Sp[(int)i-1] = Sp[i];
// ^^^^^ careful, i-1 might be negative, but i in unsigned // ^^^^^ careful, i-1 might be negative, but i is unsigned
} }
Sp[arity-1] = app_ptrs_itbl[n-arity-1]; Sp[arity-1] = app_ptrs_itbl[n-arity-1];
Sp--; Sp--;
......
...@@ -26,9 +26,11 @@ test('T9155', normal, compile, ['-O2']) ...@@ -26,9 +26,11 @@ test('T9155', normal, compile, ['-O2'])
test('T9303', normal, compile, ['-O2']) test('T9303', normal, compile, ['-O2'])
test('T9329', [cmm_src], compile, ['']) test('T9329', [cmm_src], compile, [''])
test('debug', extra_clean(['debug.cmm']), test('debug', [ extra_clean(['debug.cmm']),
when(arch('powerpc64'), expect_broken(11261))],
run_command, run_command,
['$MAKE -s --no-print-directory debug']) ['$MAKE -s --no-print-directory debug'])
test('T9964', normal, compile, ['-O']) test('T9964', normal, compile, ['-O'])
test('T10518', [cmm_src], compile, ['']) test('T10518', [cmm_src], compile, [''])
test('T10667', normal, compile, ['-g']) test('T10667', [ when(arch('powerpc64'), expect_broken(11261)) ],
compile, ['-g'])
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
test('concprog001', test('concprog001',
[when(fast(), skip), [when(fast(), skip),
when(arch('powerpc64'), expect_broken(11259)),
only_ways(['threaded2']), only_ways(['threaded2']),
extra_clean(['Arithmetic.hi', 'Arithmetic.o', extra_clean(['Arithmetic.hi', 'Arithmetic.o',
'Converter.hi', 'Converter.o', 'Converter.hi', 'Converter.o',
......
...@@ -326,7 +326,8 @@ test('dynHelloWorld', ...@@ -326,7 +326,8 @@ test('dynHelloWorld',
['']) [''])
test('T5313', test('T5313',
extra_run_opts('"' + config.libdir + '"'), [ when(arch('powerpc64'), expect_broken(11259)),
extra_run_opts('"' + config.libdir + '"')],
compile_and_run, compile_and_run,
['-package ghc']) ['-package ghc'])
......
# Test for #3589, recompiling when #included files change # Test for #3589, recompiling when #included files change
test('recomp011', test('recomp011',
[ clean_cmd('$MAKE -s clean') ], [ when(arch('powerpc64'), expect_broken(11260)),
clean_cmd('$MAKE -s clean') ],
run_command, run_command,
['$MAKE -s --no-print-directory recomp011']) ['$MAKE -s --no-print-directory recomp011'])
...@@ -4,7 +4,8 @@ test('recomp015', ...@@ -4,7 +4,8 @@ test('recomp015',
[ clean_cmd('$MAKE -s clean'), [ clean_cmd('$MAKE -s clean'),
# See ticket:11022#comment:7 # See ticket:11022#comment:7
unless(opsys('linux') or opsys('solaris2') or opsys('openbsd'), skip), unless(opsys('linux') or opsys('solaris2') or opsys('openbsd'), skip),
when(arch('arm'), skip)], when(arch('arm'), skip),
when(arch('powerpc64'), expect_broken(11323))],
run_command, run_command,
['$MAKE -s --no-print-directory recomp015']) ['$MAKE -s --no-print-directory recomp015'])
test('T10052', normal, run_command, test('T10052', when(arch('powerpc64'), expect_broken(11259)), run_command,
['$MAKE -s --no-print-directory T10052']) ['$MAKE -s --no-print-directory T10052'])
...@@ -2,16 +2,17 @@ test('ghcApi', normal, compile_and_run, ['-package ghc']) ...@@ -2,16 +2,17 @@ test('ghcApi', normal, compile_and_run, ['-package ghc'])
test('T6145', normal, test('T6145', normal,
run_command, run_command,
['$MAKE -s --no-print-directory T6145']) ['$MAKE -s --no-print-directory T6145'])
test('T8639_api', normal, test('T8639_api', when(arch('powerpc64'), expect_broken(11259)),
run_command, run_command,
['$MAKE -s --no-print-directory T8639_api']) ['$MAKE -s --no-print-directory T8639_api'])
test('T8628', normal, test('T8628', when(arch('powerpc64'), expect_broken(11259)),
run_command, run_command,
['$MAKE -s --no-print-directory T8628']) ['$MAKE -s --no-print-directory T8628'])
test('T9595', extra_run_opts('"' + config.libdir + '"'), test('T9595', extra_run_opts('"' + config.libdir + '"'),
compile_and_run, compile_and_run,
['-package ghc']) ['-package ghc'])
test('T10508_api', extra_run_opts('"' + config.libdir + '"'), test('T10508_api', [ extra_run_opts('"' + config.libdir + '"'),
when(arch('powerpc64'), expect_broken(11259))],
compile_and_run, compile_and_run,
['-package ghc']) ['-package ghc'])
test('T10942', extra_run_opts('"' + config.libdir + '"'), test('T10942', extra_run_opts('"' + config.libdir + '"'),
......
test('dynCompileExpr', test('dynCompileExpr',
[ extra_run_opts('"' + config.libdir + '"'), [ extra_run_opts('"' + config.libdir + '"'),
when(opsys('mingw32'), expect_broken_for(5987, ['dyn'])), when(opsys('mingw32'), expect_broken_for(5987, ['dyn'])),
when(arch('powerpc64'), expect_broken(11259)),
omit_ways(prof_ways) ], # cannot run interpreted code with -prof omit_ways(prof_ways) ], # cannot run interpreted code with -prof
compile_and_run, ['-package ghc']) compile_and_run, ['-package ghc'])
...@@ -21,7 +21,8 @@ test('print018', normal, ghci_script, ['print018.script']) ...@@ -21,7 +21,8 @@ test('print018', normal, ghci_script, ['print018.script'])
test('print019', normal, ghci_script, ['print019.script']) test('print019', normal, ghci_script, ['print019.script'])
test('print020', normal, ghci_script, ['print020.script']) test('print020', normal, ghci_script, ['print020.script'])
test('print021', normal, ghci_script, ['print021.script']) test('print021', normal, ghci_script, ['print021.script'])
test('print022', normal, ghci_script, ['print022.script']) test('print022', when(arch('powerpc64'), expect_broken(11262)),
ghci_script, ['print022.script'])
test('print023', normal, ghci_script, ['print023.script']) test('print023', normal, ghci_script, ['print023.script'])
test('print024', normal, ghci_script, ['print024.script']) test('print024', normal, ghci_script, ['print024.script'])
test('print025', normal, ghci_script, ['print025.script']) test('print025', normal, ghci_script, ['print025.script'])
......
...@@ -20,6 +20,7 @@ test('ghcilink003', ...@@ -20,6 +20,7 @@ test('ghcilink003',
test('ghcilink004', test('ghcilink004',
[unless(doing_ghci, skip), [unless(doing_ghci, skip),
when(arch('powerpc64'), expect_broken(11259)),
extra_clean(['dir004/local.package.conf/*', 'dir004/*', 'dir004']) extra_clean(['dir004/local.package.conf/*', 'dir004/*', 'dir004'])
], ],
run_command, run_command,
......
test('prog001', test('prog001',
[extra_clean(['C.hs', 'D.hs', 'D.hi', 'D.o']), [extra_clean(['C.hs', 'D.hs', 'D.hi', 'D.o']),
cmd_prefix('ghciWayFlags=' + config.ghci_way_flags), cmd_prefix('ghciWayFlags=' + config.ghci_way_flags),
when(arch('powerpc64'), expect_broken_for(11259,['ghci-ext'])),
unless(opsys('mingw32'),extra_ways(['ghci-ext']))], unless(opsys('mingw32'),extra_ways(['ghci-ext']))],
ghci_script, ['prog001.script']) ghci_script, ['prog001.script'])
...@@ -4,10 +4,12 @@ test('ghci001', combined_output, ghci_script, ['ghci001.script']) ...@@ -4,10 +4,12 @@ test('ghci001', combined_output, ghci_script, ['ghci001.script'])
test('ghci002', combined_output, ghci_script, ['ghci002.script']) test('ghci002', combined_output, ghci_script, ['ghci002.script'])
test('ghci003', combined_output, ghci_script, ['ghci003.script']) test('ghci003', combined_output, ghci_script, ['ghci003.script'])
test('ghci004', [ combined_output, test('ghci004', [ combined_output,
when(arch('powerpc64'), expect_broken_for(11259,['ghci-ext'])),
unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ], unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ],
ghci_script, ['ghci004.script']) ghci_script, ['ghci004.script'])
test('ghci005', combined_output, ghci_script, ['ghci005.script']) test('ghci005', combined_output, ghci_script, ['ghci005.script'])
test('ghci006', [ combined_output, test('ghci006', [ combined_output,
when(arch('powerpc64'), expect_broken_for(11259,['ghci-ext'])),
unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ], unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ],
ghci_script, ['ghci006.script']) ghci_script, ['ghci006.script'])
test('ghci007', combined_output, ghci_script, ['ghci007.script']) test('ghci007', combined_output, ghci_script, ['ghci007.script'])
......
...@@ -171,8 +171,8 @@ def checkDynAsm(actual_file, normaliser): ...@@ -171,8 +171,8 @@ def checkDynAsm(actual_file, normaliser):
# These should have extra_clean() arguments, but I need # These should have extra_clean() arguments, but I need
# to somehow extract out the name of DLLs to do that # to somehow extract out the name of DLLs to do that
test('T5435_v_asm', normal, run_command, ['$MAKE -s --no-print-directory T5435_v_asm']) test('T5435_v_asm', when(arch('powerpc64'), expect_broken(11259)), run_command, ['$MAKE -s --no-print-directory T5435_v_asm'])
test('T5435_v_gcc', normal, run_command, ['$MAKE -s --no-print-directory T5435_v_gcc']) test('T5435_v_gcc', when(arch('powerpc64'), expect_broken(11259)), run_command, ['$MAKE -s --no-print-directory T5435_v_gcc'])
test('T5435_dyn_asm', check_stdout(checkDynAsm), run_command, ['$MAKE -s --no-print-directory T5435_dyn_asm']) test('T5435_dyn_asm', check_stdout(checkDynAsm), run_command, ['$MAKE -s --no-print-directory T5435_dyn_asm'])
test('T5435_dyn_gcc', normal , run_command, ['$MAKE -s --no-print-directory T5435_dyn_gcc']) test('T5435_dyn_gcc', normal , run_command, ['$MAKE -s --no-print-directory T5435_dyn_gcc'])
...@@ -229,7 +229,8 @@ test('T7919', [extra_clean(['T7919A.o','T7919A.hi', ...@@ -229,7 +229,8 @@ test('T7919', [extra_clean(['T7919A.o','T7919A.hi',
test('T8035', normal, compile_and_run, ['']) test('T8035', normal, compile_and_run, [''])
test('linker_unload', test('linker_unload',
[ extra_clean(['Test.o','Test.hi', 'linker_unload']) ], [ when(arch('powerpc64'), expect_broken(11259)),
extra_clean(['Test.o','Test.hi', 'linker_unload']) ],
run_command, run_command,
['$MAKE -s --no-print-directory linker_unload']) ['$MAKE -s --no-print-directory linker_unload'])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment