shrub/.travis/test.ls

33 lines
993 B
Plaintext
Raw Normal View History

2017-12-01 08:25:19 +03:00
require! \stream-snitch
pty = require \pty.js
urbit =
2017-12-01 08:44:10 +03:00
# TODO abort on failure
pty.spawn 'urbit' <[-B urbit.pill -A .. -cFI zod zod]>
2017-12-01 08:25:19 +03:00
.on \data -> process.stdout.write it
2017-12-02 06:52:35 +03:00
urbit.on \exit (code)->
console.log "\nnode: urbit exited with code #code\n"
process.exit code
console.log "FIXME Running Ubuntu 14.04, which causes a libtinfo version info warning. Should update to 16.04.\n"
2017-12-01 08:52:30 +03:00
fin = no
urbit.pipe (new stream-snitch /dojo> /g).on \match ->
2017-12-01 08:52:30 +03:00
return if fin
fin := yes
console.log "\n\n---\nnode: got dojo!\n---\n\n"
set-timeout (-> process.exit 0), 1000 # should probably test further
2017-12-01 08:25:19 +03:00
2017-12-02 06:20:24 +03:00
urbit.pipe (new stream-snitch /\n(\/~|ford: )/g).on \match ->
2017-12-01 08:52:30 +03:00
return if fin
fin := yes
console.log "\n\n---\nnode: detected error\n---\n\n"
set-timeout (-> process.exit 1), 1000
2017-12-01 08:25:19 +03:00
set-timeout ...
-> console.log "\n\n---\nnode: timed out after 5 min\n---"
5*60000
2017-12-02 06:20:24 +03:00
process.on \exit -> urbit.write '\04' # send EOF to gracefully checkpoint