chromatin-0.1.0.0: test/u/BuildSpec.hs
{-# OPTIONS_GHC -F -pgmF htfpp #-}
module BuildSpec(
htf_thisModulesTests
) where
import Control.Monad.IO.Class (liftIO)
import Data.Default.Class (def)
import Test.Framework
import UnliftIO.Directory (getCurrentDirectory)
import Ribosome.Test.Embed (TestConfig(tcTimeout))
import Chromatin.Data.Chromatin (Chromatin)
import Chromatin.Data.Rplugin (Rplugin(Rplugin))
import Chromatin.Data.RpluginName (RpluginName(RpluginName))
import Chromatin.Data.RpluginSource (RpluginSource(Stack, Pypi), PypiDepspec(..))
import Chromatin.Test.Unit (specWithDef, specConfig)
import Chromatin.Test.Config (defaultTestConfig)
import Chromatin.Rebuild.Build (installRplugin)
import qualified Chromatin.Rebuild.Build as InstallResult (InstallResult(Success))
import Config (vars)
stackSpec :: Chromatin ()
stackSpec = do
cwd <- getCurrentDirectory
let name = RpluginName "chromatin"
let source = Stack cwd
result <- installRplugin name source
liftIO $ assertEqual (InstallResult.Success (Rplugin name source)) result
test_stack :: IO ()
test_stack =
vars >>= specWithDef stackSpec
pypiSpec :: Chromatin ()
pypiSpec = do
let name = RpluginName "myo"
let source = Pypi (PypiDepspec "myo~=1.0.0a")
result <- installRplugin name source
liftIO $ assertEqual (InstallResult.Success (Rplugin name source)) result
testConfig :: TestConfig
testConfig = defaultTestConfig { tcTimeout = 30 }
test_pypi :: IO ()
test_pypi =
specConfig testConfig def pypiSpec