git.iko.soy/typeable/servant
on master help sign in
travis: enable -Wall -Werror
b26bbfcSönke Hahn
doc/tutorial/tutorial.cabal+2−6
@@ -46,15 +46,11 @@ library
46 , markdown-unlit >= 0.4
46 , markdown-unlit >= 0.4
47 , http-client
47 , http-client
48 default-language: Haskell2010
48 default-language: Haskell2010
49− ghc-options: -Wall -Werror -pgmL markdown-unlit
49+ ghc-options: -Wall -pgmL markdown-unlit
50− -- to silence aeson-0.10 warnings:
51− ghc-options: -fno-warn-missing-methods
52− ghc-options: -fno-warn-name-shadowing
53
50
54test-suite spec
51test-suite spec
55 type: exitcode-stdio-1.0
52 type: exitcode-stdio-1.0
56− ghc-options:
53+ ghc-options: -Wall
57− -Wall -fno-warn-name-shadowing -fno-warn-missing-signatures
58 default-language: Haskell2010
54 default-language: Haskell2010
59 hs-source-dirs: test
55 hs-source-dirs: test
60 main-is: Spec.hs
56 main-is: Spec.hs
servant-blaze/servant-blaze.cabal+1
@@ -31,3 +31,4 @@ library
31 hs-source-dirs: src
31 hs-source-dirs: src
32 default-language: Haskell2010
32 default-language: Haskell2010
33 include-dirs: include
33 include-dirs: include
34+ ghc-options: -Wall
servant-cassava/servant-cassava.cabal+1
@@ -28,3 +28,4 @@ library
28 hs-source-dirs: src
28 hs-source-dirs: src
29 default-language: Haskell2010
29 default-language: Haskell2010
30 include-dirs: include
30 include-dirs: include
31+ ghc-options: -Wall
servant-client/servant-client.cabal+1−2
@@ -60,8 +60,7 @@ library
60
60
61test-suite spec
61test-suite spec
62 type: exitcode-stdio-1.0
62 type: exitcode-stdio-1.0
63− ghc-options:
63+ ghc-options: -Wall
64− -Wall -fno-warn-name-shadowing -fno-warn-missing-signatures
65 default-language: Haskell2010
64 default-language: Haskell2010
66 hs-source-dirs: test
65 hs-source-dirs: test
67 main-is: Spec.hs
66 main-is: Spec.hs
servant-client/test/Servant/ClientSpec.hs+1−1
@@ -28,7 +28,7 @@ import Control.Applicative ((<$>))
28import Control.Arrow (left)
28import Control.Arrow (left)
29import Control.Concurrent (forkIO, killThread, ThreadId)
29import Control.Concurrent (forkIO, killThread, ThreadId)
30import Control.Exception (bracket)
30import Control.Exception (bracket)
31−import Control.Monad.Trans.Except (ExceptT, throwE, runExceptT)
31+import Control.Monad.Trans.Except (throwE, runExceptT)
32import Data.Aeson
32import Data.Aeson
33import qualified Data.ByteString.Lazy as BS
33import qualified Data.ByteString.Lazy as BS
34import Data.Char (chr, isPrint)
34import Data.Char (chr, isPrint)
servant-docs/servant-docs.cabal−1
@@ -82,4 +82,3 @@ test-suite spec
82 , servant-docs
82 , servant-docs
83 , string-conversions
83 , string-conversions
84 default-language: Haskell2010
84 default-language: Haskell2010
85−
servant-foreign/src/Servant/Foreign/Internal.hs+2−1
@@ -7,7 +7,8 @@
7-- arbitrary programming languages.
7-- arbitrary programming languages.
8module Servant.Foreign.Internal where
8module Servant.Foreign.Internal where
9
9
10−import Control.Lens hiding (cons, List)
10+import Control.Lens (makePrisms, makeLenses, Getter, (&), (<>~), (%~),
11+ (.~))
11#if !MIN_VERSION_base(4,8,0)
12#if !MIN_VERSION_base(4,8,0)
12import Data.Monoid
13import Data.Monoid
13#endif
14#endif
servant-js/servant-js.cabal+1−1
@@ -55,7 +55,7 @@ library
55
55
56executable counter
56executable counter
57 main-is: counter.hs
57 main-is: counter.hs
58− ghc-options: -O2 -Wall
58+ ghc-options: -Wall
59 hs-source-dirs: examples
59 hs-source-dirs: examples
60
60
61 if flag(example)
61 if flag(example)
servant-js/src/Servant/JS/Internal.hs+1−1
@@ -46,7 +46,7 @@ module Servant.JS.Internal
46 , Header
46 , Header
47 ) where
47 ) where
48
48
49−import Control.Lens hiding (List)
49+import Control.Lens ((^.))
50import qualified Data.CharSet as Set
50import qualified Data.CharSet as Set
51import qualified Data.CharSet.Unicode.Category as Set
51import qualified Data.CharSet.Unicode.Category as Set
52import Data.Monoid
52import Data.Monoid
servant-lucid/servant-lucid.cabal+1
@@ -31,3 +31,4 @@ library
31 hs-source-dirs: src
31 hs-source-dirs: src
32 default-language: Haskell2010
32 default-language: Haskell2010
33 include-dirs: include
33 include-dirs: include
34+ ghc-options: -Wall
servant-mock/example/main.hs+3
@@ -2,6 +2,9 @@
2{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4{-# LANGUAGE TypeOperators #-}
4{-# LANGUAGE TypeOperators #-}
5+
6+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
7+
5import Data.Aeson
8import Data.Aeson
6import GHC.Generics
9import GHC.Generics
7import Network.Wai.Handler.Warp
10import Network.Wai.Handler.Warp
servant-mock/servant-mock.cabal+3−2
@@ -35,6 +35,7 @@ library
35 hs-source-dirs: src
35 hs-source-dirs: src
36 default-language: Haskell2010
36 default-language: Haskell2010
37 include-dirs: include
37 include-dirs: include
38+ ghc-options: -Wall
38
39
39executable mock-app
40executable mock-app
40 main-is: main.hs
41 main-is: main.hs
@@ -45,11 +46,11 @@ executable mock-app
45 buildable: True
46 buildable: True
46 else
47 else
47 buildable: False
48 buildable: False
49+ ghc-options: -Wall
48
50
49test-suite spec
51test-suite spec
50 type: exitcode-stdio-1.0
52 type: exitcode-stdio-1.0
51− ghc-options:
53+ ghc-options: -Wall
52− -Wall -fno-warn-name-shadowing
53 default-language: Haskell2010
54 default-language: Haskell2010
54 hs-source-dirs: test
55 hs-source-dirs: test
55 main-is: Spec.hs
56 main-is: Spec.hs
servant-server/servant-server.cabal+2−3
@@ -94,8 +94,7 @@ executable greet
94
94
95test-suite spec
95test-suite spec
96 type: exitcode-stdio-1.0
96 type: exitcode-stdio-1.0
97− ghc-options:
97+ ghc-options: -Wall
98− -Wall -fno-warn-name-shadowing -fno-warn-missing-signatures
99 default-language: Haskell2010
98 default-language: Haskell2010
100 hs-source-dirs: test
99 hs-source-dirs: test
101 main-is: Spec.hs
100 main-is: Spec.hs
@@ -147,5 +146,5 @@ test-suite doctests
147 main-is: test/Doctests.hs
146 main-is: test/Doctests.hs
148 buildable: True
147 buildable: True
149 default-language: Haskell2010
148 default-language: Haskell2010
150− ghc-options: -threaded
149+ ghc-options: -Wall -threaded
151 include-dirs: include
150 include-dirs: include
servant-server/test/Servant/Server/Internal/ContextSpec.hs+5−4
@@ -1,9 +1,9 @@
1{-# LANGUAGE DataKinds #-}
1{-# LANGUAGE DataKinds #-}
2−{-# OPTIONS_GHC -fdefer-type-errors #-}
2+{-# OPTIONS_GHC -fdefer-type-errors -Wwarn #-}
3module Servant.Server.Internal.ContextSpec (spec) where
3module Servant.Server.Internal.ContextSpec (spec) where
4
4
5import Data.Proxy (Proxy (..))
5import Data.Proxy (Proxy (..))
6−import Test.Hspec (Spec, describe, it, shouldBe, pending, context)
6+import Test.Hspec (Spec, describe, it, shouldBe, context)
7import Test.ShouldNotTypecheck (shouldNotTypecheck)
7import Test.ShouldNotTypecheck (shouldNotTypecheck)
8
8
9import Servant.API
9import Servant.API
@@ -26,16 +26,17 @@ spec = do
26 shouldNotTypecheck x
26 shouldNotTypecheck x
27
27
28 context "Show instance" $ do
28 context "Show instance" $ do
29− let cxt = 'a' :. True :. EmptyContext
30 it "has a Show instance" $ do
29 it "has a Show instance" $ do
30+ let cxt = 'a' :. True :. EmptyContext
31 show cxt `shouldBe` "'a' :. True :. EmptyContext"
31 show cxt `shouldBe` "'a' :. True :. EmptyContext"
32
32
33 context "bracketing" $ do
33 context "bracketing" $ do
34 it "works" $ do
34 it "works" $ do
35+ let cxt = 'a' :. True :. EmptyContext
35 show (Just cxt) `shouldBe` "Just ('a' :. True :. EmptyContext)"
36 show (Just cxt) `shouldBe` "Just ('a' :. True :. EmptyContext)"
36
37
37 it "works with operators" $ do
38 it "works with operators" $ do
38− let cxt = (1 :. 'a' :. EmptyContext) :<|> ('b' :. True :. EmptyContext)
39+ let cxt = ((1 :: Integer) :. 'a' :. EmptyContext) :<|> ('b' :. True :. EmptyContext)
39 show cxt `shouldBe` "(1 :. 'a' :. EmptyContext) :<|> ('b' :. True :. EmptyContext)"
40 show cxt `shouldBe` "(1 :. 'a' :. EmptyContext) :<|> ('b' :. True :. EmptyContext)"
40
41
41 describe "descendIntoNamedContext" $ do
42 describe "descendIntoNamedContext" $ do
servant-server/test/Servant/Server/Internal/EnterSpec.hs−1
@@ -5,7 +5,6 @@ module Servant.Server.Internal.EnterSpec where
5
5
6import qualified Control.Category as C
6import qualified Control.Category as C
7import Control.Monad.Reader
7import Control.Monad.Reader
8−import Control.Monad.Trans.Except
9import Data.Proxy
8import Data.Proxy
10import Servant.API
9import Servant.API
11import Servant.Server
10import Servant.Server
servant-server/test/Servant/Server/RouterSpec.hs+1
@@ -16,6 +16,7 @@ import Servant.API
16import Servant.Server
16import Servant.Server
17import Servant.Server.Internal
17import Servant.Server.Internal
18
18
19+spec :: Spec
19spec = describe "Servant.Server.Internal.Router" $ do
20spec = describe "Servant.Server.Internal.Router" $ do
20 routerSpec
21 routerSpec
21 distributivitySpec
22 distributivitySpec
servant-server/test/Servant/Server/StreamingSpec.hs−1
@@ -11,7 +11,6 @@ module Servant.Server.StreamingSpec where
11import Control.Concurrent
11import Control.Concurrent
12import Control.Exception hiding (Handler)
12import Control.Exception hiding (Handler)
13import Control.Monad.IO.Class
13import Control.Monad.IO.Class
14−import Control.Monad.Trans.Except
15import qualified Data.ByteString as Strict
14import qualified Data.ByteString as Strict
16import qualified Data.ByteString.Lazy as Lazy
15import qualified Data.ByteString.Lazy as Lazy
17import Network.HTTP.Types
16import Network.HTTP.Types
servant-server/test/Servant/Server/UsingContextSpec.hs−1
@@ -5,7 +5,6 @@
5
5
6module Servant.Server.UsingContextSpec where
6module Servant.Server.UsingContextSpec where
7
7
8−import Control.Monad.Trans.Except
9import Network.Wai
8import Network.Wai
10import Test.Hspec (Spec, describe, it)
9import Test.Hspec (Spec, describe, it)
11import Test.Hspec.Wai
10import Test.Hspec.Wai
servant-server/test/Servant/Server/UsingContextSpec/TestCombinators.hs+2−2
@@ -30,12 +30,12 @@ instance (HasContextEntry context String, HasServer subApi context) =>
30 String -> ServerT subApi m
30 String -> ServerT subApi m
31
31
32 route Proxy context delayed =
32 route Proxy context delayed =
33− route subProxy context (fmap (inject context) delayed)
33+ route subProxy context (fmap inject delayed)
34 where
34 where
35 subProxy :: Proxy subApi
35 subProxy :: Proxy subApi
36 subProxy = Proxy
36 subProxy = Proxy
37
37
38− inject context f = f (getContextEntry context)
38+ inject f = f (getContextEntry context)
39
39
40data InjectIntoContext
40data InjectIntoContext
41
41
servant/servant.cabal+2−3
@@ -89,8 +89,7 @@ library
89
89
90test-suite spec
90test-suite spec
91 type: exitcode-stdio-1.0
91 type: exitcode-stdio-1.0
92− ghc-options:
92+ ghc-options: -Wall
93− -Wall -fno-warn-name-shadowing -fno-warn-missing-signatures
94 default-language: Haskell2010
93 default-language: Haskell2010
95 hs-source-dirs: test
94 hs-source-dirs: test
96 main-is: Spec.hs
95 main-is: Spec.hs
@@ -122,5 +121,5 @@ test-suite doctests
122 main-is: test/Doctests.hs
121 main-is: test/Doctests.hs
123 buildable: True
122 buildable: True
124 default-language: Haskell2010
123 default-language: Haskell2010
125− ghc-options: -threaded
124+ ghc-options: -Wall -threaded
126 include-dirs: include
125 include-dirs: include
travis.sh+1−1
@@ -6,7 +6,7 @@ for package in $(cat sources.txt) doc/tutorial ; do
6 echo testing $package
6 echo testing $package
7 pushd $package
7 pushd $package
8 tinc
8 tinc
9− cabal configure --enable-tests --disable-optimization
9+ cabal configure --enable-tests --disable-optimization --ghc-options='-Werror'
10 cabal build
10 cabal build
11 cabal test
11 cabal test
12 popd
12 popd