Add a test for #5373 (-rtsopts, dynamic libs and OSX / Windows)
authorIan Lynagh <igloo@earth.li>
Sun, 9 Oct 2011 21:46:08 +0000 (22:46 +0100)
committerIan Lynagh <igloo@earth.li>
Sun, 9 Oct 2011 21:46:08 +0000 (22:46 +0100)
testsuite/tests/dynlibs/Makefile
testsuite/tests/dynlibs/T5373.stdout [new file with mode: 0644]
testsuite/tests/dynlibs/T5373A.hs [new file with mode: 0644]
testsuite/tests/dynlibs/T5373B.hs [new file with mode: 0644]
testsuite/tests/dynlibs/T5373C.hs [new file with mode: 0644]
testsuite/tests/dynlibs/all.T

index d0efb6e..d5561ae 100644 (file)
@@ -9,7 +9,7 @@ T3807:
        $(RM) T3807-export.o T3807-load.o
        $(RM) T3807test.so
        $(RM) T3807-load
-       '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make -dynamic -fPIC -shared T3807Export.hs T3807-export.c -o T3807test.so -lHSrts-ghc`'$(TEST_HC)' $(TEST_HC_OPTS) --numeric-version`
+       '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make -dynamic -fPIC -shared T3807Export.hs T3807-export.c -o T3807test.so -lHSrts-ghc`'$(TEST_HC)' $(TEST_HC_OPTS) --numeric-version` -rtsopts
        '$(TEST_HC)' $(TEST_HC_OPTS) -no-auto-link-packages -no-hs-main T3807-load.c -o T3807-load -ldl
        ./T3807-load
 
@@ -30,3 +30,12 @@ T4464:
        '$(TEST_HC)' $(TEST_HC_OPTS) -v0 T4464C.c HS4464.dll.a -o t4464.exe
        ./t4464.exe
 
+.PHONY: T5373
+T5373:
+       '$(TEST_HC)' $(TEST_HC_OPTS) -v0 -dynamic --make T5373A
+       '$(TEST_HC)' $(TEST_HC_OPTS) -v0 -dynamic --make T5373B -rtsopts
+       '$(TEST_HC)' $(TEST_HC_OPTS) -v0 -dynamic --make T5373C -rtsopts=some
+       -./T5373A +RTS -\? 2>&1 | grep "Most RTS options are disabled"
+       -./T5373B +RTS -\? 2>&1 | grep "Most RTS options are disabled"
+       -./T5373C +RTS -\? 2>&1 | grep "Most RTS options are disabled"
+
diff --git a/testsuite/tests/dynlibs/T5373.stdout b/testsuite/tests/dynlibs/T5373.stdout
new file mode 100644 (file)
index 0000000..f06de0a
--- /dev/null
@@ -0,0 +1,2 @@
+T5373A: Most RTS options are disabled. Link with -rtsopts to enable them.
+T5373C: Most RTS options are disabled. Link with -rtsopts to enable them.
diff --git a/testsuite/tests/dynlibs/T5373A.hs b/testsuite/tests/dynlibs/T5373A.hs
new file mode 100644 (file)
index 0000000..0570fb1
--- /dev/null
@@ -0,0 +1,4 @@
+
+main :: IO ()
+main = return ()
+
diff --git a/testsuite/tests/dynlibs/T5373B.hs b/testsuite/tests/dynlibs/T5373B.hs
new file mode 100644 (file)
index 0000000..0570fb1
--- /dev/null
@@ -0,0 +1,4 @@
+
+main :: IO ()
+main = return ()
+
diff --git a/testsuite/tests/dynlibs/T5373C.hs b/testsuite/tests/dynlibs/T5373C.hs
new file mode 100644 (file)
index 0000000..0570fb1
--- /dev/null
@@ -0,0 +1,4 @@
+
+main :: IO ()
+main = return ()
+
index dd1c20f..3a2cf82 100644 (file)
@@ -18,3 +18,11 @@ test('T4464',
      run_command,
      ['$MAKE --no-print-directory -s T4464'])
 
+test('T5373',
+     extra_clean(['T5373A.hi',  'T5373B.hi',  'T5373C.hi',
+                  'T5373A.o',   'T5373B.o',   'T5373C.o',
+                  'T5373A',     'T5373B',     'T5373C',
+                  'T5373A.exe', 'T5373B.exe', 'T5373C.exe']),
+     run_command,
+     ['$MAKE --no-print-directory -s T5373'])
+