dbmigrations-2.0.0: test/TestDriver.hs
module Main where
import Prelude
import Test.HUnit
import System.Exit
import System.IO ( stderr )
import qualified DependencyTest
import qualified MigrationsTest
import qualified FilesystemSerializeTest
import qualified FilesystemParseTest
import qualified FilesystemTest
import qualified CycleDetectionTest
import qualified StoreTest
import qualified LinearMigrationsTest
import qualified ConfigurationTest
import Control.Exception ( SomeException(..) )
loadTests :: IO [Test]
loadTests = do
ioTests <- sequence [ do fspTests <- FilesystemParseTest.tests
return $ "Filesystem Parsing" ~: test fspTests
, do fsTests <- FilesystemTest.tests
return $ "Filesystem general" ~: test fsTests
, do linTests <- LinearMigrationsTest.tests
return $ "Linear migrations" ~: test linTests
, do cfgTests <- ConfigurationTest.tests
return $ "Configuration tests" ~: test cfgTests
]
return $ concat [ ioTests
, DependencyTest.tests
, FilesystemSerializeTest.tests
, MigrationsTest.tests
, CycleDetectionTest.tests
, StoreTest.tests
]
tempDatabase :: String
tempDatabase = "dbmigrations_test"
ignoreException :: SomeException -> IO ()
ignoreException _ = return ()
main :: IO ()
main = do
tests <- loadTests
(testResults, _) <- runTestText (putTextToHandle stderr False) $ test tests
if errors testResults + failures testResults > 0
then exitFailure
else exitSuccess