on master help sign in
Merge pull request #79 from haskell-servant/shahn/wip-fix-test-all-script
b5e558fChristian Marie
servant-server/servant-server.cabal+2
@@ -113,6 +113,8 @@ test-suite doctests
113 , servant
113 , servant
114 , doctest
114 , doctest
115 , filemanip
115 , filemanip
116+ , directory
117+ , filepath
116 type: exitcode-stdio-1.0
118 type: exitcode-stdio-1.0
117 main-is: test/Doctests.hs
119 main-is: test/Doctests.hs
118 buildable: True
120 buildable: True
servant-server/test/Doctests.hs+12−1
@@ -1,14 +1,18 @@
1module Main where
1module Main where
2
2
3+import Data.List (isPrefixOf)
4+import System.Directory
5+import System.FilePath
3import System.FilePath.Find
6import System.FilePath.Find
4import Test.DocTest
7import Test.DocTest
5
8
6main :: IO ()
9main :: IO ()
7main = do
10main = do
8 files <- find always (extension ==? ".hs") "src"
11 files <- find always (extension ==? ".hs") "src"
12+ cabalMacrosFile <- getCabalMacrosFile
9 doctest $ [ "-isrc"
13 doctest $ [ "-isrc"
10 , "-optP-include"
14 , "-optP-include"
11− , "-optPdist/build/autogen/cabal_macros.h"
15+ , "-optP" ++ cabalMacrosFile
12 , "-XOverloadedStrings"
16 , "-XOverloadedStrings"
13 , "-XFlexibleInstances"
17 , "-XFlexibleInstances"
14 , "-XMultiParamTypeClasses"
18 , "-XMultiParamTypeClasses"
@@ -16,3 +20,10 @@ main = do
16 , "-XTypeOperators"
20 , "-XTypeOperators"
17 ] ++ files
21 ] ++ files
18
22
23+getCabalMacrosFile :: IO FilePath
24+getCabalMacrosFile = do
25+ contents <- getDirectoryContents "dist"
26+ let rest = "build" </> "autogen" </> "cabal_macros.h"
27+ return $ case filter ("dist-sandbox-" `isPrefixOf`) contents of
28+ [x] -> "dist" </> x </> rest
29+ [] -> "dist" </> rest
servant/servant.cabal+2
@@ -107,6 +107,8 @@ test-suite doctests
107 , servant
107 , servant
108 , doctest
108 , doctest
109 , filemanip
109 , filemanip
110+ , directory
111+ , filepath
110 type: exitcode-stdio-1.0
112 type: exitcode-stdio-1.0
111 main-is: test/Doctests.hs
113 main-is: test/Doctests.hs
112 buildable: True
114 buildable: True
servant/test/Doctests.hs+12−1
@@ -1,16 +1,27 @@
1module Main where
1module Main where
2
2
3+import Data.List (isPrefixOf)
4+import System.Directory
5+import System.FilePath
3import System.FilePath.Find
6import System.FilePath.Find
4import Test.DocTest
7import Test.DocTest
5
8
6main :: IO ()
9main :: IO ()
7main = do
10main = do
8 files <- find always (extension ==? ".hs") "src"
11 files <- find always (extension ==? ".hs") "src"
12+ cabalMacrosFile <- getCabalMacrosFile
9 doctest $ [ "-isrc"
13 doctest $ [ "-isrc"
10 , "-optP-include"
14 , "-optP-include"
11− , "-optPdist/build/autogen/cabal_macros.h"
15+ , "-optP" ++ cabalMacrosFile
12 , "-XOverloadedStrings"
16 , "-XOverloadedStrings"
13 , "-XFlexibleInstances"
17 , "-XFlexibleInstances"
14 , "-XMultiParamTypeClasses"
18 , "-XMultiParamTypeClasses"
15 ] ++ files
19 ] ++ files
16
20
21+getCabalMacrosFile :: IO FilePath
22+getCabalMacrosFile = do
23+ contents <- getDirectoryContents "dist"
24+ let rest = "build" </> "autogen" </> "cabal_macros.h"
25+ return $ case filter ("dist-sandbox-" `isPrefixOf`) contents of
26+ [x] -> "dist" </> x </> rest
27+ [] -> "dist" </> rest