2018-03-09 22:32:17 +03:00
|
|
|
{Urbit} = require './runner.ls'
|
|
|
|
|
|
|
|
urbit = new Urbit <[-B urbit.pill -A .. -cFI zod zod]>
|
|
|
|
Promise.resolve urbit
|
|
|
|
.then (urb)->
|
|
|
|
urb.note "Booting urbit"
|
2018-03-09 22:55:07 +03:00
|
|
|
Promise.race [
|
|
|
|
urb.expect-error!then ->
|
|
|
|
urb.warn "Error detected"
|
|
|
|
throw Error "Stack trace while booting"
|
|
|
|
, do
|
|
|
|
<- urb.expect /dojo> / .then
|
|
|
|
<- urb.expect-echo "%dojo-booted" .then
|
|
|
|
urb
|
|
|
|
]
|
2018-03-09 22:32:17 +03:00
|
|
|
.then (urb)->
|
|
|
|
urb.note "Testing compilation"
|
|
|
|
# TODO tally ford stack traces
|
|
|
|
# urb.warn etc
|
|
|
|
<- urb.line "|start %test" .then
|
|
|
|
<- urb.line ":test [%cores /]" .then
|
|
|
|
<- urb.expect-echo "%compilation-tested" .then
|
|
|
|
#if tally => throw # a fit
|
|
|
|
urb
|
|
|
|
.then (urb)->
|
|
|
|
urb.note "Running /===/tests"
|
|
|
|
# TODO tally FAILED and CRASHED
|
|
|
|
<- urb.line "+test, =defer |, =seed `@uvI`(shaz %reproducible)" .then
|
|
|
|
<- urb.expect-echo "%ran-tests" .then
|
|
|
|
#if tally => throw # a fit
|
|
|
|
urb
|
|
|
|
.then ->
|
|
|
|
urbit.exit 0
|
|
|
|
.catch (err)->
|
|
|
|
<- urbit.wait-silent!then # assumptions?
|
2018-03-09 22:55:07 +03:00
|
|
|
urbit.warn "Test aborted:" err
|
2018-03-09 22:32:17 +03:00
|
|
|
urbit.exit 1
|