diff options
Diffstat (limited to 'stdlib/source/program/aedifex/command/test.lux')
-rw-r--r-- | stdlib/source/program/aedifex/command/test.lux | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/stdlib/source/program/aedifex/command/test.lux b/stdlib/source/program/aedifex/command/test.lux index 3df3e0724..e6d36bfd8 100644 --- a/stdlib/source/program/aedifex/command/test.lux +++ b/stdlib/source/program/aedifex/command/test.lux @@ -4,8 +4,12 @@ [abstract [monad {"+" do}]] [control + [try {"+" Try}] [concurrency ["[0]" async {"+" Async} ("[1]#[0]" monad)]]] + [data + [collection + ["[0]" dictionary]]] [macro ["^" pattern]] [math @@ -41,32 +45,34 @@ (has ///.#program (the ///.#test profile) profile))] (if (i.= shell.normal build_exit) (do ! - [_ (console.write_line ..start console) + [_ (is (Async (Try Any)) + (console.write_line ..start console)) .let [host_dependencies (//build.host_dependencies fs home resolution) - [test_command test_parameters] (case compiler - {//build.#JVM dependency} - (|> program - (///runtime.for (the ///.#java profile)) - (//build.with_jvm_class_path host_dependencies)) + [command_environment test_command test_parameters] (case compiler + {//build.#JVM dependency} + (|> program + (///runtime.for (the ///.#java profile)) + (//build.with_jvm_class_path host_dependencies)) - (^.template [<tag> <runtime>] - [{<tag> artifact} - (///runtime.for (the <runtime> profile) - program)]) - ([//build.#JS ///.#js] - [//build.#Python ///.#python] - [//build.#Lua ///.#lua] - [//build.#Ruby ///.#ruby]))] - process (# shell execute [environment + (^.template [<tag> <runtime>] + [{<tag> artifact} + (///runtime.for (the <runtime> profile) + program)]) + ([//build.#JS ///.#js] + [//build.#Python ///.#python] + [//build.#Lua ///.#lua] + [//build.#Ruby ///.#ruby]))] + process (# shell execute [(dictionary.composite command_environment environment) working_directory test_command test_parameters]) _ (//build.log_output! console process) _ (//build.log_error! console process) exit (# process await []) - _ (console.write_line (if (i.= shell.normal exit) - ..success - ..failure) - console)] + _ (is (Async (Try Any)) + (console.write_line (if (i.= shell.normal exit) + ..success + ..failure) + console))] (in [exit []])) (in [build_exit []]))))) |