summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Barton <rwbarton@gmail.com>2015-04-15 16:46:47 -0400
committerReid Barton <rwbarton@gmail.com>2015-04-18 13:36:58 -0400
commit88b84063c11a48820011805a8341d95f7fcd59db (patch)
tree84fe16fd7eefe73219050d133a7ab08493ae1489
parent619a324ed6a35708e4a3746f48c23b4f294e82df (diff)
downloadhaskell-88b84063c11a48820011805a8341d95f7fcd59db.tar.gz
Test case for indirect dependencies in ghci linker (#10322)
-rw-r--r--testsuite/tests/ghci/scripts/T10322.script5
-rw-r--r--testsuite/tests/ghci/scripts/T10322.stdout3
-rw-r--r--testsuite/tests/ghci/scripts/T10322A.hs4
-rw-r--r--testsuite/tests/ghci/scripts/T10322B.hs4
-rw-r--r--testsuite/tests/ghci/scripts/T10322C.hs5
-rwxr-xr-xtestsuite/tests/ghci/scripts/all.T2
6 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/tests/ghci/scripts/T10322.script b/testsuite/tests/ghci/scripts/T10322.script
new file mode 100644
index 0000000000..75f2a39338
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T10322.script
@@ -0,0 +1,5 @@
+:set -fobject-code
+:load T10322A T10322B T10322C
+T10322A.a
+T10322B.b
+T10322C.c
diff --git a/testsuite/tests/ghci/scripts/T10322.stdout b/testsuite/tests/ghci/scripts/T10322.stdout
new file mode 100644
index 0000000000..de9da6d665
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T10322.stdout
@@ -0,0 +1,3 @@
+3
+4
+7
diff --git a/testsuite/tests/ghci/scripts/T10322A.hs b/testsuite/tests/ghci/scripts/T10322A.hs
new file mode 100644
index 0000000000..ba01fd222d
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T10322A.hs
@@ -0,0 +1,4 @@
+module T10322A (a) where
+{-# NOINLINE a #-}
+a :: Int
+a = 3
diff --git a/testsuite/tests/ghci/scripts/T10322B.hs b/testsuite/tests/ghci/scripts/T10322B.hs
new file mode 100644
index 0000000000..aa0b73acdf
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T10322B.hs
@@ -0,0 +1,4 @@
+module T10322B (b) where
+import T10322A (a)
+b :: Int
+b = a+1
diff --git a/testsuite/tests/ghci/scripts/T10322C.hs b/testsuite/tests/ghci/scripts/T10322C.hs
new file mode 100644
index 0000000000..b6ad6e9b75
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T10322C.hs
@@ -0,0 +1,5 @@
+module T10322C (c) where
+import T10322A (a)
+import T10322B (b)
+c :: Int
+c = a+b
diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T
index b97eedeaf8..01de663219 100755
--- a/testsuite/tests/ghci/scripts/all.T
+++ b/testsuite/tests/ghci/scripts/all.T
@@ -207,3 +207,5 @@ test('T9878b',
extra_clean(['T9878b.hi','T9878b.o'])],
ghci_script, ['T9878b.script'])
test('T10122', normal, ghci_script, ['T10122.script'])
+test('T10322', when(opsys('darwin'), expect_broken(10322)),
+ ghci_script, ['T10322.script'])