superfuck

This commit is contained in:
2026-09-05 20:22:07 -06:00
parent 1ec3d35282
commit 31c610db34
9 changed files with 253 additions and 133 deletions
+7 -4
View File
@@ -56,12 +56,15 @@ test_eval :: IO TestTree
test_eval = do
cs <- listDirectory "golden/exec"
<&> fmap ("golden/exec" </>)
pure $ testGroup "cps interpreter" $ cpsCase <$> cs
pure $ testGroup "cps interpreter"
[ testGroup "higher-order" $ cpsCase Driver.eval_cps2_e2e <$> cs
, testGroup "first-order" $ cpsCase Driver.eval_cps_e2e <$> cs
]
maybeBroken name broken = applyWhen (name `elem` broken) expectFail
cpsCase :: FilePath -> TestTree
cpsCase test =
cpsCase :: (FilePath -> IO Text) -> FilePath -> TestTree
cpsCase f test =
maybeBroken testName brokenEvalTests $
goldenVsAction testName resultFile action printProcResult
where
@@ -69,7 +72,7 @@ cpsCase test =
resultFile = test </> "exec"
sourceFile = test </> "source.scm"
action = catch @SomeException
(do r <- Driver.eval_cps_e2e sourceFile
(do r <- f sourceFile
pure $!! ( ExitSuccess
, r
, "" ))