summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2022-02-10 08:24:24 +0000
committerSylvain Henry <sylvain@haskus.fr>2022-11-29 09:44:31 +0100
commitcc25d52e0f65d54c052908c7d91d5946342ab88a (patch)
tree0f35764ee3b9b0451ac999b64d2db9fa074fa3dd /testsuite/tests/ghci
parentdef47dd32491311289bff26230b664c895f178cc (diff)
downloadhaskell-cc25d52e0f65d54c052908c7d91d5946342ab88a.tar.gz
Add Javascript backend
Add JS backend adapted from the GHCJS project by Luite Stegeman. Some features haven't been ported or implemented yet. Tests for these features have been disabled with an associated gitlab ticket. Bump array submodule Work funded by IOG. Co-authored-by: Jeffrey Young <jeffrey.young@iohk.io> Co-authored-by: Luite Stegeman <stegeman@gmail.com> Co-authored-by: Josh Meredith <joshmeredith2008@gmail.com>
Diffstat (limited to 'testsuite/tests/ghci')
-rw-r--r--testsuite/tests/ghci/T13786/all.T2
-rw-r--r--testsuite/tests/ghci/caf_crash/all.T3
-rw-r--r--testsuite/tests/ghci/linking/all.T20
-rw-r--r--testsuite/tests/ghci/linking/dyn/all.T14
-rwxr-xr-xtestsuite/tests/ghci/scripts/all.T2
-rw-r--r--testsuite/tests/ghci/should_fail/all.T2
6 files changed, 29 insertions, 14 deletions
diff --git a/testsuite/tests/ghci/T13786/all.T b/testsuite/tests/ghci/T13786/all.T
index b406fad214..a25b548da6 100644
--- a/testsuite/tests/ghci/T13786/all.T
+++ b/testsuite/tests/ghci/T13786/all.T
@@ -1,4 +1,4 @@
test('T13786',
- when(unregisterised(), fragile(17018)),
+ [when(unregisterised(), fragile(17018)), js_broken(22359)],
makefile_test, [])
diff --git a/testsuite/tests/ghci/caf_crash/all.T b/testsuite/tests/ghci/caf_crash/all.T
index 6fe22dd454..d50cc5c423 100644
--- a/testsuite/tests/ghci/caf_crash/all.T
+++ b/testsuite/tests/ghci/caf_crash/all.T
@@ -2,5 +2,6 @@ test('caf_crash',
[extra_files(['A.hs', 'B.hs', 'D.hs', ]),
when(ghc_dynamic(), skip),
extra_ways(['ghci-ext']),
- omit_ways(['ghci']), ],
+ omit_ways(['ghci']),
+ js_broken(22359)],
ghci_script, ['caf_crash.script'])
diff --git a/testsuite/tests/ghci/linking/all.T b/testsuite/tests/ghci/linking/all.T
index 197500c039..d18d252a93 100644
--- a/testsuite/tests/ghci/linking/all.T
+++ b/testsuite/tests/ghci/linking/all.T
@@ -1,7 +1,8 @@
test('ghcilink001',
[extra_files(['TestLink.hs', 'f.c']),
when(ghc_dynamic(), expect_fail), # dynamic ghci can't load '.a's
- unless(doing_ghci, skip)],
+ unless(doing_ghci, skip),
+ req_interp], # JS backend doesn't use ghci
makefile_test, ['ghcilink001'])
test('ghcilink002', [extra_files(['TestLink.hs', 'f.c']),
@@ -15,7 +16,8 @@ test('ghcilink003',
# from Big Sur onwards, we can't dlopen libstdc++.dylib
# anymore. Will produce:
# dlopen(libstdc++.dylib, 5): image not found
- when(opsys('darwin'), fragile(16083))
+ when(opsys('darwin'), fragile(16083)),
+ req_interp
], makefile_test, ['ghcilink003'])
test('ghcilink004',
@@ -29,7 +31,8 @@ test('ghcilink005',
[extra_files(['TestLink.hs', 'f.c']),
when(unregisterised(), fragile(16085)),
unless(doing_ghci, skip),
- req_dynamic_lib_support],
+ req_dynamic_lib_support,
+ req_interp],
makefile_test, ['ghcilink005'])
test('ghcilink006',
@@ -37,18 +40,22 @@ test('ghcilink006',
# from Big Sur onwards, we can't dlopen libstdc++.dylib
# anymore. Will produce:
# dlopen(libstdc++.dylib, 5): image not found
- when(opsys('darwin'), fragile(16083))
+ when(opsys('darwin'), fragile(16083)),
+ req_interp
], makefile_test, ['ghcilink006'])
test('T3333',
[unless(doing_ghci, skip),
- when(unregisterised(), fragile(17018))],
+ when(unregisterised(), fragile(17018)),
+ js_broken(22359)],
makefile_test, ['T3333'])
test('T11531',
[extra_files(['T11531.hs', 'T11531.c', 'T11531.h']),
unless(doing_ghci, skip),
unless(opsys('linux'), skip),
+ req_c,
+ req_interp,
fragile(11531)],
makefile_test, ['T11531'])
@@ -60,7 +67,8 @@ test('T14708',
test('T15729',
[extra_files(['T15729.hs', 'T15729.c']),
- unless(doing_ghci, skip)],
+ unless(doing_ghci, skip),
+ js_broken(22359)],
makefile_test, ['T15729'])
test('big-obj', [extra_files(['big-obj-c.c', 'big-obj.hs']),
diff --git a/testsuite/tests/ghci/linking/dyn/all.T b/testsuite/tests/ghci/linking/dyn/all.T
index 9b05ed5fc3..7711f2eb7a 100644
--- a/testsuite/tests/ghci/linking/dyn/all.T
+++ b/testsuite/tests/ghci/linking/dyn/all.T
@@ -1,14 +1,17 @@
setTestOpts(req_dynamic_lib_support)
-test('load_short_name', [extra_files(['A.c']),
- unless(doing_ghci, skip)],
+test('load_short_name', [ extra_files(['A.c'])
+ , unless(doing_ghci, skip)
+ , req_c
+ ],
makefile_test, ['load_short_name'])
test('T1407',
[extra_files(['A.c']),
unless(doing_ghci, skip),
pre_cmd('$MAKE -s --no-print-directory compile_libT1407'),
- extra_hc_opts('-L"$PWD/T1407dir"')],
+ extra_hc_opts('-L"$PWD/T1407dir"'),
+ js_broken(22359)],
makefile_test, [])
test('T3242',
@@ -23,7 +26,10 @@ test('T10955',
extra_hc_opts('-L. -L./bin_dep')],
ghci_script, ['T10955.script'])
-test('T10955dyn', [extra_files(['A.c', 'B.c', 'A.def', 'B.def'])],
+test('T10955dyn',
+ [extra_files(['A.c', 'B.c', 'A.def', 'B.def'])
+ , js_broken(22351) # dynamic linking not supported by the JS backend
+ ],
makefile_test, ['compile_libAB_dyn'])
test('T10458',
diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T
index e64debbb49..321769f21e 100755
--- a/testsuite/tests/ghci/scripts/all.T
+++ b/testsuite/tests/ghci/scripts/all.T
@@ -258,7 +258,7 @@ test('T10963', normal, ghci_script, ['T10963.script'])
test('T11547', normal, ghci_script, ['T11547.script'])
test('T11721', normal, ghci_script, ['T11721.script'])
test('T12005', normal, ghci_script, ['T12005.script'])
-test('T12023', normal, makefile_test, [])
+test('T12023', js_broken(22359), makefile_test, [])
test('T12520', normal, ghci_script, ['T12520.script'])
test('T12091', [extra_run_opts('-fobject-code')], ghci_script,
['T12091.script'])
diff --git a/testsuite/tests/ghci/should_fail/all.T b/testsuite/tests/ghci/should_fail/all.T
index 3e24f19ad3..d80b723c69 100644
--- a/testsuite/tests/ghci/should_fail/all.T
+++ b/testsuite/tests/ghci/should_fail/all.T
@@ -5,4 +5,4 @@ test('T16013', [], ghci_script, ['T16013.script'])
test('T16287', [], ghci_script, ['T16287.script'])
test('T18052b', [], ghci_script, ['T18052b.script'])
test('T18027a', [], ghci_script, ['T18027a.script'])
-test('T20214', [], makefile_test, ['T20214'])
+test('T20214', js_broken(22370), makefile_test, ['T20214'])