improve test runner
This commit is contained in:
+15
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user