propellor-5.18: property-based host configuration management in haskell

Safe Haskell | None
Language | Haskell2010

Propellor.Property.List

Synopsis

- props :: Props UnixLike
- data Props metatypes
- toProps :: forall {k} (metatypes :: k). [Property (MetaTypes metatypes)] -> Props (MetaTypes metatypes)
- propertyList :: forall {k} (metatypes :: k). SingI metatypes => Desc -> Props (MetaTypes metatypes) -> Property (MetaTypes metatypes)
- combineProperties :: forall {k} (metatypes :: k). SingI metatypes => Desc -> Props (MetaTypes metatypes) -> Property (MetaTypes metatypes)

# Documentation

props :: Props UnixLike Source #

Start accumulating a list of properties.

Properties can be added to it using `(&)` etc.

data Props metatypes Source #

Props is a combination of a list of properties, with their combined metatypes.

toProps :: forall {k} (metatypes :: k). [Property (MetaTypes metatypes)] -> Props (MetaTypes metatypes) Source #

propertyList :: forall {k} (metatypes :: k). SingI metatypes => Desc -> Props (MetaTypes metatypes) -> Property (MetaTypes metatypes) Source #

Combines a list of properties, resulting in a single property that when run will run each property in the list in turn, and print out the description of each as it's run. Does not stop on failure; does propagate overall success/failure.

For example:

    propertyList "foo" $ props
    	& bar
    	& baz

combineProperties :: forall {k} (metatypes :: k). SingI metatypes => Desc -> Props (MetaTypes metatypes) -> Property (MetaTypes metatypes) Source #

Combines a list of properties, resulting in one property that ensures each in turn. Stops if a property fails.

    combineProperties "foo" $ props
    	& bar
    	& baz

This is similar to using `mconcat` with a list of properties, except it can combine together different types of properties.