Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m3s
event/backend/log/kv/api over one injected backend protocol (mem default). log: append/read/read-from, sequential per-stream seq, stream isolation. kv: get/put/delete/has?/keys/get-or/update. conformance.sh + 3 suites, 28/28. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
87 lines
1.9 KiB
Plaintext
87 lines
1.9 KiB
Plaintext
; Phase 1 — kv facet: get/put/delete/has?/keys, get-or, update.
|
|
|
|
(persist-test "absent key reads nil" (persist/kv-get (persist/open) "x") nil)
|
|
(persist-test
|
|
"has? false when absent"
|
|
(persist/kv-has? (persist/open) "x")
|
|
false)
|
|
(persist-test
|
|
"put then get"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin (persist/kv-put b "x" 7) (persist/kv-get b "x")))
|
|
7)
|
|
(persist-test
|
|
"put returns value"
|
|
(let ((b (persist/open))) (persist/kv-put b "x" 9))
|
|
9)
|
|
(persist-test
|
|
"has? true after put"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin (persist/kv-put b "x" 1) (persist/kv-has? b "x")))
|
|
true)
|
|
(persist-test
|
|
"put overwrites"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin
|
|
(persist/kv-put b "x" 1)
|
|
(persist/kv-put b "x" 2)
|
|
(persist/kv-get b "x")))
|
|
2)
|
|
(persist-test
|
|
"delete removes key"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin
|
|
(persist/kv-put b "x" 1)
|
|
(persist/kv-delete b "x")
|
|
(persist/kv-has? b "x")))
|
|
false)
|
|
(persist-test
|
|
"delete then get is nil"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin
|
|
(persist/kv-put b "x" 1)
|
|
(persist/kv-delete b "x")
|
|
(persist/kv-get b "x")))
|
|
nil)
|
|
(persist-test
|
|
"keys lists stored keys"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin
|
|
(persist/kv-put b "a" 1)
|
|
(persist/kv-put b "b" 2)
|
|
(len (persist/kv-keys b))))
|
|
2)
|
|
(persist-test
|
|
"get-or returns default when absent"
|
|
(persist/kv-get-or (persist/open) "x" 99)
|
|
99)
|
|
(persist-test
|
|
"get-or returns value when present"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin
|
|
(persist/kv-put b "x" 5)
|
|
(persist/kv-get-or b "x" 99)))
|
|
5)
|
|
(persist-test
|
|
"kv-update applies fn over default"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin
|
|
(persist/kv-update b "n" 0 (fn (v) (+ v 1)))
|
|
(persist/kv-update b "n" 0 (fn (v) (+ v 1)))
|
|
(persist/kv-get b "n")))
|
|
2)
|
|
(persist-test
|
|
"kv facet does not touch log"
|
|
(let
|
|
((b (persist/open)))
|
|
(begin (persist/kv-put b "x" 1) (persist/count b "x")))
|
|
0)
|