diff options
author | Eduardo Julian | 2019-04-26 21:37:40 -0400 |
---|---|---|
committer | Eduardo Julian | 2019-04-26 21:37:40 -0400 |
commit | 084e3c400410e954b633a07c98f32ecfa62f1ec8 (patch) | |
tree | 724d80a027a8037698068971cd23d00b2042c287 /new-luxc | |
parent | e0b3538721a71f6e8c016b12c8c257b8cebd3981 (diff) |
Ported reference tests.
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/test/program.lux | 30 | ||||
-rw-r--r-- | new-luxc/test/test/luxc/lang/translation/reference.lux | 86 | ||||
-rw-r--r-- | new-luxc/test/tests.lux | 28 |
3 files changed, 20 insertions, 124 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))))) diff --git a/new-luxc/test/test/luxc/lang/translation/reference.lux b/new-luxc/test/test/luxc/lang/translation/reference.lux deleted file mode 100644 index 18205a560..000000000 --- a/new-luxc/test/test/luxc/lang/translation/reference.lux +++ /dev/null @@ -1,86 +0,0 @@ -(.module: - [lux #* - [control - [monad (#+ do)] - pipe] - [data - ["." number]] - [compiler - [default - ["." reference] - [phase - ["." synthesis]]]] - [math - ["r" random (#+ Random)]] - test] - [test - [luxc - ["." common (#+ Runner Definer)]]] - [// - ["&" function]]) - -(def: name - (Random Name) - (let [name-part (r.ascii/upper-alpha 5)] - [(r.and name-part name-part)])) - -(def: (definitions-spec define) - (-> Definer Test) - (do r.Monad<Random> - [name ..name - value &.safe-frac] - (test "Can refer to definitions." - (|> (define name (synthesis.f64 value)) - (&.check value))))) - -(def: (variables-spec run) - (-> Runner Test) - (do r.Monad<Random> - [register (|> r.nat (:: @ map (n/% 100))) - value &.safe-frac] - (test "Can refer to local variables/registers." - (|> (run (synthesis.branch/let [(synthesis.f64 value) - register - (synthesis.variable/local register)])) - (&.check value))))) - -(def: (references-spec run define) - (-> Runner Definer Test) - (seq (definitions-spec define) - (variables-spec run))) - -(context: "[JVM] References." - (<| (times 100) - (references-spec common.run-jvm common.def-jvm))) - -## (context: "[JS] References." -## (<| (times 100) -## (references-spec common.run-js common.def-js))) - -## (context: "[Lua] References." -## (<| (times 100) -## (references-spec common.run-lua common.def-lua))) - -## (context: "[Ruby] References." -## (<| (times 100) -## (references-spec common.run-ruby common.def-ruby))) - -## (context: "[Python] References." -## (<| (times 100) -## (references-spec common.run-python common.def-python))) - -## (context: "[R] References." -## (<| (times 100) -## (references-spec common.run-r common.def-r))) - -## (context: "[Scheme] References." -## (<| (times 100) -## (references-spec common.run-scheme common.def-scheme))) - -## (context: "[Common Lisp] References." -## (<| (times 100) -## (references-spec common.run-common-lisp common.def-common-lisp))) - -## (context: "[PHP] References." -## (<| (times 100) -## (references-spec common.run-php common.def-php))) diff --git a/new-luxc/test/tests.lux b/new-luxc/test/tests.lux deleted file mode 100644 index 04362d4d1..000000000 --- a/new-luxc/test/tests.lux +++ /dev/null @@ -1,28 +0,0 @@ -(.module: - [lux - [cli (#+ program:)] - ["." test]] - [test - [luxc - [lang - [translation - ["_.T" primitive] - ["_.T" structure] - ["_.T" function] - ["_.T" reference] - ["_.T" case] - ["_.T" common] - ## ["_.T" jvm] - ## ["_.T" js] - ## ["_.T" lua] - ## ["_.T" ruby] - ## ["_.T" python] - ## ["_.T" r] - ## ["_.T" scheme] - ## ["_.T" common-lisp] - ## ["_.T" php] - ]]]] - ) - -(program: args - (test.run)) |