module Main (main) where import Codec.Compression.Lzo import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BSL import Test.Tasty import Test.Tasty.HUnit testRoundtripFrames :: FilePath -> TestTree testRoundtripFrames fp = testCase ("Roundtrip " ++ fp) $ do contents <- BSL.readFile fp let actual = decompressFile (compressFile contents) actual @?= contents main :: IO () main = defaultMain $ testGroup "lzo" [testFrames] where testFrames = testGroup "Frame compression" $ testRoundtripFrames <$> [ "cbits/minilzo.c" , "cbits/lzodefs.h" ]