hackport-0.7.3.0: tests/resolveCat/Main.hs
import qualified Distribution.Package as Cabal
import qualified Portage.Overlay as Portage
import qualified Portage.Resolve as Portage
import qualified Portage.PackageId as Portage
import qualified Portage.Host as Portage
import Test.HUnit
tests :: Test
tests = TestList [ TestLabel "resolve cabal" (test_resolveCategory "dev-haskell" "cabal")
, TestLabel "resolve ghc" (test_resolveCategory "dev-lang" "ghc")
, TestLabel "resolve Cabal" (test_resolveCategory "dev-haskell" "Cabal")
, TestLabel "resolve DaRcS" (test_resolveCategory "dev-vcs" "DaRcS")
]
test_resolveCategory :: String -> String -> Test
test_resolveCategory cat pkg = TestCase $ do
portage_dir <- Portage.portage_dir `fmap` Portage.getInfo
portage <- Portage.loadLazy portage_dir
let cabal = Cabal.mkPackageName pkg
hits = Portage.resolveFullPortageName portage cabal
expected = Just (Portage.PackageName (Portage.Category cat) (Portage.normalizeCabalPackageName cabal))
assertEqual ("expecting to find package " ++ pkg) expected hits
main :: IO ()
main = runTestTTAndExit tests