From 825a24d59cfa84b9b08afcda420d361f71e617f3 Mon Sep 17 00:00:00 2001 From: Ilya Rezvov Date: Sun, 25 Apr 2021 12:24:47 -0700 Subject: [PATCH] add reference types test to test suite --- tests/Test.hs | 28 +++++++++++++++++----------- tests/spec | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/tests/Test.hs b/tests/Test.hs index 7cccffe..940c4c6 100644 --- a/tests/Test.hs +++ b/tests/Test.hs @@ -16,14 +16,20 @@ import qualified Data.List as List main :: IO () main = do - files <- filter (List.isSuffixOf ".wast") <$> Directory.listDirectory "tests/spec" - -- let files = ["const.wast"] - scriptTestCases <- (`mapM` files) $ \file -> do - test <- LBS.readFile ("tests/spec/" ++ file) - return $ testCase file $ do - 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 + 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"] + scriptTestCases <- (`mapM` files) $ \file -> do + test <- LBS.readFile (dir ++ "/" ++ file) + return $ testCase file $ do + 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 + return $ testGroup groupName scriptTestCases + defaultMain $ testGroup "Wasm Test Suit" testGroups diff --git a/tests/spec b/tests/spec index 9994915..01efde8 160000 --- a/tests/spec +++ b/tests/spec @@ -1 +1 @@ -Subproject commit 9994915e0cca8b42a16c577e4c85491822367dde +Subproject commit 01efde81028c5b0d099eb836645a2dc5e7755449