packages feed

fedora-repoquery-0.3: test/tests.hs

import Data.Maybe (fromMaybe, isNothing, maybeToList)
import Control.Monad (unless)
import SimpleCmd

fdrq :: ([String],Maybe String) -> IO ()
fdrq (args,mpkg) = do
  putStrLn ""
  putStrLn $ "# " ++ unwords args +-+ fromMaybe "" mpkg
  let debug = False
  (ok, out, err) <- cmdFull "fdrq" (["-d" | debug] ++ args ++ maybeToList mpkg) ""
  if null err
    then unless (isNothing mpkg) $ putStrLn "stderr empty"
    else putStrLn err
  if null out
    then unless (isNothing mpkg) $ error' "no output"
    else putStrLn out
  unless ok $ error' "failed"

tests :: [([String],Maybe String)]
tests =
  [(["rawhide"], Nothing)
  ,(["39"], Nothing)
  ,(["38"], Nothing)
  ,(["rawhide"], Just "coreutils")
  ,(["39"], Just "bash")
  ,(["38"], Just "fontconfig")
  ,(["-t", "38"], Just "podman")
  ,(["eln"], Just "ibus")
  ,(["epel9"], Just "ghc")
  ,(["c9"], Just "kernel")
  ,(["c8"], Just "pandoc")
  ]

main :: IO ()
main = do
  mapM_ fdrq tests
  putStrLn $ show (length tests) ++ " tests ran"