module Main where import qualified Test.Synthesizer.LLVM.RingBufferForward as RingBufferForward import qualified Test.Synthesizer.LLVM.Helix as Helix import qualified Test.Synthesizer.LLVM.Filter as Filter import qualified Test.Synthesizer.LLVM.Packed as Packed import qualified LLVM.Core as LLVM import Control.Monad.IO.Class (liftIO) import Data.Tuple.HT (mapFst) import qualified Test.DocTest.Driver as DocTest prefix :: String -> [(String, prop)] -> [(String, prop)] prefix msg = map (mapFst (\str -> msg ++ "." ++ str)) main :: IO () main = do LLVM.initializeNativeTarget DocTest.run $ mapM_ (\(name,prop) -> do DocTest.printPrefix (name++": ") DocTest.property =<< liftIO prop) $ prefix "Helix" Helix.tests ++ prefix "RingBufferForward" RingBufferForward.tests ++ prefix "Filter" Filter.tests ++ prefix "Packed" Packed.tests ++ []