summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Trommler <ptrommler@acm.org>2019-11-03 13:54:41 +0100
committerPeter Trommler <ptrommler@acm.org>2019-11-04 15:47:11 +0100
commitf591c3fd4c6bba6849e98e82e38132cf2924a60a (patch)
treec73784102a906524db661645109b2ff4670042f0
parent3c9161621c6e467f53c5d4649a3c54b3cb40fbf9 (diff)
downloadhaskell-wip/T11259.tar.gz
testsuite: skip test requiring RTS linker on PowerPCwip/T11259
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
-rw-r--r--testsuite/tests/driver/all.T4
-rw-r--r--testsuite/tests/driver/linkwhole/all.T2
-rw-r--r--testsuite/tests/ghc-api/T10052/all.T4
-rw-r--r--testsuite/tests/ghc-api/all.T9
-rw-r--r--testsuite/tests/ghc-api/dynCompileExpr/all.T2
-rw-r--r--testsuite/tests/ghci/T16392/all.T2
-rw-r--r--testsuite/tests/ghci/linking/all.T2
-rw-r--r--testsuite/tests/ghci/linking/dyn/all.T1
-rw-r--r--testsuite/tests/ghci/prog001/prog001.T4
-rwxr-xr-xtestsuite/tests/ghci/scripts/all.T8
-rw-r--r--testsuite/tests/quasiquotation/all.T1
-rw-r--r--testsuite/tests/rts/linker/all.T11
-rw-r--r--testsuite/tests/rts/linker/unload_multiple_objs/all.T2
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'])