diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-10-10 15:09:47 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-10-10 15:09:47 -0400 |
| commit | fa813945849f3e5998a61b1625f9bef20cd2fa13 (patch) | |
| tree | 1200a7598abb5687e30279a342571fbcc2f900fb /src/Propellor/Property.hs | |
| parent | ae380f085bc867f7405ef0a16c849864c6552e47 (diff) | |
propellor spin
Diffstat (limited to 'src/Propellor/Property.hs')
| -rw-r--r-- | src/Propellor/Property.hs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Propellor/Property.hs b/src/Propellor/Property.hs index c7fc555f..471916d0 100644 --- a/src/Propellor/Property.hs +++ b/src/Propellor/Property.hs @@ -12,6 +12,7 @@ import "mtl" Control.Monad.RWS.Strict import Propellor.Types import Propellor.Info +import Propellor.Exception import Utility.Monad -- | Constructs a Property, from a description and an action to run to @@ -109,6 +110,13 @@ describe = setDesc (==>) = flip describe infixl 1 ==> +-- | For when code running in the Propellor monad needs to ensure a +-- Property. +-- +-- This can only be used on a Property that has NoInfo. +ensureProperty :: Property NoInfo -> Propellor Result +ensureProperty = catchPropellor . propertySatisfy + -- | Makes a Property only need to do anything when a test succeeds. check :: IO Bool -> Property i -> Property i check c p = adjustPropertySatisfy p $ \satisfy -> ifM (liftIO c) |
