diff options
Diffstat (limited to 'new-luxc/source')
-rw-r--r-- | new-luxc/source/test/program.lux | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/new-luxc/source/test/program.lux b/new-luxc/source/test/program.lux index 40eb214c2..687c8ca2a 100644 --- a/new-luxc/source/test/program.lux +++ b/new-luxc/source/test/program.lux @@ -7,13 +7,16 @@ ["." io] [parser [cli (#+ program:)]]] + [data + ["." error]] [math ["r" random]]] [spec - ["." compositor (#+ Runner) + ["." compositor (#+ Runner Definer) [generation ["." primitive] - ["." structure]]]] + ["." structure] + ["." reference]]]] {1 ["." /]} ## [test @@ -21,7 +24,6 @@ ## [lang ## [translation ## ## ["_.T" function] - ## ## ["_.T" reference] ## ## ["_.T" case] ## ## ["_.T" common] ## ## ["_.T" jvm] @@ -36,11 +38,12 @@ ## ]]]] ) -(def: (test runner) - (-> Runner Test) +(def: (test runner definer) + (-> Runner Definer Test) ($_ _.and (primitive.spec runner) (structure.spec runner) + (reference.spec runner definer) )) (program: args @@ -49,8 +52,15 @@ (_.times 100) (do r.monad [_ (wrap []) - #let [platform (io.run /.jvm)]]) - (..test (compositor.runner platform - /.bundle - /.expander - /.program)))) + #let [?runner,definer (io.run (do io.monad + [platform /.jvm] + (compositor.executors platform + /.bundle + /.expander + /.program)))]] + (case ?runner,definer + (#error.Success [runner definer]) + (..test runner definer) + + (#error.Failure error) + (_.fail error))))) |