1 Commits

Author SHA1 Message Date
Ilya Rezvov 825a24d59c add reference types test to test suite 2021-04-25 12:24:47 -07:00
2 changed files with 18 additions and 12 deletions
+9 -3
View File
@@ -16,14 +16,20 @@ import qualified Data.List as List
main :: IO () main :: IO ()
main = do main = do
files <- filter (List.isSuffixOf ".wast") <$> Directory.listDirectory "tests/spec" let groups = [
("Core Tests", "tests/spec"),
("Reference Types Proposal", "tests/spec/proposals/reference-types")
]
testGroups <- (`mapM` groups) $ \(groupName, dir) -> do
files <- filter (List.isSuffixOf ".wast") <$> Directory.listDirectory dir
-- let files = ["const.wast"] -- let files = ["const.wast"]
scriptTestCases <- (`mapM` files) $ \file -> do scriptTestCases <- (`mapM` files) $ \file -> do
test <- LBS.readFile ("tests/spec/" ++ file) test <- LBS.readFile (dir ++ "/" ++ file)
return $ testCase file $ do return $ testCase file $ do
case Wasm.parseScript test of case Wasm.parseScript test of
Right script -> Right script ->
Script.runScript (\msg assert -> assertFailure ("Failed assert: " ++ msg ++ ". Assert " ++ show assert)) script Script.runScript (\msg assert -> assertFailure ("Failed assert: " ++ msg ++ ". Assert " ++ show assert)) script
Left error -> Left error ->
assertFailure $ "Failed to parse with error: " ++ show error assertFailure $ "Failed to parse with error: " ++ show error
defaultMain $ testGroup "Wasm Core Test Suit" scriptTestCases return $ testGroup groupName scriptTestCases
defaultMain $ testGroup "Wasm Test Suit" testGroups