Travis: Work around old GHC issues, pt. 2
authorRyan Scott <ryan.gl.scott@gmail.com>
Tue, 1 Oct 2019 20:57:09 +0000 (16:57 -0400)
committerRyan Scott <ryan.gl.scott@gmail.com>
Tue, 1 Oct 2019 20:57:09 +0000 (16:57 -0400)
.travis.yml
cabal.haskell-ci
testsuite/src/Stm065.hs
testsuite/testsuite.cabal

index 30c8b1e..4bfd798 100644 (file)
@@ -155,8 +155,6 @@ install:
     echo "packages: ." >> cabal.project
     echo "packages: testsuite" >> cabal.project
   - |
-    echo "package testsuite" >> cabal.project
-    echo "  tests: true"     >> cabal.project
   - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(random|stm|testsuite)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
   - cat cabal.project || true
   - cat cabal.project.local || true
@@ -185,8 +183,6 @@ script:
     echo "packages: ${PKGDIR_stm}" >> cabal.project
     echo "packages: ${PKGDIR_testsuite}" >> cabal.project
   - |
-    echo "package testsuite" >> cabal.project
-    echo "  tests: true"     >> cabal.project
   - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(random|stm|testsuite)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
   - cat cabal.project || true
   - cat cabal.project.local || true
index ea583ae..812858e 100644 (file)
@@ -1,3 +1,2 @@
-copy-fields: all
 tests:       <7.2.1 || >=7.2.2
 installed:   +all -random
index 77371b8..5ae06f6 100644 (file)
@@ -1,9 +1,20 @@
+{-# LANGUAGE CPP #-}
+
+{- NB: This one fails for GHC 7.6.1 in particular due to GHC#7493.
+
+This was fixed in GHC via
+ a006ecdfd381fa75ab16ddb66c3a2b247f359eb8
+-}
+
 module Stm065 (main) where
 
 import           Control.Concurrent.STM
 import           Control.Monad          (unless)
 
 main :: IO ()
+#if defined(GHC_7_6_1)
+main = putStrLn "Warning: test disabled for GHC 7.6.1"
+#else
 main = do
   x <- atomically $ do
          r <- newTVar []
@@ -13,3 +24,4 @@ main = do
 
   unless (null x) $ do
     fail (show x)
+#endif
index ca3e4ad..8f8fcac 100644 (file)
@@ -47,5 +47,12 @@ test-suite stm
     , array ^>= 0.3.0.2 || ^>= 0.4.0.0 || ^>= 0.5.0.0
     , random ^>= 1.1
 
+  -- The __GLASGOW_HASKELL_PATCHLEVEL1__ macro wasn't available until GHC 7.10.1,
+  -- so we must use the .cabal file to detect if we're compiling with GHC 7.6.1
+  -- in particular. See the comments in Stm065 for more information about why we
+  -- must single out this version of GHC.
+  if impl(ghc==7.6.1)
+    cpp-options: "-DGHC_7_6_1"
+
   ghc-options: -Wall -fno-warn-unused-imports
   ghc-options: -threaded