1010-- The test entry-point for postgresql-migration.
1111
1212{-# LANGUAGE OverloadedStrings #-}
13+ {-# LANGUAGE LambdaCase #-}
1314
1415module Main
1516 ( main
@@ -21,14 +22,28 @@ import qualified Database.PostgreSQL.Simple.MigrationTest as V2
2122import qualified Database.PostgreSQL.Simple.TransactionPerRunTest as V2TrnRun
2223import qualified Database.PostgreSQL.Simple.TransactionPerStepTest as V2TrnStep
2324import Database.PostgreSQL.Simple.Util (withTransactionRolledBack )
25+ import qualified System.Environment as Env
26+
2427import Test.Hspec (hspec )
2528
2629main :: IO ()
2730main = do
28- conRollback <- connectPostgreSQL " "
29- withTransactionRolledBack conRollback (hspec (V2. migrationSpec conRollback))
30- withTransactionRolledBack conRollback (hspec (V1. migrationSpec conRollback))
31- withTransactionRolledBack conRollback (hspec (V2TrnRun. migrationSpec conRollback))
31+ Env. getArgs >>= \ case
32+ (" psql" : as) -> Env. withArgs as $ do
33+ conRollback <- connectPostgreSQL " "
34+ withTransactionRolledBack conRollback (hspec (V2. migrationSpec conRollback))
35+ withTransactionRolledBack conRollback (hspec (V1. migrationSpec conRollback))
36+ withTransactionRolledBack conRollback (hspec (V2TrnRun. migrationSpec conRollback))
37+
38+ conPerStep <- connectPostgreSQL " "
39+ hspec (V2TrnStep. migrationSpec conPerStep)
40+
41+ _ -> do
42+ putStrLn " Skipping tests, no 'psql' argument provided"
43+ putStrLn " To run the tests please use one of the following make commands"
44+ putStrLn " make cabal-test"
45+ putStrLn " make stack-test"
46+ putStrLn " or directly"
47+ putStrLn " stack test --ta psql"
48+ putStrLn " cabal run --test-show-details=direct test:tests psql"
3249
33- conPerStep <- connectPostgreSQL " "
34- hspec (V2TrnStep. migrationSpec conPerStep)
0 commit comments