replace hardcoded tests with submodule to the official testsuit

This commit is contained in:
Ilya Rezvov
2021-03-02 21:46:52 -08:00
parent d36342d626
commit 30a16780fc
79 changed files with 24 additions and 40114 deletions
+8 -3
View File
@@ -12,12 +12,17 @@ import qualified Data.ByteString.Lazy as LBS
import qualified Language.Wasm as Wasm
import qualified Language.Wasm.Script as Script
import qualified Data.List as List
main :: IO ()
main = do
files <- Directory.listDirectory "tests/samples"
files <- filter (List.isSuffixOf ".wast") <$> Directory.listDirectory "tests/spec"
scriptTestCases <- (`mapM` files) $ \file -> do
Right script <- Wasm.parseScript <$> LBS.readFile ("tests/samples/" ++ file)
test <- LBS.readFile ("tests/spec/" ++ file)
return $ testCase file $ do
Script.runScript (\msg assert -> assertFailure ("Failed assert: " ++ msg ++ ". Assert " ++ show assert)) script
case Wasm.parseScript test of
Right script ->
Script.runScript (\msg assert -> assertFailure ("Failed assert: " ++ msg ++ ". Assert " ++ show assert)) script
Left error ->
assertFailure $ "Failed to parse with error: " ++ show error
defaultMain $ testGroup "Wasm Core Test Suit" scriptTestCases