packages feed

hscdio-0.1.0.0: test/Test/Libcdio/Upstream/Foreign/Win32.hs

{-|
Description:    

Copyright:      (c) 2019-2021 Sam May
License:        GPL-3.0-or-later
Maintainer:     ag@eitilt.life

Stability:      experimental
Portability:    portable
-}
module Test.Libcdio.Upstream.Foreign.Win32 (tests) where


import qualified Test.HUnit as U
import Test.HUnit ( (~:) )

import Foreign.Libcdio.Device

import Test.Libcdio.Upstream.Foreign.Common


tests :: U.Test
tests = "Foreign.Libcdio.Test.Win32" ~: U.TestList tests'
  where tests' | haveDriver DriverWin32 =
                  [ find DriverWin32 Nothing $ \(c, s) -> checkSource c [s]
                  , find DriverWin32 (Just Aspi) $ flip checkAccessMode [Aspi] . fst
                  , find DriverWin32 (Just Ioctl_) checkIoctl
                  ]
               | otherwise = []

checkIoctl :: (Cdio, String) -> U.Assertion
checkIoctl (cdio, _) = do
    checkArg ScsiTuple cdio []
    
    checkAccessMode cdio [Ioctl_]
    checkMmc cdio $ Just True