module Main ( main ) where import Control.DeepSeq import Control.Exception import Control.Lens import Distribution.Nixpkgs.License import Distribution.Nixpkgs.Meta import Test.Hspec main :: IO () main = hspec $ describe "DeepSeq instances work properly for" $ do it "License" $ mapM_ hitsBottom [Known undefined, Unknown (Just undefined)] it "Meta" $ mapM_ hitsBottom [ nullMeta & homepage .~ undefined , nullMeta & description .~ undefined , nullMeta & license .~ undefined , nullMeta & platforms .~ undefined , nullMeta & maintainers .~ undefined , nullMeta & broken .~ undefined ] hitsBottom :: NFData a => a -> Expectation hitsBottom x = evaluate (rnf x) `shouldThrow` anyErrorCall