luv

Workshop wiki

live-artifact-tests.lisp

luft/render/live-artifact-tests.lisp

system luft/render/test · 12 definitions · on GitHub

in-package#:luft.render.tests
defclassrenderer-live-artifact-probe
build-count:initform0:accessorprobe-build-count
publish-count:initform0:accessorprobe-publish-count
release-count:initform0:accessorprobe-release-count
fail-p:initformnil:accessorprobe-fail-p
fail-release-p:initformnil:accessorprobe-fail-release-p
change-source-p:initformnil:accessorprobe-change-source-p
defmethodrender::build-renderer-live-candidate
incf
probe-build-countartifact
when
probe-change-source-partifact
setf
probe-change-source-partifact
nil
when
probe-fail-partifact
error"deliberate renderer build failure"
render::make-renderer-live-candidate
gensym"RENDERER-CANDIDATE"
defmethodrender::publish-renderer-live-candidate
incf
probe-publish-countartifact
setf
render::renderer-live-candidate-renderercandidate
nil
nil
defmethodrender::release-renderer-live-candidate
declare
ignoreartifact
setf
render::renderer-live-candidate-renderercandidate
nil
nil
defmethodrender::release-renderer-live-resources
incf
probe-release-countartifact
when
probe-fail-release-partifact
error"deliberate renderer retirement failure"
nil
defmethodrender::note-renderer-live-diagnostic
declare
ignoreviewerdiagnostic
error"deliberate diagnostic observer failure"
defunmake-renderer-live-artifact-probe
&optional
viewer
gensym"VIEWER"
make-instance'renderer-live-artifact-probe:viewerviewer:source-valuesnil:source-revision
deftestrenderer-live-artifact-keeps-last-good-and-release-is-terminal
let
setf
render::renderer-live-artifact-force-partifact
t
ok
eq:installed
ok
=1
probe-build-countartifact
ok
=1
probe-publish-countartifact
setf
probe-fail-partifact
t
render::renderer-live-artifact-force-partifact
t
ok
eq:failed
ok
typep'error

Failed source never crosses the publication boundary.

ok
=2
probe-build-countartifact
ok
=1
probe-publish-countartifact
ok
eq:released
ok
=1
probe-release-countartifact
setf
render::renderer-live-artifact-force-partifact
t
ok
=2
probe-build-countartifact
deftestrenderer-live-artifact-release-is-terminal-after-retirement-failure
let
setf
probe-fail-release-partifact
t
ok
signals'error
ok
eq:released
ok
null
render::renderer-live-artifact-viewerartifact
ok
=1
probe-release-countartifact

A reporting failure does not turn release into a repeatable ownership claim over the already-detached native cohort.

ok
=1
probe-release-countartifact
deftestrenderer-publication-ignores-a-secondary-diagnostic-observer-failure
let
setf
render::renderer-live-artifact-force-partifact
t
ok
eq:installed
ok
=1
probe-publish-countartifact
deftestrenderer-live-artifact-discards-a-source-raced-candidate
let
setf
probe-change-source-partifact
t
render::renderer-live-artifact-force-partifact
t
ok
eq:failed
ok
=1
probe-build-countartifact
ok
zerop
probe-publish-countartifact

The newer global revision remains pending and succeeds next boundary.

ok
eq:installed
ok
=2
probe-build-countartifact
ok
=1
probe-publish-countartifact