summaryrefslogtreecommitdiff
path: root/testsuite/tests/ffi/should_run/all.T
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ffi/should_run/all.T')
-rw-r--r--testsuite/tests/ffi/should_run/all.T63
1 files changed, 39 insertions, 24 deletions
diff --git a/testsuite/tests/ffi/should_run/all.T b/testsuite/tests/ffi/should_run/all.T
index da98a5ff6b..3cece482b2 100644
--- a/testsuite/tests/ffi/should_run/all.T
+++ b/testsuite/tests/ffi/should_run/all.T
@@ -4,12 +4,16 @@
# extra run flags
# expected process return value, if not zero
-test('fed001', normal, compile_and_run, [''])
+test( 'fed001', js_broken(22374) # qsort not yet implemented in JavaScript backend
+ , compile_and_run, [''])
# Omit GHCi for these two, as they use foreign export
-test('ffi001', omit_ways(['ghci']), compile_and_run, [''])
-test('ffi002', [ omit_ways(['ghci']),
- pre_cmd('$MAKE -s --no-print-directory ffi002_setup') ],
+test('ffi001', [ omit_ways(['ghci'])
+ , js_skip # JS backend doesn't support foreign export yet
+ ], compile_and_run, [''])
+test('ffi002', [ omit_ways(['ghci'])
+ , js_skip # JS backend doesn't support foreign export yet
+ , pre_cmd('$MAKE -s --no-print-directory ffi002_setup') ],
# The ffi002_setup hack is to ensure that we generate
# ffi002_stub.h before compiling ffi002_c.c, which
# needs it.
@@ -34,7 +38,7 @@ test('ffi005', [ omit_ways(prof_ways + ['ghci']),
req_c ],
compile_and_run, ['ffi005_c.c'])
-test('ffi006', normal, compile_and_run, [''])
+test('ffi006', [normal, js_broken(22363)], compile_and_run, [''])
# Skip ffi00{7,8} for GHCi. These tests both try to exit or raise an
# error from a foreign export, which shuts down the runtime. When
@@ -43,8 +47,10 @@ test('ffi006', normal, compile_and_run, [''])
# Sometimes we end up with the wrong exit code, or get an extra
# 'interrupted' message from the GHCi thread shutting down.
-test('ffi007', omit_ways(['ghci']), compile_and_run, [''])
-test('ffi008', [exit_code(1), omit_ways(['ghci'])], compile_and_run, [''])
+test('ffi007', [ omit_ways(['ghci'])
+ , js_skip # foreign "dynamic" call
+ ], compile_and_run, [''])
+test('ffi008', [exit_code(1), omit_ways(['ghci']), js_broken(22363)], compile_and_run, [''])
# On i386, we need -msse2 to get reliable floating point results
if config.platform.startswith('i386-'):
@@ -53,7 +59,7 @@ else:
opts = ''
test('ffi010', normal, compile_and_run, [''])
-test('ffi011', normal, compile_and_run, [''])
+test('ffi011', [normal, js_broken(22363)], compile_and_run, [''])
# The stdcall calling convention works on Windows, and sometimes on
# Linux, and fails everywhhere else. For now, we test only on Windows,
@@ -66,7 +72,7 @@ else:
skip_if_not_windows = skip
test('ffi012', skip_if_not_windows, compile_and_run, [''])
-test('ffi013', normal, compile_and_run, [''])
+test('ffi013', [normal, js_broken(22363)], compile_and_run, [''])
# threaded2 sometimes gives ffi014: Main_dDu: interrupted
test('ffi014', [only_ways(['threaded1', 'threaded2'])], compile_and_run,
@@ -76,7 +82,9 @@ test('ffi014', [only_ways(['threaded1', 'threaded2'])], compile_and_run,
test('ffi015', [req_c,omit_ways(['ghci'])], compile_and_run, ['ffi015_cbits.c'])
# GHCi can't handle foreign import "&"
-test('ffi016', omit_ways(['ghci']), compile_and_run, [''])
+test('ffi016', [ omit_ways(['ghci'])
+ , js_skip # foreign exports
+ ], compile_and_run, [''])
test('ffi017', normal, compile_and_run, [''])
@@ -86,13 +94,14 @@ test('ffi018_ghci',
[extra_files(['ffi018.h']),
only_ways(['ghci']),
when(unregisterised(), fragile(16085)),
- pre_cmd('$MAKE -s --no-print-directory ffi018_ghci_setup')],
+ pre_cmd('$MAKE -s --no-print-directory ffi018_ghci_setup'),
+ req_c],
compile_and_run, ['ffi018_ghci_c.o'])
-test('ffi019', normal, compile_and_run, [''])
+test('ffi019', [normal, js_broken(22363)], compile_and_run, [''])
# This one originally failed only GHCi, but doesn't hurt to test all ways.
-test('T1679', normal, compile_and_run, [''])
+test('T1679', js_broken(22261), compile_and_run, [''])
test('T1288', [omit_ways(['ghci']), req_c], compile_and_run, ['T1288_c.c'])
test('T1288_ghci',
@@ -107,7 +116,7 @@ test('T2276_ghci', [ only_ways(['ghci']),
pre_cmd('$MAKE -s --no-print-directory T2276_ghci_setup') ],
compile_and_run, ['-fobject-code T2276_ghci_c.o'])
-test('T2469', normal, compile_and_run, ['-optc-std=gnu99'])
+test('T2469', js_broken(22261), compile_and_run, ['-optc-std=gnu99'])
test('T2594', [omit_ways(['ghci']), req_c], compile_and_run, ['T2594_c.c'])
@@ -122,10 +131,11 @@ test('T2917a', normal, compile_and_run, [''])
# omit prof ways, because this test causes the RTS to exit (correctly)
# without generating profiling information.
test('ffi020', [ omit_ways(prof_ways),
- exit_code(1) ], compile_and_run, [''])
+ exit_code(1),
+ js_broken(22363)], compile_and_run, [''])
-test('ffi021', normal, compile_and_run, [''])
+test('ffi021', [normal, js_broken(22363)], compile_and_run, [''])
test('ffi022', normal, compile_and_run, [''])
@@ -134,7 +144,7 @@ if config.os == 'mingw32':
flagsForT4038 = ['-optl-Wl,--stack,10485760']
else:
flagsForT4038 = ['']
-test('T4038', normal, compile_and_run, flagsForT4038)
+test('T4038', js_broken(22261), compile_and_run, flagsForT4038)
test('T4221', [omit_ways(['ghci']),req_c], compile_and_run, ['T4221_c.c'])
@@ -143,20 +153,24 @@ test('T5402', [ omit_ways(['ghci']),
# The T5402_setup hack is to ensure that we generate
# T5402_stub.h before compiling T5402_main.c, which
# needs it.
- pre_cmd('$MAKE -s --no-print-directory T5402_setup') ],
+ pre_cmd('$MAKE -s --no-print-directory T5402_setup'),
+ req_c
+ ],
compile_and_run, ["-no-hs-main T5402_main.c"])
test('T5594', [ omit_ways(['ghci']),
- pre_cmd('$MAKE -s --no-print-directory T5594_setup') ],
+ pre_cmd('$MAKE -s --no-print-directory T5594_setup'),
# The T5594_setup hack is to ensure that we generate
# T5594_stub.h before compiling T5594_c.c, which
# needs it.
+ req_c
+ ],
compile_and_run, ['T5594_c.c -no-hs-main'])
-test('Capi_Ctype_001', [extra_files(['Capi_Ctype_A_001.hsc', 'capi_ctype_001.h', 'capi_ctype_001_c.c'])],
+test('Capi_Ctype_001', [extra_files(['Capi_Ctype_A_001.hsc', 'capi_ctype_001.h', 'capi_ctype_001_c.c']), js_broken(22374)],
makefile_test, ['Capi_Ctype_001'])
-test('Capi_Ctype_002', [extra_files(['Capi_Ctype_A_002.hsc', 'capi_ctype_002_A.h', 'capi_ctype_002_B.h'])],
+test('Capi_Ctype_002', [extra_files(['Capi_Ctype_A_002.hsc', 'capi_ctype_002_A.h', 'capi_ctype_002_B.h']), js_broken(22374)],
makefile_test, ['Capi_Ctype_002'])
test('ffi_parsing_001', [omit_ways(['ghci']), req_c], compile_and_run,
@@ -169,7 +183,7 @@ test('T7170',
exit_code(1)],
compile_and_run, [''])
-test('T4012', [expect_broken_for(7388, ['ghci'])], multimod_compile_and_run,
+test('T4012', [expect_broken_for(7388, ['ghci']), js_broken(22374)], multimod_compile_and_run,
['T4012', ''])
test('T8083', [omit_ways(['ghci']), req_c], compile_and_run, ['T8083_c.c'])
@@ -178,6 +192,7 @@ test('T9274', [omit_ways(['ghci'])], compile_and_run, [''])
test('ffi023', [ omit_ways(['ghci']),
extra_run_opts('1000 4'),
+ js_broken(22363),
pre_cmd('$MAKE -s --no-print-directory ffi023_setup') ],
# The ffi023_setup hack is to ensure that we generate
# ffi023_stub.h before compiling ffi023_c.c, which
@@ -227,9 +242,9 @@ test('IncallAffinity',
compile_and_run,
['IncallAffinity_c.c -no-hs-main'])
-test('T19237', normal, compile_and_run, ['T19237_c.c'])
+test('T19237', req_c, compile_and_run, ['T19237_c.c'])
-test('T21305', omit_ways(['ghci']), multi_compile_and_run,
+test('T21305', [cmm_src,omit_ways(['ghci'])], multi_compile_and_run,
['T21305', [('T21305_cmm.cmm', '')], ''])
test('T22159',