2019-02-12 02:25:25 +03:00
|
|
|
:: Test the pH of your aquarium. See if it's safe to put in real fish.
|
2019-02-06 05:21:41 +03:00
|
|
|
::
|
|
|
|
:: usage:
|
|
|
|
:: :aqua [%run-test %test-add]
|
|
|
|
::
|
|
|
|
:: TODO:
|
|
|
|
:: - Restore a fleet
|
|
|
|
:: - Compose tests
|
|
|
|
::
|
|
|
|
/- aquarium
|
|
|
|
/+ ph
|
|
|
|
=, aquarium
|
|
|
|
=, ph
|
|
|
|
=> $~ |%
|
2019-03-06 23:22:37 +03:00
|
|
|
+$ move (pair bone card)
|
|
|
|
+$ card
|
2019-02-09 00:34:24 +03:00
|
|
|
$% [%poke wire dock %aqua-events (list aqua-event)]
|
|
|
|
[%peer wire dock path]
|
|
|
|
[%pull wire dock ~]
|
2019-02-06 05:21:41 +03:00
|
|
|
==
|
|
|
|
::
|
2019-03-06 23:22:37 +03:00
|
|
|
+$ state
|
2019-02-06 05:21:41 +03:00
|
|
|
$: %0
|
2019-02-09 00:34:24 +03:00
|
|
|
raw-test-cores=(map term test-core)
|
2019-03-06 23:22:37 +03:00
|
|
|
test-cores=(map term test-core-state)
|
2019-02-06 05:21:41 +03:00
|
|
|
other-state
|
|
|
|
==
|
2019-03-06 23:22:37 +03:00
|
|
|
::
|
|
|
|
+$ test-core-state
|
|
|
|
$: hers=(list ship)
|
|
|
|
cor=test-core
|
|
|
|
effect-log=(list [who=ship ovo=unix-effect])
|
|
|
|
==
|
|
|
|
::
|
|
|
|
+$ other-state
|
2019-02-06 05:21:41 +03:00
|
|
|
$~
|
|
|
|
--
|
|
|
|
=, gall
|
|
|
|
|_ $: hid=bowl
|
|
|
|
state
|
|
|
|
==
|
|
|
|
++ this .
|
2019-02-12 05:46:36 +03:00
|
|
|
++ test-lib ~(. ^test-lib our.hid)
|
2019-02-06 05:21:41 +03:00
|
|
|
++ install-tests
|
|
|
|
^+ this
|
2019-02-09 00:34:24 +03:00
|
|
|
=. raw-test-cores
|
2019-02-12 05:46:36 +03:00
|
|
|
~& jael=.^(noun %j /(scot %p our.hid)/code/(scot %da now.hid)/(scot %p our.hid))
|
|
|
|
=, test-lib
|
2019-02-06 05:21:41 +03:00
|
|
|
%- malt
|
|
|
|
^- (list (pair term test-core))
|
|
|
|
:~
|
2019-02-09 00:34:24 +03:00
|
|
|
:- %add
|
|
|
|
=+ num=5
|
2019-02-13 03:11:19 +03:00
|
|
|
|%
|
2019-02-12 05:46:36 +03:00
|
|
|
++ label %add
|
2019-02-12 02:25:25 +03:00
|
|
|
++ ships ~[~bud]
|
2019-02-06 05:21:41 +03:00
|
|
|
++ start
|
2019-02-12 05:46:36 +03:00
|
|
|
|= now=@da
|
2019-02-12 02:25:25 +03:00
|
|
|
^- (pair (list ph-event) _..start)
|
2019-02-09 00:34:24 +03:00
|
|
|
=. num +(num)
|
2019-02-12 02:25:25 +03:00
|
|
|
:_ ..start
|
|
|
|
%- zing
|
2019-03-06 23:22:37 +03:00
|
|
|
:~ (init ~bud ~)
|
2019-02-12 02:25:25 +03:00
|
|
|
(dojo ~bud "[%test-result (add 2 3)]")
|
|
|
|
==
|
2019-02-06 05:21:41 +03:00
|
|
|
::
|
|
|
|
++ route
|
2019-02-12 05:46:36 +03:00
|
|
|
|= [now=@da who=ship ovo=unix-effect]
|
2019-02-12 02:25:25 +03:00
|
|
|
^- (quip ph-event _..start)
|
2019-02-09 00:34:24 +03:00
|
|
|
~& [%num num]
|
2019-02-12 02:25:25 +03:00
|
|
|
:_ ..start
|
2019-02-08 05:03:46 +03:00
|
|
|
(expect-dojo-output ~bud who ovo "[%test-result 5]")
|
2019-02-06 05:21:41 +03:00
|
|
|
--
|
|
|
|
::
|
2019-02-09 00:34:24 +03:00
|
|
|
:- %hi
|
2019-02-13 03:11:19 +03:00
|
|
|
|%
|
2019-02-12 05:46:36 +03:00
|
|
|
++ label %hi
|
2019-02-12 02:53:23 +03:00
|
|
|
++ ships ~[~bud ~dev]
|
2019-02-06 05:21:41 +03:00
|
|
|
++ start
|
2019-02-12 05:46:36 +03:00
|
|
|
|= now=@da
|
2019-02-12 02:25:25 +03:00
|
|
|
^- (pair (list ph-event) _..start)
|
|
|
|
:_ ..start
|
|
|
|
%- zing
|
2019-03-06 23:22:37 +03:00
|
|
|
:~ (init ~bud ~)
|
|
|
|
(init ~dev ~)
|
2019-02-12 02:25:25 +03:00
|
|
|
(dojo ~bud "|hi ~dev")
|
|
|
|
==
|
2019-02-06 05:21:41 +03:00
|
|
|
::
|
|
|
|
++ route
|
2019-02-12 05:46:36 +03:00
|
|
|
|= [now=@da who=ship ovo=unix-effect]
|
2019-02-12 02:25:25 +03:00
|
|
|
^- (quip ph-event _..start)
|
|
|
|
:_ ..start
|
2019-02-08 05:03:46 +03:00
|
|
|
(expect-dojo-output ~bud who ovo "hi ~dev successful")
|
2019-02-06 05:21:41 +03:00
|
|
|
--
|
2019-02-12 02:25:25 +03:00
|
|
|
::
|
2019-02-12 05:46:36 +03:00
|
|
|
[%headstart-bud (galaxy ~bud)]
|
2019-02-12 02:25:25 +03:00
|
|
|
::
|
2019-02-12 02:53:23 +03:00
|
|
|
:- %composed-child-boot
|
2019-02-12 05:46:36 +03:00
|
|
|
%+ compose-tests (planet ~linnup-torsyx)
|
2019-02-12 02:25:25 +03:00
|
|
|
^- test-core
|
2019-02-13 03:11:19 +03:00
|
|
|
|%
|
2019-02-12 05:46:36 +03:00
|
|
|
++ label %composed-child-boot
|
2019-02-12 02:53:23 +03:00
|
|
|
++ ships ~
|
2019-02-12 02:25:25 +03:00
|
|
|
++ start
|
2019-02-12 05:46:36 +03:00
|
|
|
|= now=@da
|
2019-02-12 02:53:23 +03:00
|
|
|
[(dojo ~linnup-torsyx "|hi ~bud") ..start]
|
2019-02-12 02:25:25 +03:00
|
|
|
::
|
|
|
|
++ route
|
2019-02-12 05:46:36 +03:00
|
|
|
|= [now=@da who=ship ovo=unix-effect]
|
2019-02-12 02:25:25 +03:00
|
|
|
^- (quip ph-event _..start)
|
|
|
|
:_ ..start
|
2019-02-12 02:53:23 +03:00
|
|
|
%- on-dojo-output
|
|
|
|
:^ ~linnup-torsyx who ovo
|
|
|
|
:- "hi ~bud successful"
|
|
|
|
|= ~
|
|
|
|
[%test-done &]~
|
2019-02-12 02:25:25 +03:00
|
|
|
--
|
2019-02-12 05:46:36 +03:00
|
|
|
::
|
|
|
|
:- %composed-child-boot-2
|
2019-02-12 22:26:48 +03:00
|
|
|
%+ compose-tests
|
|
|
|
%+ compose-tests (planet ~mitnep-todsut)
|
|
|
|
(planet ~haplun-todtus)
|
2019-02-12 05:46:36 +03:00
|
|
|
^- test-core
|
2019-02-13 03:11:19 +03:00
|
|
|
|%
|
2019-02-12 05:46:36 +03:00
|
|
|
++ label %composed-child-boot-2
|
|
|
|
++ ships ~
|
|
|
|
++ start
|
|
|
|
|= now=@da
|
|
|
|
[(dojo ~haplun-todtus "|hi ~bud") ..start]
|
|
|
|
::
|
|
|
|
++ route
|
|
|
|
|= [now=@da who=ship ovo=unix-effect]
|
|
|
|
^- (quip ph-event _..start)
|
|
|
|
:_ ..start
|
|
|
|
%- on-dojo-output
|
|
|
|
:^ ~haplun-todtus who ovo
|
|
|
|
:- "hi ~bud successful"
|
|
|
|
|= ~
|
|
|
|
[%test-done &]~
|
|
|
|
--
|
2019-02-09 02:21:40 +03:00
|
|
|
::
|
2019-02-15 04:18:04 +03:00
|
|
|
:- %change-file
|
|
|
|
%+ compose-tests (galaxy ~bud)
|
2019-02-23 02:52:18 +03:00
|
|
|
(touch-file ~bud %home)
|
2019-02-16 12:24:37 +03:00
|
|
|
::
|
|
|
|
:- %child-sync
|
|
|
|
%+ compose-tests
|
2019-02-23 02:52:18 +03:00
|
|
|
%+ compose-tests
|
|
|
|
(star ~marbud)
|
|
|
|
(touch-file ~bud %base)
|
|
|
|
(check-file-touched ~marbud %home)
|
2019-03-06 23:22:37 +03:00
|
|
|
::
|
|
|
|
:- %boot-azimuth
|
|
|
|
%+ compose-tests
|
|
|
|
%+ compose-tests
|
|
|
|
(raw-ship ~bud `(dawn:azimuth ~bud))
|
|
|
|
(touch-file ~bud %home)
|
|
|
|
:: %- assert-happens
|
|
|
|
:: :~
|
|
|
|
:: ==
|
|
|
|
*test-core
|
2019-02-09 00:34:24 +03:00
|
|
|
::
|
|
|
|
:- %individual-breach
|
|
|
|
*test-core
|
|
|
|
::
|
|
|
|
:: (init ~zod)
|
|
|
|
:: (init ~marzod)
|
|
|
|
:: wait for sync to finish
|
|
|
|
:: cycle ~zod keys
|
|
|
|
:: verify it sunk
|
|
|
|
:: kill ~zod
|
|
|
|
:: (init ~zod) w/new keys
|
|
|
|
:: change file on ~zod
|
|
|
|
:: wait for sync to finish
|
2019-02-09 02:21:40 +03:00
|
|
|
:: verify file has changed on ~marzod
|
2019-02-09 00:34:24 +03:00
|
|
|
::
|
2019-02-06 05:21:41 +03:00
|
|
|
==
|
|
|
|
this
|
|
|
|
::
|
|
|
|
++ prep
|
|
|
|
|= old=(unit [@ tests=* rest=*])
|
2019-02-09 00:34:24 +03:00
|
|
|
^- (quip move _this)
|
2019-02-06 05:21:41 +03:00
|
|
|
=. this install-tests
|
|
|
|
?~ old
|
|
|
|
`this
|
|
|
|
=/ new ((soft other-state) rest.u.old)
|
|
|
|
?~ new
|
|
|
|
`this
|
2019-02-09 00:34:24 +03:00
|
|
|
`this(+<+>+> u.new)
|
2019-02-06 05:21:41 +03:00
|
|
|
::
|
|
|
|
++ run-events
|
2019-02-09 00:34:24 +03:00
|
|
|
|= [lab=term what=(list ph-event)]
|
|
|
|
^- (quip move _this)
|
2019-02-06 05:21:41 +03:00
|
|
|
?: =(~ what)
|
|
|
|
`this
|
|
|
|
=/ res
|
|
|
|
|- ^- (each (list aqua-event) $~)
|
|
|
|
?~ what
|
|
|
|
[%& ~]
|
|
|
|
?: ?=(%test-done -.i.what)
|
|
|
|
~& ?~(p.i.what "test successful" "test failed")
|
|
|
|
[%| ~]
|
|
|
|
=/ nex $(what t.what)
|
|
|
|
?: ?=(%| -.nex)
|
|
|
|
nex
|
|
|
|
[%& `aqua-event`i.what p.nex]
|
|
|
|
?: ?=(%| -.res)
|
2019-02-09 00:34:24 +03:00
|
|
|
(cancel-test lab)
|
2019-02-06 05:21:41 +03:00
|
|
|
[[ost.hid %poke /running [our.hid %aqua] %aqua-events p.res]~ this]
|
|
|
|
::
|
2019-02-09 00:34:24 +03:00
|
|
|
:: Cancel subscriptions to ships
|
|
|
|
::
|
|
|
|
++ cancel-test
|
|
|
|
|= lab=term
|
|
|
|
^- (quip move _this)
|
|
|
|
=/ test (~(get by test-cores) lab)
|
|
|
|
?~ test
|
|
|
|
`this
|
|
|
|
=. test-cores (~(del by test-cores) lab)
|
|
|
|
:_ this
|
|
|
|
%- zing
|
|
|
|
%+ turn hers.u.test
|
|
|
|
|= her=ship
|
|
|
|
^- (list move)
|
|
|
|
:~ [ost.hid %pull /[lab]/(scot %p her) [our.hid %aqua] ~]
|
|
|
|
:* ost.hid
|
|
|
|
%poke
|
|
|
|
/cancelling
|
|
|
|
[our.hid %aqua]
|
|
|
|
%aqua-events
|
|
|
|
[%pause-events her]~
|
|
|
|
==
|
|
|
|
==
|
|
|
|
::
|
2019-02-06 05:21:41 +03:00
|
|
|
:: Should check whether we're already subscribed
|
|
|
|
::
|
|
|
|
++ subscribe-to-effects
|
|
|
|
|= [lab=@tas hers=(list ship)]
|
|
|
|
:_ this
|
|
|
|
%+ turn hers
|
|
|
|
|= her=ship
|
|
|
|
^- move
|
|
|
|
:* ost.hid
|
|
|
|
%peer
|
|
|
|
/[lab]/(scot %p her)
|
|
|
|
[our.hid %aqua]
|
|
|
|
/effects/(scot %p her)
|
|
|
|
==
|
|
|
|
::
|
|
|
|
++ poke-noun
|
|
|
|
|= arg=*
|
2019-02-08 05:03:46 +03:00
|
|
|
~& %herm
|
2019-02-06 05:21:41 +03:00
|
|
|
^- (quip move _this)
|
|
|
|
?+ arg ~|(%bad-noun-arg !!)
|
|
|
|
[%run-test lab=@tas]
|
2019-02-12 02:25:25 +03:00
|
|
|
=/ res=[events=(list ph-event) new-state=test-core]
|
2019-02-12 05:46:36 +03:00
|
|
|
(start:(~(got by raw-test-cores) lab.arg) now.hid)
|
2019-03-06 23:22:37 +03:00
|
|
|
=. test-cores (~(put by test-cores) lab.arg [ships . ~]:new-state.res)
|
2019-02-12 02:25:25 +03:00
|
|
|
=^ moves-1 this (subscribe-to-effects lab.arg ships.new-state.res)
|
2019-02-09 00:34:24 +03:00
|
|
|
=^ moves-2 this (run-events lab.arg events.res)
|
2019-02-06 05:21:41 +03:00
|
|
|
[(weld moves-1 moves-2) this]
|
2019-03-06 23:22:37 +03:00
|
|
|
::
|
|
|
|
[%print lab=@tas]
|
|
|
|
=/ log effect-log:(~(got by test-cores) lab.arg)
|
|
|
|
~& lent=(lent log)
|
|
|
|
~& %+ roll log
|
|
|
|
|= [[who=ship ovo=unix-effect] ~]
|
|
|
|
?: ?=(?(%blit %doze) -.q.ovo)
|
|
|
|
~
|
|
|
|
?: ?=(%ergo -.q.ovo)
|
|
|
|
~& [who [- +<]:ovo %omitted-by-ph]
|
|
|
|
~
|
|
|
|
~& [who ovo]
|
|
|
|
~
|
|
|
|
`this
|
2019-02-06 05:21:41 +03:00
|
|
|
==
|
|
|
|
::
|
2019-02-08 05:03:46 +03:00
|
|
|
++ diff-aqua-effects
|
|
|
|
|= [way=wire ova=aqua-effects]
|
2019-02-06 05:21:41 +03:00
|
|
|
^- (quip move _this)
|
2019-02-08 05:03:46 +03:00
|
|
|
:: ~& [%diff-aqua-effect way who.ova]
|
2019-02-09 00:34:24 +03:00
|
|
|
?> ?=([@tas @ ~] way)
|
2019-02-06 05:21:41 +03:00
|
|
|
=/ lab i.way
|
2019-02-12 00:42:54 +03:00
|
|
|
=/ test-cor (~(get by test-cores) lab)
|
|
|
|
?~ test-cor
|
|
|
|
~& [%ph-dropping lab]
|
|
|
|
`this
|
2019-02-12 02:25:25 +03:00
|
|
|
=^ events u.test-cor
|
|
|
|
|- ^- (quip ph-event _u.test-cor)
|
|
|
|
?~ ovo.ova
|
|
|
|
[~ u.test-cor]
|
2019-03-06 23:22:37 +03:00
|
|
|
=. effect-log.u.test-cor
|
|
|
|
[[who i.ovo]:ova effect-log.u.test-cor]
|
2019-02-12 02:25:25 +03:00
|
|
|
=^ events-1 cor.u.test-cor
|
2019-02-12 05:46:36 +03:00
|
|
|
(route:cor.u.test-cor now.hid who.ova i.ovo.ova)
|
2019-02-12 02:25:25 +03:00
|
|
|
=^ events-2 u.test-cor
|
|
|
|
$(ovo.ova t.ovo.ova)
|
|
|
|
[(weld events-1 events-2) u.test-cor]
|
|
|
|
=. test-cores (~(put by test-cores) lab u.test-cor)
|
|
|
|
(run-events lab events)
|
2019-02-06 05:21:41 +03:00
|
|
|
--
|