From e2a2b176d34687dab1649a95a5e82cd484d18ef1 Mon Sep 17 00:00:00 2001
From: Cheng Shao <terrorjack@type.dance>
Date: Mon, 7 Oct 2024 21:29:20 +0000
Subject: [PATCH] testsuite: flip on support for shared libs, TH & ghci for
 wasm

This commit flips on support for shared libs, TH & ghci for wasm in
the testsuite, given support has been landed in previous commits.

(cherry picked from commit 74a1f6818d1592ebceab8e0fbb6be1973f38fe78)
---
 testsuite/config/ghc         | 1 -
 testsuite/driver/testlib.py  | 7 ++-----
 testsuite/tests/driver/all.T | 2 +-
 3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/testsuite/config/ghc b/testsuite/config/ghc
index d4764e3c3c9..34d538765b9 100644
--- a/testsuite/config/ghc
+++ b/testsuite/config/ghc
@@ -81,7 +81,6 @@ if not config.arch == "javascript":
 
 if config.arch == "wasm32":
     config.have_process = False
-    config.supports_dynamic_libs = False
 
 config.way_flags = {
     'normal'       : [],
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index c1bc44de3ad..0c862a5570d 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -258,11 +258,8 @@ def req_dynamic_ghc( name, opts ):
         skip(name,opts)
 
 def req_interp( name, opts ):
-    if not config.have_interp or isCross():
+    if not config.have_interp:
         opts.expect = 'fail'
-    # skip on wasm32, otherwise they show up as unexpected passes
-    if arch('wasm32'):
-        skip(name, opts)
 
 def req_bco( name, opts ):
     '''
@@ -548,7 +545,7 @@ def valid_way( way: WayName ) -> bool:
     if way in {'ghci', 'ghci-opt', 'ghci-ext'}:
         return config.have_RTS_linker
     if way == 'ghci-ext-prof':
-        return config.have_RTS_linker and config.have_profiling
+        return config.have_RTS_linker and config.have_profiling and not arch('wasm32')
     return True
 
 def extra_ways( ways: List[WayName] ):
diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T
index 8f484292e95..0dccc824f9f 100644
--- a/testsuite/tests/driver/all.T
+++ b/testsuite/tests/driver/all.T
@@ -126,7 +126,7 @@ test('static001', [extra_files(['Static001.hs']),
      makefile_test, ['static001'])
 
 test('dynHelloWorld',
-     [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic(), expect_broken(20706))],
+     [only_ways(['dyn']), when(opsys('linux') and not ghc_dynamic() and not arch('wasm32'), expect_broken(20706))],
      compile_and_run,
      [''])
 
-- 
GitLab