summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testsuite/driver/testlib.py4
-rw-r--r--testsuite/tests/driver/all.T3
-rw-r--r--testsuite/tests/driver/linkwhole/all.T2
-rw-r--r--testsuite/tests/ghc-api/T10052/all.T3
-rw-r--r--testsuite/tests/ghc-api/all.T6
-rw-r--r--testsuite/tests/ghc-api/dynCompileExpr/all.T3
-rw-r--r--testsuite/tests/ghci/T16392/all.T3
-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.T3
-rwxr-xr-xtestsuite/tests/ghci/scripts/all.T8
-rw-r--r--testsuite/tests/printer/all.T18
-rw-r--r--testsuite/tests/quasiquotation/all.T2
-rw-r--r--testsuite/tests/rts/all.T1
-rw-r--r--testsuite/tests/rts/linker/all.T14
-rw-r--r--testsuite/tests/rts/linker/unload_multiple_objs/all.T2
16 files changed, 38 insertions, 37 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 4177a2a15d..3ee9a8afdf 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -192,6 +192,10 @@ def req_interp( name, opts ):
if not config.have_interp:
opts.expect = 'fail'
+def req_rts_linker( name, opts ):
+ if not config.have_RTS_linker:
+ opts.expect = 'fail'
+
def req_th( name, opts ):
"""
Mark a test as requiring TemplateHaskell. In addition to having interpreter
diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T
index 3df5ca3f68..11796951f2 100644
--- a/testsuite/tests/driver/all.T
+++ b/testsuite/tests/driver/all.T
@@ -130,8 +130,7 @@ test('dynHelloWorld',
[''])
test('T5313',
- [ unless(config.have_RTS_linker, skip),
- extra_run_opts('"' + config.libdir + '"')],
+ [ req_rts_linker, extra_run_opts('"' + config.libdir + '"')],
compile_and_run,
['-package ghc'])
diff --git a/testsuite/tests/driver/linkwhole/all.T b/testsuite/tests/driver/linkwhole/all.T
index e4881bbcc5..37030528b0 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']),
- unless(config.have_RTS_linker, skip),
+ req_rts_linker,
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 0e0f3bc866..a3b7040608 100644
--- a/testsuite/tests/ghc-api/T10052/all.T
+++ b/testsuite/tests/ghc-api/T10052/all.T
@@ -1,3 +1,2 @@
-test('T10052', [unless(config.have_RTS_linker, skip),
- req_interp],
+test('T10052', [req_rts_linker, req_interp],
makefile_test, ['T10052'])
diff --git a/testsuite/tests/ghc-api/all.T b/testsuite/tests/ghc-api/all.T
index 8df85e07db..fa7f7a9348 100644
--- a/testsuite/tests/ghc-api/all.T
+++ b/testsuite/tests/ghc-api/all.T
@@ -1,14 +1,14 @@
test('ghcApi', normal, compile_and_run, ['-package ghc'])
test('T6145', normal, makefile_test, ['T6145'])
-test('T8639_api', unless (config.have_RTS_linker, skip),
+test('T8639_api', req_rts_linker,
makefile_test, ['T8639_api'])
-test('T8628', unless(config.have_RTS_linker, skip),
+test('T8628', req_rts_linker,
makefile_test, ['T8628'])
test('T9595', extra_run_opts('"' + config.libdir + '"'),
compile_and_run,
['-package ghc'])
test('T10508_api', [ extra_run_opts('"' + config.libdir + '"'),
- unless(config.have_RTS_linker, skip)],
+ req_rts_linker ],
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 fd47e95a52..d067e690e2 100644
--- a/testsuite/tests/ghc-api/dynCompileExpr/all.T
+++ b/testsuite/tests/ghc-api/dynCompileExpr/all.T
@@ -1,6 +1,5 @@
test('dynCompileExpr',
[ extra_run_opts('"' + config.libdir + '"'),
when(opsys('mingw32'), expect_broken_for(5987, ['dyn'])),
- unless(config.have_RTS_linker, skip),
- omit_ways(prof_ways) ], # cannot run interpreted code with -prof
+ req_rts_linker, 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 7b9bd4bf6b..fa16e2daa4 100644
--- a/testsuite/tests/ghci/T16392/all.T
+++ b/testsuite/tests/ghci/T16392/all.T
@@ -1,4 +1,5 @@
test('T16392',
[extra_files(['A.hs']),
- when(config.have_ext_interp, extra_ways(['ghci-ext']))],
+ extra_ways(['ghci-ext']),
+ req_rts_linker],
ghci_script, ['T16392.script'])
diff --git a/testsuite/tests/ghci/linking/all.T b/testsuite/tests/ghci/linking/all.T
index a049df3b34..c537066f08 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),
- unless(config.have_RTS_linker, skip)],
+ req_rts_linker],
makefile_test, ['ghcilink004'])
test('ghcilink005',
diff --git a/testsuite/tests/ghci/linking/dyn/all.T b/testsuite/tests/ghci/linking/dyn/all.T
index 550ae1b0d8..9a54670732 100644
--- a/testsuite/tests/ghci/linking/dyn/all.T
+++ b/testsuite/tests/ghci/linking/dyn/all.T
@@ -47,6 +47,7 @@ test('big-obj', [extra_files(['big-obj-c.c', 'big-obj.hs']),
test('T3372',
[unless(doing_ghci, skip),
+ req_rts_linker,
extra_run_opts('"' + config.libdir + '"'),
unless(config.have_RTS_linker, skip),
# Concurrent GHC sessions is fragile on Windows since we must lock the
diff --git a/testsuite/tests/ghci/prog001/prog001.T b/testsuite/tests/ghci/prog001/prog001.T
index 7cd60c0b20..3f2d1bea36 100644
--- a/testsuite/tests/ghci/prog001/prog001.T
+++ b/testsuite/tests/ghci/prog001/prog001.T
@@ -1,5 +1,6 @@
test('prog001',
[extra_files(['../shell.hs', 'A.hs', 'B.hs', 'C1.hs', 'D1.hs', 'D2.hs']),
cmd_prefix('ghciWayFlags=' + config.ghci_way_flags),
- unless(opsys('mingw32') or (not config.have_ext_interp), extra_ways(['ghci-ext']))],
+ req_rts_linker,
+ unless(opsys('mingw32'), 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 0a2b2f1d61..ae0e38cb4e 100755
--- a/testsuite/tests/ghci/scripts/all.T
+++ b/testsuite/tests/ghci/scripts/all.T
@@ -10,12 +10,12 @@
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,
- unless(opsys('mingw32') or (not config.have_ext_interp),extra_ways(['ghci-ext'])) ],
+test('ghci004', [ combined_output, req_rts_linker,
+ unless(opsys('mingw32'),extra_ways(['ghci-ext'])) ],
ghci_script, ['ghci004.script'])
test('ghci005', combined_output, ghci_script, ['ghci005.script'])
-test('ghci006', [ combined_output,
- unless(opsys('mingw32') or (not config.have_ext_interp),extra_ways(['ghci-ext'])) ],
+test('ghci006', [ combined_output, req_rts_linker,
+ unless(opsys('mingw32'),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/printer/all.T b/testsuite/tests/printer/all.T
index 879d2aa51c..3440f57458 100644
--- a/testsuite/tests/printer/all.T
+++ b/testsuite/tests/printer/all.T
@@ -24,7 +24,7 @@ test('Ppr023', ignore_stderr, makefile_test, ['ppr023'])
test('Ppr024', ignore_stderr, makefile_test, ['ppr024'])
test('Ppr025', ignore_stderr, makefile_test, ['ppr025'])
test('Ppr026', ignore_stderr, makefile_test, ['ppr026'])
-test('Ppr027', ignore_stderr, makefile_test, ['ppr027'])
+test('Ppr027', [ignore_stderr, req_rts_linker], makefile_test, ['ppr027'])
test('Ppr028', ignore_stderr, makefile_test, ['ppr028'])
test('Ppr029', ignore_stderr, makefile_test, ['ppr029'])
test('Ppr030', ignore_stderr, makefile_test, ['ppr030'])
@@ -37,22 +37,22 @@ test('Ppr036', ignore_stderr, makefile_test, ['ppr036'])
test('Ppr037', ignore_stderr, makefile_test, ['ppr037'])
test('Ppr038', ignore_stderr, makefile_test, ['ppr038'])
test('Ppr039', ignore_stderr, makefile_test, ['ppr039'])
-test('Ppr040', ignore_stderr, makefile_test, ['ppr040'])
+test('Ppr040', [ignore_stderr, req_rts_linker], makefile_test, ['ppr040'])
test('Ppr041', ignore_stderr, makefile_test, ['ppr041'])
test('Ppr042', ignore_stderr, makefile_test, ['ppr042'])
-test('Ppr043', ignore_stderr, makefile_test, ['ppr043'])
+test('Ppr043', [ignore_stderr, req_rts_linker], makefile_test, ['ppr043'])
test('Ppr044', ignore_stderr, makefile_test, ['ppr044'])
test('Ppr045', ignore_stderr, makefile_test, ['ppr045'])
test('Ppr046', ignore_stderr, makefile_test, ['ppr046'])
test('Ppr047', expect_fail, makefile_test, ['ppr047'])
test('Ppr048', ignore_stderr, makefile_test, ['ppr048'])
-test('T13199', ignore_stderr, makefile_test, ['T13199'])
+test('T13199', [ignore_stderr, req_rts_linker], makefile_test, ['T13199'])
test('T13050p', ignore_stderr, makefile_test, ['T13050p'])
-test('T13550', ignore_stderr, makefile_test, ['T13550'])
-test('T13942', ignore_stderr, makefile_test, ['T13942'])
-test('T14289', ignore_stderr, makefile_test, ['T14289'])
-test('T14289b', ignore_stderr, makefile_test, ['T14289b'])
-test('T14289c', ignore_stderr, makefile_test, ['T14289c'])
+test('T13550', [ignore_stderr, req_rts_linker], makefile_test, ['T13550'])
+test('T13942', [ignore_stderr, req_rts_linker], makefile_test, ['T13942'])
+test('T14289', [ignore_stderr, req_rts_linker], makefile_test, ['T14289'])
+test('T14289b', [ignore_stderr, req_rts_linker], makefile_test, ['T14289b'])
+test('T14289c', [ignore_stderr, req_rts_linker], makefile_test, ['T14289c'])
test('T14306', ignore_stderr, makefile_test, ['T14306'])
test('T14343', normal, compile_fail, [''])
test('T14343b', normal, compile_fail, [''])
diff --git a/testsuite/tests/quasiquotation/all.T b/testsuite/tests/quasiquotation/all.T
index 331f7c16ae..23263d9475 100644
--- a/testsuite/tests/quasiquotation/all.T
+++ b/testsuite/tests/quasiquotation/all.T
@@ -6,7 +6,7 @@ test('T7918',
only_ways([config.ghc_th_way]), unless(have_dynamic(), skip)],
compile_and_run, ['-package ghc ' + config.ghc_th_way_flags])
test('T14028',
- [req_interp,
+ [req_interp, req_rts_linker,
only_ways([config.ghc_th_way]),
unless(config.have_ext_interp, skip),
when(opsys('linux') and arch('x86_64'), expect_broken_for(17300, ['dyn']))],
diff --git a/testsuite/tests/rts/all.T b/testsuite/tests/rts/all.T
index 36f63c571e..33853dc3d2 100644
--- a/testsuite/tests/rts/all.T
+++ b/testsuite/tests/rts/all.T
@@ -395,6 +395,7 @@ test('keep-cafs',
when(opsys('mingw32'), expect_broken (5987)),
when(platform('powerpc64le-unknown-linux'), expect_broken(11261)),
when(opsys('freebsd'), expect_broken(16035)),
+ req_rts_linker
],
makefile_test, ['KeepCafs'])
diff --git a/testsuite/tests/rts/linker/all.T b/testsuite/tests/rts/linker/all.T
index 2f1bb2bb61..d2bb5891fd 100644
--- a/testsuite/tests/rts/linker/all.T
+++ b/testsuite/tests/rts/linker/all.T
@@ -56,17 +56,14 @@ def checkDynAsm(actual_file, normaliser):
# separately now.
# 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']),
- unless(config.have_RTS_linker, skip)],
+test('T5435_v_asm_a', [extra_files(['T5435.hs', 'T5435_asm.c']), req_rts_linker],
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']),
- unless(config.have_RTS_linker, skip),
- when(opsys('darwin') or opsys('mingw32'), skip)],
+test('T5435_v_asm_b', [extra_files(['T5435.hs', 'T5435_asm.c']), req_rts_linker,
+ when(opsys('darwin') or opsys('mingw32'), skip)],
makefile_test, ['T5435_v_asm_b'])
-test('T5435_v_gcc', [extra_files(['T5435.hs', 'T5435_gcc.c']),
- unless(config.have_RTS_linker, skip)],
+test('T5435_v_gcc', [extra_files(['T5435.hs', 'T5435_gcc.c']), req_rts_linker],
makefile_test, ['T5435_v_gcc'])
test('T5435_dyn_asm', [extra_files(['T5435.hs', 'T5435_asm.c']),
check_stdout(checkDynAsm)],
@@ -75,8 +72,7 @@ test('T5435_dyn_gcc', extra_files(['T5435.hs', 'T5435_gcc.c']) , makefile_test,
######################################
test('linker_unload',
- [extra_files(['LinkerUnload.hs', 'Test.hs']),
- unless(config.have_RTS_linker, skip)],
+ [extra_files(['LinkerUnload.hs', 'Test.hs']), req_rts_linker],
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 378177cf41..52f35b4e26 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',]),
- unless(config.have_RTS_linker, skip)],
+ req_rts_linker],
run_command, ['$MAKE -s --no-print-directory linker_unload_multiple_objs'])