improve test runner

This commit is contained in:
Ilya Rezvov
2018-01-22 20:41:58 -08:00
parent 5618f59cc3
commit b517c2bb28
6 changed files with 18 additions and 2915 deletions
+15 -3
View File
@@ -5,13 +5,25 @@ module Main (
import Test.Tasty
import Test.Tasty.HUnit
import qualified System.Directory as Directory
import qualified Data.ByteString.Lazy as LBS
import qualified Language.Wasm.Lexer as Lexer
import qualified Language.Wasm.Parser as Parser
import qualified Debug.Trace as Debug
isRight :: (Show b) => Either a b -> Bool
isRight (Right x) = length (show x) > 0
isRight _ = False
main :: IO ()
main = do
file <- LBS.readFile "tests/samples/switch.wast"
print $ Parser.parseModule <$> Lexer.scanner file
defaultMain $ testGroup "Test Suite" []
files <- Directory.listDirectory "tests/samples"
testCases <- (`mapM` files) $ \file -> do
content <- LBS.readFile $ "tests/samples/" ++ file
let result = Parser.parseModule <$> Lexer.scanner content
return $ testCase ("Parse module from core Test Suit: " ++ file) $
assertBool "Module parsed" $ isRight result
defaultMain $ testGroup "Syntax parsing" testCases