kracht-f02d4280-f0b2
job succeeded
- time taken
- 3 seconds
- started at
- Tue Jun 2 12:17:03 2026
- updated at
- Tue Jun 2 12:17:06 2026
- log uuid
f02d4280-f0b2-4155-8654-3c9ca884551c
inspect the job's lambda expression
(lambda()
`((task . ("maak-test" "maak-deploy"))
(project . "kracht")
(branch-name . "trunk")
(clone-url . "https://codeberg.org/jjba23/kracht.git")
(env . ((VERITAS_REPORTER . monotone-reporter)))))
starting new job...
-> running command: cd "/etc/byggsteg/job-clone//kracht/trunk" && git reset --hard && git pull
HEAD is now at 11c3d67 docs: ????
From https://codeberg.org/jjba23/kracht
11c3d67..e632923 trunk -> origin/trunk
Updating 11c3d67..e632923
Fast-forward
src/kracht/prelude.scm | 146 ++++++++++++++++++++++++++-----------
test/veritas/unit/prelude-spec.scm | 22 ------
2 files changed, 103 insertions(+), 65 deletions(-)
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && uname -a
Linux wolk-jjba 6.18.31-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && git log --name-status HEAD^..HEAD
commit e632923ed17b339778515e5b267163c45e9e620f
Author: Josep Bigorra <jjbigorra@gmail.com>
Date: Tue Jun 2 12:16:44 2026 +0200
docs: ????
M src/kracht/prelude.scm
M test/veritas/unit/prelude-spec.scm
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && maak test
scanning directories for unit tests...
scanning present working directory for unit tests...
found unit tests: (prelude-spec.scm)
running unit tests from file: prelude-spec.scm, entrypoint: spec
warning! could not decode pair (): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (key-only): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (key1): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (key2): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (b): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
------------------------------------------
[suite] Another test suite
[test] Round-trip tests
[assert] Unescape then escape (assuming valid entities)
[pass] expect: <div>'test'</div>, got: <div>'test'</div>
[assert] Escape then unescape
[pass] expect: Hello, it's a "test" with ?????., got: Hello, it's a "test" with ?????.
[assert] Unescape then escape (for chars in alist)
[pass] expect: 'áéíóú", got: 'áéíóú"
[assert] Example sentence
[pass] expect: Ol?, m?ndo! Isto ? um teste., got: Ol?, m?ndo! Isto ? um teste.
[test] html-unescape tests
[assert] Example sentence unescaped
[pass] expect: ?l?, m?ndo! Isto ? um teste., got: ?l?, m?ndo! Isto ? um teste.
[assert] Accented a entity
[pass] expect: ?, got: ?
[assert] C-cedilla entity
[pass] expect: ?, got: ?
[assert] Single apos entity
[pass] expect: ', got: '
[assert] Empty string
[pass] expect: , got:
[assert] String with no entities
[pass] expect: Hello, World!, got: Hello, World!
[assert] Single quot entity
[pass] expect: ", got: "
[assert] Accented A entity
[pass] expect: ?, got: ?
[assert] Mix of entities
[pass] expect: He's a "guy"., got: He's a "guy".
[assert] Multiple entity occurrences
[pass] expect: It's a "quote"., got: It's a "quote".
[test] sha tests
[assert] get-short-commit-sha works as expected
[pass] expect: #t, got: #t
[test] html-escape tests
[assert] String with no special characters
[pass] expect: Hello, World!, got: Hello, World!
[assert] Accented o
[pass] expect: ó, got: ó
[assert] Multiple accents
[pass] expect: Árvore é bonita, got: Árvore é bonita
[assert] Example sentence escaped
[pass] expect: Ólá, múndo! Isto é um teste., got: Ólá, múndo! Isto é um teste.
[assert] N-tilde
[pass] expect: ñ, got: ñ
[assert] String with multiple occurrences
[pass] expect: He said, "It's a beautiful day!", got: He said, "It's a beautiful day!"
[assert] C-cedilla
[pass] expect: ç, got: ç
[assert] Accented u
[pass] expect: ú, got: ú
[assert] Single quote
[pass] expect: ', got: '
[assert] Accented E
[pass] expect: É, got: É
[assert] Accented i
[pass] expect: í, got: í
[assert] Accented O
[pass] expect: Ó, got: Ó
[assert] Mix of quotes
[pass] expect: He's a "guy"., got: He's a "guy".
[assert] Accented U
[pass] expect: Ú, got: Ú
[assert] Accented I
[pass] expect: Í, got: Í
[assert] Empty string
[pass] expect: , got:
[assert] Double quote
[pass] expect: ", got: "
------------------------------------------
[suite] Prelude test suite
[test] non-empty-string? tests
[assert] non-empty-string? with non-empty string
[pass] expect: #t, got: #t
[assert] non-empty-string? with whitespace
[pass] expect: #t, got: #t
[assert] non-empty-string? with #f
[pass] expect: #f, got: #f
[assert] non-empty-string? with empty string
[pass] expect: #f, got: #f
[assert] non-empty-string? with #t
[pass] expect: #t, got: #t
[test] empty-string? tests
[assert] empty-string? with non-empty string
[pass] expect: #f, got: #f
[assert] empty-string? with empty string
[pass] expect: #t, got: #t
[assert] empty-string? with whitespace
[pass] expect: #f, got: #f
[test] string-drop tests
[assert] string-drop-first-last-line empty input
[pass] expect: , got:
[assert] string-drop-first-last-line two lines
[pass] expect: , got:
[assert] string-drop-first-last-line single line
[pass] expect: , got:
[assert] string-drop-first-last-line normal case
[pass] expect: middle line, got: middle line
[assert] string-drop-first-last two chars
[pass] expect: ab, got: ab
[assert] string-drop-first-last single char
[pass] expect: a, got: a
[assert] string-drop-first-last normal case
[pass] expect: ell, got: ell
[assert] string-drop-first-last empty string
[pass] expect: , got:
[test] assoc-ref-or-empty-str tests
[assert] key found - string value
[pass] expect: hello, got: hello
[assert] key is first element
[pass] expect: value, got: value
[assert] empty alist
[pass] expect: , got:
[assert] key not found
[pass] expect: , got:
[assert] key is last element
[pass] expect: value, got: value
[assert] key found - non-string value
[pass] expect: 2, got: 2
[test] alist-from-url-encoded-body
[assert] multiple key-value pairs
[pass] expect: ((name . Jane Doe) (age . 30)), got: ((name . Jane Doe) (age . 30))
[assert] comma character (%2C)
[pass] expect: ((list . a,b,c)), got: ((list . a,b,c))
[assert] colon character (%3A)
[pass] expect: ((protocol . http:)), got: ((protocol . http:))
[assert] semicolon character (%3B)
[pass] expect: ((cookie . id;user)), got: ((cookie . id;user))
[assert] parentheses characters (%28, %29)
[pass] expect: ((func . f(x))), got: ((func . f(x)))
[assert] multiple keys, no equals sign
[pass] expect: ((key1 . ) (key2 . )), got: ((key1 . ) (key2 . ))
[assert] multiple encoded characters in one value
[pass] expect: ((complex . a&b=c?d e)), got: ((complex . a&b=c?d e))
[assert] question mark character (%3F)
[pass] expect: ((query . what?)), got: ((query . what?))
[assert] value with no key (unlikely but possible from split)
[pass] expect: (( . value)), got: (( . value))
[assert] hash/pound sign character (%23)
[pass] expect: ((tag . #important)), got: ((tag . #important))
[assert] single key, no equals sign
[pass] expect: ((key-only . )), got: ((key-only . ))
[assert] duplicate keys
[pass] expect: ((item . apple) (item . orange)), got: ((item . apple) (item . orange))
[assert] unicode characters (e.g., '?' - %C3%A9 in UTF-8)
[pass] expect: ((name . fianc?)), got: ((name . fianc?))
[assert] ampersand character (%26)
[pass] expect: ((data . one&two)), got: ((data . one&two))
[assert] square brackets characters (%5B, %5D)
[pass] expect: ((array . [1,2])), got: ((array . [1,2]))
[assert] mixed valid and malformed pairs
[pass] expect: ((a . 1) (b . ) (c . 3)), got: ((a . 1) (b . ) (c . 3))
[assert] keys and values with special characters (URL-encoded)
[pass] expect: ((param_1 . value with spaces) (param/2 . another_value!)), got: ((param_1 . value with spaces) (param/2 . another_value!))
[assert] key with no value
[pass] expect: ((key . )), got: ((key . ))
[assert] empty key and empty value
[pass] expect: (), got: ()
[assert] dollar sign character (%24)
[pass] expect: ((amount . $100)), got: ((amount . $100))
[assert] curly braces characters (%7B, %7D)
[pass] expect: ((json . {data})), got: ((json . {data}))
[assert] empty body
[pass] expect: (), got: ()
[assert] equals sign character (%3D)
[pass] expect: ((equation . x=y)), got: ((equation . x=y))
[assert] backslash character (%5C)
[pass] expect: ((winpath . C:\Users\)), got: ((winpath . C:\Users\))
[assert] exclamation mark character (%21)
[pass] expect: ((warning . danger!)), got: ((warning . danger!))
[assert] slash character (%2F)
[pass] expect: ((path . /usr/local)), got: ((path . /usr/local))
[assert] at symbol character (%40)
[pass] expect: ((email . test@example.com)), got: ((email . test@example.com))
[assert] plus sign (%2B) - often used for space, but distinct from actual '+'
[pass] expect: ((code . a+b)), got: ((code . a+b))
[assert] single key value pair
[pass] expect: ((name . John Doe)), got: ((name . John Doe))
[assert] space character (%20)
[pass] expect: ((message . hello world)), got: ((message . hello world))
[info] ran 2 tasks in: 0 seconds, 3992 microseconds
finished running tests
;;; note: source file ./test/veritas/unit/prelude-spec.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/kracht/trunk/test/veritas/unit/prelude-spec.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling ./test/veritas/unit/prelude-spec.scm
;;; note: source file ./src/kracht/prelude.scm
;;; newer than compiled /gnu/store/smkg6mdz966lck3p146nsgg9x47589mi-profile/lib/guile/3.0/site-ccache/kracht/prelude.go
;;; note: source file ./src/kracht/prelude.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm.go
;;; compiling ./src/kracht/prelude.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm.go
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/kracht/trunk/test/veritas/unit/prelude-spec.scm.go
--------------------------------------------------------------
Maak: the infinitely extensible command runner
Loading tasks from Maak file: /etc/byggsteg/job-clone/kracht/trunk/maak.scm
Executing Maak tasks: test
--------------------------------------------------------------
=> Running Maak task: test
Run project's tests.
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && sudo maak deploy
API documentation saved to doc/api
;;; note: source file /etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm.go
index.texi: warning: een 'title'-commando en '@top' vereisen een titel
hernoemd './index' -> './doc/api-dist'
'/srv/http/jointhefreeworld.org/api-docs/kracht/API.html' is verwijderd
'/srv/http/jointhefreeworld.org/api-docs/kracht/kracht_005fprelude.html' is verwijderd
map '/srv/http/jointhefreeworld.org/api-docs/kracht' is verwijderd
mkdir: map '/srv/http/jointhefreeworld.org/api-docs/kracht' is aangemaakt
hernoemd 'doc/api-dist/API.html' -> '/srv/http/jointhefreeworld.org/api-docs/kracht/API.html'
hernoemd 'doc/api-dist/kracht_005fprelude.html' -> '/srv/http/jointhefreeworld.org/api-docs/kracht/kracht_005fprelude.html'
'doc/api/index.texi' is verwijderd
map 'doc/api' is verwijderd
map 'doc/api-dist' is verwijderd
map 'doc' is verwijderd
--------------------------------------------------------------
Maak: the infinitely extensible command runner
Loading tasks from Maak file: /etc/byggsteg/job-clone/kracht/trunk/maak.scm
Executing Maak tasks: deploy
--------------------------------------------------------------
=> Running Maak task: deploy
Generate documentation for the project and publish to web directory.