test: report and continue on build failures

This commit is contained in:
Joe Bryan 2021-02-19 17:54:27 -08:00
parent 6ae9631c7a
commit 9c9f0d68c4
3 changed files with 28 additions and 14 deletions

View File

@ -442,19 +442,19 @@
;< ~ bind:m (send-request (hiss-to-request:html hiss)) ;< ~ bind:m (send-request (hiss-to-request:html hiss))
take-maybe-sigh take-maybe-sigh
:: ::
:: +build-fail: build the source file at the specified $beam :: +build-file: build the source file at the specified $beam
:: ::
++ build-file ++ build-file
|= [[=ship =desk =case] =spur] |= [[=ship =desk =case] =spur]
=* arg +< =* arg +<
=/ m (strand ,vase) =/ m (strand ,(unit vase))
^- form:m ^- form:m
;< =riot:clay bind:m ;< =riot:clay bind:m
(warp ship desk ~ %sing %a case spur) (warp ship desk ~ %sing %a case spur)
?~ riot ?~ riot
(strand-fail %build-file >arg< ~) (pure:m ~)
?> =(%vase p.r.u.riot) ?> =(%vase p.r.u.riot)
(pure:m !<(vase q.r.u.riot)) (pure:m (some !<(vase q.r.u.riot)))
:: +build-mark: build a mark definition to a $dais :: +build-mark: build a mark definition to a $dais
:: ::
++ build-mark ++ build-mark

View File

@ -6,6 +6,9 @@
=/ m (strand ,vase) =/ m (strand ,vase)
^- form:m ^- form:m
=+ !<([~ pax=path] arg) =+ !<([~ pax=path] arg)
?^ bem=(de-beam pax) ?~ bem=(de-beam pax)
(build-file:strandio u.bem) (strand-fail:strand %path-not-beam >pax< ~)
(strand-fail:strand %path-not-beam >pax< ~) ;< vax=(unit vase) bind:m (build-file:strandio u.bem)
?^ vax
(pure:m u.vax)
(strand-fail:strand %build-file >u.bem< ~)

View File

@ -92,8 +92,12 @@
?. =(%hoon (rear p)) ~ ?. =(%hoon (rear p)) ~
(some [[-.i.bez p] ~]) (some [[-.i.bez p] ~])
loop(bez t.bez, fiz (~(gas in fiz) foz)) loop(bez t.bez, fiz (~(gas in fiz) foz))
~| bad-test-beam+i.bez ::
=/ tex=term =-(?>(((sane %tas) -) -) (rear s.i.bez)) :: XX this logic appears to be vestigial
::
=/ tex=term
~| bad-test-beam+i.bez
=-(?>(((sane %tas) -) -) (rear s.i.bez))
=/ xup=path (snip s.i.bez) =/ xup=path (snip s.i.bez)
;< hov=? bind:m (check-for-file:strandio i.bez(s (snoc xup %hoon))) ;< hov=? bind:m (check-for-file:strandio i.bez(s (snoc xup %hoon)))
?. hov ?. hov
@ -107,16 +111,23 @@
=/ paz=(list path) =/ paz=(list path)
(tail !<([~ (list path)] arg)) (tail !<([~ (list path)] arg))
=/ bez=(list beam) =/ bez=(list beam)
(turn paz |=(p=path (need (de-beam p)))) (turn paz |=(p=path ~|([%test-not-beam p] (need (de-beam p)))))
;< fiz=(set [=beam test=(unit term)]) bind:m (find-test-files bez) ;< fiz=(set [=beam test=(unit term)]) bind:m (find-test-files bez)
=> .(fiz (sort ~(tap in fiz) aor)) => .(fiz (sort ~(tap in fiz) aor))
=| test-arms=(map path (list test-arm)) =| test-arms=(map path (list test-arm))
=| build-ok=?
|- ^- form:m |- ^- form:m
=* gather-tests $ =* gather-tests $
?^ fiz ?^ fiz
~> %slog.0^leaf+"test: building {(spud s.beam.i.fiz)}" ;< cor=(unit vase) bind:m (build-file:strandio beam.i.fiz)
;< cor=vase bind:m (build-file:strandio beam.i.fiz) ?~ cor
=/ arms=(list test-arm) (get-test-arms cor) ~> %slog.0^leaf+"FAILED {(spud s.beam.i.fiz)} (build)"
gather-tests(fiz t.fiz, build-ok |)
~> %slog.0^leaf+"built {(spud s.beam.i.fiz)}"
=/ arms=(list test-arm) (get-test-arms u.cor)
::
:: XX this logic appears to be vestigial
::
=? arms ?=(^ test.i.fiz) =? arms ?=(^ test.i.fiz)
|- ^+ arms |- ^+ arms
?~ arms ~|(no-test-arm+i.fiz !!) ?~ arms ~|(no-test-arm+i.fiz !!)
@ -127,7 +138,7 @@
gather-tests(fiz t.fiz) gather-tests(fiz t.fiz)
%- pure:m !> ^= ok %- pure:m !> ^= ok
%+ roll (resolve-test-paths test-arms) %+ roll (resolve-test-paths test-arms)
|= [[=path =test-func] ok=_`?`%&] |= [[=path =test-func] ok=_build-ok]
^+ ok ^+ ok
=/ res (run-test path test-func) =/ res (run-test path test-func)
%- (slog (flop tang.res)) %- (slog (flop tang.res))