test: khan test cleanup
;;(vase ...) does a nest-check of the type of the kernel. This is
undesirable, so we instead run everything through +slum and cast the
result to +tang.
/= khan-raw /sys/vane/khan
=/ khan-gate (khan-raw ~nul)
|%
-++ test-khan-fyrd-basic
+++ test-khan-fyrd-start-args
=^ results1 khan-gate
%- khan-call :*
khan-gate
%nonexistent (vale.dais ~)
==
=^ results2 khan-gate
- %- khan-call :*
- khan-gate
+ %- khan-call
+ :* khan-gate
now
scry=scry-provides-mark
^= call-args
^= moves-check
|= mev=(list move:khan-gate)
^- tang
+ =/ r0 (expect-eq !>(2) !>((lent mev)))
=/ r1
%+ expect-eq
!> :* ~[//khan/1/0vsome.ductt]
/thread-result/'khan-fyrd--0vsome.ductt'
==
!> (head mev)
- :: XX this is extremely verbose because we do not have
- :: a +expect-eq for recursive vases, and spider takes a
- :: double-nested vase. so we first test that the poke is
- :: correct aside from the vase; then we check that the
- :: outer vase is correct aside from the inner vase; then
- :: we check that the inner vase is correct.
+ :: XX this is somewhat verbose because we do not
+ :: have a +expect-eq for recursive vases, and spider
+ :: takes a double-nested vase. so we first test that
+ :: the poke is correct aside from the vase; then we
+ :: check that the outer vase is correct aside from
+ :: the inner vase; then we check that the inner vase
+ :: is correct.
::
=/ rem (rear mev)
=/ r2
%spider-start ~
==
!> rem(+1023 ~)
- =/ vez=vase ;;(vase +1023:(rear mev))
+ =/ vez=* +1023:(rear mev)
=/ r3
- %+ expect-eq
- !> args(+31 ~)
- !> q.vez(+31 ~)
+ ;; tang
+ %+ slum expect-eq
+ :- !> args(+31 ~)
+ !> +.vez(+31 ~)
=/ r4
- %+ expect-eq
- ;;(vase +31.args)
- ;;(vase +31.q.vez)
+ ;; tang
+ %+ slum expect-eq
+ :- +31.args
+ +31.+.vez
;: weld
+ r0
r1
r2
r3
|= $: khan-gate=_khan-gate
now=@da
scry=roof
- call-args=[=duct dud=(unit goof) wrapped-task=(hobo task:khan)]
- moves-check=$-((list move:khan-gate) tang)
+ $= call-args
+ $: =duct
+ dud=(unit goof)
+ wrapped-task=(hobo task:khan)
+ ==
+ $= moves-check
+ $- (list move:khan-gate) tang
==
^- [tang _khan-gate]
- =/ khan-core (khan-gate now eny=`@uvJ`0xdead.beef scry=scry)
- =^ moves khan-gate (call:khan-core [duct dud wrapped-task]:call-args)
+ =/ khan-core
+ (khan-gate now eny=`@uvJ`0xdead.beef scry=scry)
+ =^ moves khan-gate
+ (call:khan-core [duct dud wrapped-task]:call-args)
=/ output=tang
(moves-check moves)
[output khan-gate]
