From fb470cb623bc5dcd04a6ffda093be1400267b3d8 Mon Sep 17 00:00:00 2001
From: Cheng Shao <terrorjack@type.dance>
Date: Wed, 13 Nov 2024 13:46:44 +0000
Subject: [PATCH] testsuite: add regression test T25473

This commit adds regression test T25473 marked as broken due to #25473.
It will be fixed in the subsequent commit.

(cherry picked from commit ed2ed6c52e4b93b1afec5e5584aff4dc654bab04)
---
 testsuite/tests/th/wasm/T25473A.hs |  8 ++++++++
 testsuite/tests/th/wasm/T25473B.hs | 10 ++++++++++
 testsuite/tests/th/wasm/all.T      |  5 +++++
 3 files changed, 23 insertions(+)
 create mode 100644 testsuite/tests/th/wasm/T25473A.hs
 create mode 100644 testsuite/tests/th/wasm/T25473B.hs
 create mode 100644 testsuite/tests/th/wasm/all.T

diff --git a/testsuite/tests/th/wasm/T25473A.hs b/testsuite/tests/th/wasm/T25473A.hs
new file mode 100644
index 00000000000..7cb52348b53
--- /dev/null
+++ b/testsuite/tests/th/wasm/T25473A.hs
@@ -0,0 +1,8 @@
+module T25473A where
+
+import GHC.Wasm.Prim
+
+type BinOp a = a -> a -> a
+
+foreign import javascript "wrapper"
+  mkJSBinOp :: BinOp Int -> IO JSVal
diff --git a/testsuite/tests/th/wasm/T25473B.hs b/testsuite/tests/th/wasm/T25473B.hs
new file mode 100644
index 00000000000..2d74a7cc2f3
--- /dev/null
+++ b/testsuite/tests/th/wasm/T25473B.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE TemplateHaskell #-}
+
+module T25473B where
+
+import Language.Haskell.TH
+import T25473A
+
+$(runIO $ do
+  _ <- mkJSBinOp (+)
+  pure [])
diff --git a/testsuite/tests/th/wasm/all.T b/testsuite/tests/th/wasm/all.T
new file mode 100644
index 00000000000..9bc4793eaa0
--- /dev/null
+++ b/testsuite/tests/th/wasm/all.T
@@ -0,0 +1,5 @@
+setTestOpts([
+  unless(arch('wasm32'), skip)
+])
+
+test('T25473', [expect_broken(25473)], multimod_compile, ['T25473B', '-v0'])
-- 
GitLab