diff options
author | Peter Trommler <ptrommler@acm.org> | 2019-11-03 13:54:41 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-11-05 02:46:48 -0500 |
commit | 487ede425bd0ef958481f0ca0b9614d362e10972 (patch) | |
tree | 816f7bc6878726fa6be1e88d802a00c45b0f8ad9 /testsuite | |
parent | d57059f72ed9a34f0589beac4feb41f8738dfdea (diff) | |
download | haskell-487ede425bd0ef958481f0ca0b9614d362e10972.tar.gz |
testsuite: skip test requiring RTS linker on PowerPC
The RTS linker is not available on 64-bit PowerPC. Instead of
marking tests that require the RTS linker as broken on PowerPC
64-bit skip the respective tests on all platforms where the
RTS linker or a statically linked external interpreter is not
available.
Fixes #11259
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/driver/all.T | 4 | ||||
-rw-r--r-- | testsuite/tests/driver/linkwhole/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/T10052/all.T | 4 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/all.T | 9 | ||||
-rw-r--r-- | testsuite/tests/ghc-api/dynCompileExpr/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/T16392/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/linking/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/linking/dyn/all.T | 1 | ||||
-rw-r--r-- | testsuite/tests/ghci/prog001/prog001.T | 4 | ||||
-rwxr-xr-x | testsuite/tests/ghci/scripts/all.T | 8 | ||||
-rw-r--r-- | testsuite/tests/quasiquotation/all.T | 1 | ||||
-rw-r--r-- | testsuite/tests/rts/linker/all.T | 11 | ||||
-rw-r--r-- | testsuite/tests/rts/linker/unload_multiple_objs/all.T | 2 |
13 files changed, 21 insertions, 31 deletions
diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T index 239a70d2ba..3df5ca3f68 100644 --- a/testsuite/tests/driver/all.T +++ b/testsuite/tests/driver/all.T @@ -130,7 +130,7 @@ test('dynHelloWorld', ['']) test('T5313', - [ when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259)), + [ unless(config.have_RTS_linker, skip), extra_run_opts('"' + config.libdir + '"')], compile_and_run, ['-package ghc']) @@ -278,4 +278,4 @@ test('T16737', expect_broken_for(16541, ['ghci'])], compile_and_run, ['-optP=-isystem -optP=T16737include']) -test('T17143', exit_code(1), run_command, ['{compiler} T17143.hs -S -fno-code'])
\ No newline at end of file +test('T17143', exit_code(1), run_command, ['{compiler} T17143.hs -S -fno-code']) diff --git a/testsuite/tests/driver/linkwhole/all.T b/testsuite/tests/driver/linkwhole/all.T index ed5b9cc9f0..e4881bbcc5 100644 --- a/testsuite/tests/driver/linkwhole/all.T +++ b/testsuite/tests/driver/linkwhole/all.T @@ -1,6 +1,6 @@ test('linkwhole', [extra_files(['Types.hs','Main.hs','MyCode.hs','Handles.hs']), - when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259)), + unless(config.have_RTS_linker, skip), when(opsys('freebsd'), expect_broken(16035)), when(opsys('mingw32'), skip)], makefile_test, []) diff --git a/testsuite/tests/ghc-api/T10052/all.T b/testsuite/tests/ghc-api/T10052/all.T index 7913ba4b4e..0e0f3bc866 100644 --- a/testsuite/tests/ghc-api/T10052/all.T +++ b/testsuite/tests/ghc-api/T10052/all.T @@ -1,3 +1,3 @@ -test('T10052', [when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259)), req_interp], +test('T10052', [unless(config.have_RTS_linker, skip), + req_interp], makefile_test, ['T10052']) diff --git a/testsuite/tests/ghc-api/all.T b/testsuite/tests/ghc-api/all.T index b4e24ec2fd..8df85e07db 100644 --- a/testsuite/tests/ghc-api/all.T +++ b/testsuite/tests/ghc-api/all.T @@ -1,17 +1,14 @@ test('ghcApi', normal, compile_and_run, ['-package ghc']) test('T6145', normal, makefile_test, ['T6145']) -test('T8639_api', when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259)), +test('T8639_api', unless (config.have_RTS_linker, skip), makefile_test, ['T8639_api']) -test('T8628', when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259)), +test('T8628', unless(config.have_RTS_linker, skip), makefile_test, ['T8628']) test('T9595', extra_run_opts('"' + config.libdir + '"'), compile_and_run, ['-package ghc']) test('T10508_api', [ extra_run_opts('"' + config.libdir + '"'), - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259))], + unless(config.have_RTS_linker, skip)], compile_and_run, ['-package ghc']) test('T10942', extra_run_opts('"' + config.libdir + '"'), diff --git a/testsuite/tests/ghc-api/dynCompileExpr/all.T b/testsuite/tests/ghc-api/dynCompileExpr/all.T index 29c7ac695e..fd47e95a52 100644 --- a/testsuite/tests/ghc-api/dynCompileExpr/all.T +++ b/testsuite/tests/ghc-api/dynCompileExpr/all.T @@ -1,6 +1,6 @@ test('dynCompileExpr', [ extra_run_opts('"' + config.libdir + '"'), when(opsys('mingw32'), expect_broken_for(5987, ['dyn'])), - when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259)), + unless(config.have_RTS_linker, skip), omit_ways(prof_ways) ], # cannot run interpreted code with -prof compile_and_run, ['-package ghc']) diff --git a/testsuite/tests/ghci/T16392/all.T b/testsuite/tests/ghci/T16392/all.T index a77e0fd994..7b9bd4bf6b 100644 --- a/testsuite/tests/ghci/T16392/all.T +++ b/testsuite/tests/ghci/T16392/all.T @@ -1,4 +1,4 @@ test('T16392', [extra_files(['A.hs']), - extra_ways(['ghci-ext'])], + when(config.have_ext_interp, extra_ways(['ghci-ext']))], ghci_script, ['T16392.script']) diff --git a/testsuite/tests/ghci/linking/all.T b/testsuite/tests/ghci/linking/all.T index 88ada22332..a049df3b34 100644 --- a/testsuite/tests/ghci/linking/all.T +++ b/testsuite/tests/ghci/linking/all.T @@ -15,7 +15,7 @@ test('ghcilink003', [unless(doing_ghci, skip)], makefile_test, ['ghcilink003']) test('ghcilink004', [extra_files(['TestLink.hs', 'f.c']), unless(doing_ghci, skip), - when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259))], + unless(config.have_RTS_linker, skip)], makefile_test, ['ghcilink004']) test('ghcilink005', diff --git a/testsuite/tests/ghci/linking/dyn/all.T b/testsuite/tests/ghci/linking/dyn/all.T index 46ba064c17..550ae1b0d8 100644 --- a/testsuite/tests/ghci/linking/dyn/all.T +++ b/testsuite/tests/ghci/linking/dyn/all.T @@ -48,6 +48,7 @@ test('big-obj', [extra_files(['big-obj-c.c', 'big-obj.hs']), test('T3372', [unless(doing_ghci, skip), extra_run_opts('"' + config.libdir + '"'), + unless(config.have_RTS_linker, skip), # Concurrent GHC sessions is fragile on Windows since we must lock the # package database even for read-only access. # See Note [Locking package database on Windows] in GHC.PackageDb diff --git a/testsuite/tests/ghci/prog001/prog001.T b/testsuite/tests/ghci/prog001/prog001.T index 49aa4861e2..7cd60c0b20 100644 --- a/testsuite/tests/ghci/prog001/prog001.T +++ b/testsuite/tests/ghci/prog001/prog001.T @@ -1,7 +1,5 @@ test('prog001', [extra_files(['../shell.hs', 'A.hs', 'B.hs', 'C1.hs', 'D1.hs', 'D2.hs']), cmd_prefix('ghciWayFlags=' + config.ghci_way_flags), - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken_for(11259, ['ghci-ext'])), - unless(opsys('mingw32'), extra_ways(['ghci-ext']))], + unless(opsys('mingw32') or (not config.have_ext_interp), extra_ways(['ghci-ext']))], ghci_script, ['prog001.script']) diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T index ede2805d10..0a2b2f1d61 100755 --- a/testsuite/tests/ghci/scripts/all.T +++ b/testsuite/tests/ghci/scripts/all.T @@ -11,15 +11,11 @@ test('ghci001', combined_output, ghci_script, ['ghci001.script']) test('ghci002', combined_output, ghci_script, ['ghci002.script']) test('ghci003', combined_output, ghci_script, ['ghci003.script']) test('ghci004', [ combined_output, - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken_for(11259,['ghci-ext'])), - unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ], + unless(opsys('mingw32') or (not config.have_ext_interp),extra_ways(['ghci-ext'])) ], ghci_script, ['ghci004.script']) test('ghci005', combined_output, ghci_script, ['ghci005.script']) test('ghci006', [ combined_output, - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken_for(11259,['ghci-ext'])), - unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ], + unless(opsys('mingw32') or (not config.have_ext_interp),extra_ways(['ghci-ext'])) ], ghci_script, ['ghci006.script']) test('ghci007', combined_output, ghci_script, ['ghci007.script']) test('ghci008', [ combined_output, diff --git a/testsuite/tests/quasiquotation/all.T b/testsuite/tests/quasiquotation/all.T index e8320a9f9a..331f7c16ae 100644 --- a/testsuite/tests/quasiquotation/all.T +++ b/testsuite/tests/quasiquotation/all.T @@ -8,5 +8,6 @@ test('T7918', test('T14028', [req_interp, only_ways([config.ghc_th_way]), + unless(config.have_ext_interp, skip), when(opsys('linux') and arch('x86_64'), expect_broken_for(17300, ['dyn']))], makefile_test, ['T14028']) diff --git a/testsuite/tests/rts/linker/all.T b/testsuite/tests/rts/linker/all.T index f57edc4eef..2f1bb2bb61 100644 --- a/testsuite/tests/rts/linker/all.T +++ b/testsuite/tests/rts/linker/all.T @@ -57,19 +57,16 @@ def checkDynAsm(actual_file, normaliser): # These should have extra_clean() arguments, but I need # to somehow extract out the name of DLLs to do that test('T5435_v_asm_a', [extra_files(['T5435.hs', 'T5435_asm.c']), - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259))], + unless(config.have_RTS_linker, skip)], makefile_test, ['T5435_v_asm_a']) # this one just needs to run on linux, as darwin/mingw32 are covered # by the _a test already. test('T5435_v_asm_b', [extra_files(['T5435.hs', 'T5435_asm.c']), - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259)), + unless(config.have_RTS_linker, skip), when(opsys('darwin') or opsys('mingw32'), skip)], makefile_test, ['T5435_v_asm_b']) test('T5435_v_gcc', [extra_files(['T5435.hs', 'T5435_gcc.c']), - when(arch('powerpc64') or arch('powerpc64le'), - expect_broken(11259))], + unless(config.have_RTS_linker, skip)], makefile_test, ['T5435_v_gcc']) test('T5435_dyn_asm', [extra_files(['T5435.hs', 'T5435_asm.c']), check_stdout(checkDynAsm)], @@ -79,7 +76,7 @@ test('T5435_dyn_gcc', extra_files(['T5435.hs', 'T5435_gcc.c']) , makefile_test, ###################################### test('linker_unload', [extra_files(['LinkerUnload.hs', 'Test.hs']), - when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259))], + unless(config.have_RTS_linker, skip)], makefile_test, ['linker_unload']) ###################################### diff --git a/testsuite/tests/rts/linker/unload_multiple_objs/all.T b/testsuite/tests/rts/linker/unload_multiple_objs/all.T index e7b1e2fb76..378177cf41 100644 --- a/testsuite/tests/rts/linker/unload_multiple_objs/all.T +++ b/testsuite/tests/rts/linker/unload_multiple_objs/all.T @@ -1,4 +1,4 @@ test('linker_unload_multiple_objs', [extra_files(['../LinkerUnload.hs', 'A.hs', 'B.hs', 'C.hs', 'D.hs',]), - when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259))], + unless(config.have_RTS_linker, skip)], run_command, ['$MAKE -s --no-print-directory linker_unload_multiple_objs']) |