From a2a3d3f3a252e64d80421b5a14ef572a7bdf9e4a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 30 Mar 2014 15:53:35 -0400 Subject: better descriptions for properties --- Property/Apt.hs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'Property/Apt.hs') diff --git a/Property/Apt.hs b/Property/Apt.hs index a5720e72..724d5843 100644 --- a/Property/Apt.hs +++ b/Property/Apt.hs @@ -59,19 +59,23 @@ runApt ps = cmdProperty' "apt-get" ps env update :: Property update = runApt [Param "update"] + `describe` "apt update" upgrade :: Property upgrade = runApt [Params "-y dist-upgrade"] + `describe` "apt dist-upgrade" type Package = String installed :: [Package] -> Property installed ps = check (isInstallable ps) go + `describe` (unwords $ "apt installed":ps) where go = runApt $ [Param "-y", Param "install"] ++ map Param ps removed :: [Package] -> Property removed ps = check (or <$> isInstalled ps) go + `describe` (unwords $ "apt removed":ps) where go = runApt $ [Param "-y", Param "remove"] ++ map Param ps @@ -95,18 +99,24 @@ isInstalled ps = catMaybes . map parse . lines autoRemove :: Property autoRemove = runApt [Param "-y", Param "autoremove"] + `describe` "apt autoremove" unattendedUpgrades :: Bool -> Property -unattendedUpgrades enabled = installed ["unattended-upgrades"] +unattendedUpgrades enabled = + (if enabled then installed else removed) ["unattended-upgrades"] `onChange` reConfigure "unattended-upgrades" - [("unattended-upgrades/enable_auto_updates" - , "boolean" - , if enabled then "true" else "false")] + [("unattended-upgrades/enable_auto_updates" , "boolean", v)] + `describe` ("unattended upgrades " ++ v) + where + v + | enabled = "true" + | otherwise = "false" {- Preseeds debconf values and reconfigures the package so it takes - effect. -} reConfigure :: Package -> [(String, String, String)] -> Property reConfigure package vals = reconfigure `requires` setselections + `describe` ("reconfigure " ++ package) where setselections = Property "preseed" $ makeChange $ withHandle StdinHandle createProcessSuccess -- cgit v1.2.3