veritas-21a60fc1-0313

job succeeded

time taken
12 seconds
started at
Wed Oct 14 20:26:13 2026
updated at
Wed Oct 14 20:26:25 2026
log uuid
21a60fc1-0313-44c4-94d6-c29f0d2be920
inspect the job's lambda expression
(lambda()
  `((task . ("maak-test" "maak-deploy"))
    (project . "veritas")
    (branch-name . "trunk")
    (clone-url . "https://codeberg.org/jjba23/veritas.git")
    (env . ((VERITAS_RUN_BENCHMARKS . false)))))
starting new job...


→ running command: cd "/etc/byggsteg/job-clone//veritas/trunk" && git reset --hard && git pull

HEAD is now at f10c5b8 ci: Improve runner details
From https://codeberg.org/jjba23/veritas
   f10c5b8..201b263  trunk      -> origin/trunk
 * [new tag]         v0.7.2     -> v0.7.2
Updating f10c5b8..201b263
Fast-forward
 .woodpecker/byggsteg.yaml | 3 ++-
 src/veritas/mock.scm      | 2 +-
 src/veritas/runner.scm    | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

→ running command: cd /etc/byggsteg/job-clone/veritas/trunk && uname -a

Linux wolk-jjba 7.1.5-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux

→ running command: cd /etc/byggsteg/job-clone/veritas/trunk && git log --name-status HEAD^..HEAD

commit 201b26389ae0741df249b9dde2338a33153e0ab7
Author: Josep Bigorra <jjbigorra@gmail.com>
Date:   Wed Oct 14 20:25:49 2026 +0200

    fix: Docstrings and TexInfo

M       .woodpecker/byggsteg.yaml
M       src/veritas/mock.scm
M       src/veritas/runner.scm

→ running command: cd /etc/byggsteg/job-clone/veritas/trunk && maak test

removed 'reports/lcov/coverage-1792002064-169503.info'
removed 'reports/lcov/coverage-1792002064-879124.info'

scanning directories for unit tests...
scanning present working directory for unit tests...

shuffled the files with seed 986942590 (replay with VERITAS_SEED=986942590)

found unit tests: (generator/bounds.scm introduction.scm mock.scm bdd.scm matchers.scm simple.scm lists.scm jobs.scm timeout.scm snapshot.scm rerun.scm nesting.scm table.scm numeric/a/num.scm assertions.scm cli.scm shuffle.scm partition.scm container.scm generator/simple.scm)


running unit tests from file: generator/bounds.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] integer generators
  [🧪 test] the same seed yields the same value
    ✅ got: 2
  [🧪 test] generate-integer default bound is respected
    ✅ got: #t
  [🧪 test] generate-integer respects its bound
    ✅ got: #t
+----------------------------------------------+
[📑 suite] collection generators
  [🧪 test] generate-string yields printable strings
    ✅ got: #t
  [🧪 test] generate-string respects min and max length
    ✅ got: #t
  [🧪 test] generate-symbol respects min and max length
    ✅ got: #t
  [🧪 test] generate-list respects min and max length
    ✅ got: #t
+----------------------------------------------+
[📑 suite] character generators
  [🧪 test] generate-char yields printable ASCII
    ✅ got: #t
ℹ️ info - ran 3 tasks in: 0 seconds, 12051 microseconds

running unit tests from file: introduction.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] Getting Started with Assertions
  [🧪 test] Basic String and Predicate Tests
    [⚙️ assert] 10 should be greater than 5
    ✅ got: #t
    [⚙️ assert] Greeting should contain the provided name
    ✅ got: #t
    [⚙️ assert] Greeting should be personalized
    ✅ got: Hello, Veritas!
    [⚙️ assert] String comparison should be case-sensitive
    ✅ got: #f
+----------------------------------------------+
[📑 suite] Testing Logic and List Operations
  [🧪 test] List Summation
    [⚙️ assert] Sum of elements 1 through 5 should be 15
    ✅ got: 15
    [⚙️ assert] Sum of an empty list should be 0
    ✅ got: 0
  [🧪 test] Number Classification Logic
    [⚙️ assert] 99 should be classified as positive
    ✅ got: positive
    [⚙️ assert] -1 should be classified as negative
    ✅ got: negative
    [⚙️ assert] 0 should be classified as zero
    ✅ got: zero
+----------------------------------------------+
[📑 suite] Error and Exception Handling
  [🧪 test] Valid summation should not throw an error
    [⚙️ assert] Should not fail with a valid list of numbers
    ✅ success running without errors
  [🧪 test] Summing a list with non-numeric elements
    [⚙️ assert] Should fail when list contains non-numbers
    ✅ success catching error: wrong-type-arg: (+ Wrong type argument in position ~A: ~S (2 a) (a))
+----------------------------------------------+
[📑 suite] Lifecycle hooks bracket their assertions
  [🧪 test] a #:before hook prepares state its own cases can see
    [⚙️ assert] #:before has already run
    ✅ got: (suite-before-all test-before)
  [🧪 test] the #:after of the test before it already ran
    ✅ got: (suite-before-all test-before test-after)
+----------------------------------------------+
[📑 suite] Advanced Veritas Features
ℹ️ info - TRANSIRE RUBICONEM
ℹ️ info - ALEA IACTA EST
  [🧪 test] A test with a complex computation block
ℹ️ info - before test runs
ℹ️ info - after test runs
    [⚙️ assert] Complex computation inside an assertion
    ✅ got: 144
  [🧪 test] Addition ValidationInitializing...
    ✅ got: 4
+----------------------------------------------+
[🚄 benchmark]
Computation of the factorial of 10000


[🏃 run #0]
%     cumulative   self             
time   seconds     seconds  procedure
 66.67      0.08      0.08  override/fibers/events-impl.scm:81:0:pump-epoll-guardian
 33.33    301.77      0.04  veritas/unit/introduction.scm:184:0:factorial
  0.00      0.12      0.00  veritas/veritas.scm:567:93
  0.00      0.08      0.00  %after-gc-thunk
  0.00      0.08      0.00  anon #x3f917cb0
---
Sample count: 6
Total time: 0.119355343 seconds (0.104579909 seconds in GC)

[🏃 run #1]
%     cumulative   self             
time   seconds     seconds  procedure
100.00      0.14      0.14  override/fibers/events-impl.scm:81:0:pump-epoll-guardian
  0.00    426.51      0.00  veritas/unit/introduction.scm:184:0:factorial
  0.00      0.14      0.00  %after-gc-thunk
  0.00      0.14      0.00  anon #x3f917cb0
  0.00      0.14      0.00  veritas/veritas.scm:567:93
---
Sample count: 7
Total time: 0.144167641 seconds (0.125504704 seconds in GC)

ℹ️ info - ran 6 tasks in: 0 seconds, 285384 microseconds

running unit tests from file: mock.scm, entrypoint: spec


+----------------------------------------------+
[📑 suite] test doubles
  [🧪 test] a spy records the calls and the results
    ✅ got: 3
    ✅ got: 7
    ✅ got: #t
    ✅ got: ((1 2) (3 4))
    ✅ got: (3 7)
    ✅ got: 2
    ✅ got: #t
    ✅ got: #f
  [🧪 test] a stub ignores its arguments and returns a value
    ✅ got: 0
    ✅ got: 0
    ✅ got: (() (some arguments))
    ✅ got: 2
  [🧪 test] assertions read the spy when they run
    [assert] send was called
    [fail] error, expect: #t, got: #f
    ✅ got: #f
    [assert] send was called
    [pass] got: #t
    ✅ got: #t
    [assert] send was called with (ada thanks)
    [pass] got: ((ada thanks))
    ✅ got: #t
    [assert] send was called with (ada)
    [fail] error, expect: (ada), got: ((ada thanks))
    ✅ got: #f
    [assert] send was called 1 time(s)
    [pass] got: 1
    ✅ got: #t
    [assert] send was called 2 time(s)
    [fail] error, expect: 2, got: 1
    ✅ got: #f
  [🧪 test] a spy is an ordinary procedure
    ✅ got: (2 4 6)
    ✅ got: 3
  [🧪 test] a binding is replaced and restored
    ✅ got: 42
    ✅ got: 0
    ✅ got: 42
    ✅ got: #t
  [🧪 test] a call that reads the binding at run time sees the replacement
    ✅ got: 0
  [🧪 test] a binding is restored even when the body raises
    ✅ got: 42
ℹ️ info - ran 1 tasks in: 0 seconds, 1417 microseconds

running unit tests from file: bdd.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] Scenario: summing a list of numbers
  [🧪 test] Given a list of three numbers
    ✅ got: 3
  [🧪 test] When the numbers are summed
    ✅ got: 6
  [🧪 test] Then the total is correct
    ✅ got: 6
  [🧪 test] And the list is non-empty
    ✅ got: (1 2 3)
  [🧪 test] But the list does not contain four
    ✅ got: 4
+----------------------------------------------+
[📑 suite] Scenario: steps run in declaration order
  [🧪 test] Given no recorded events
    ✅ success running without errors
  [🧪 test] When the first event is recorded
    ✅ success running without errors
  [🧪 test] Then the order is preserved
    ✅ success running without errors
+----------------------------------------------+
[📑 suite] Scenario: a scenario written in latin
  [🧪 test] Given a list of two numbers
    ✅ got: 2
  [🧪 test] When the numbers are summed
    ✅ got: 30
  [🧪 test] Then the total is thirty
    ✅ got: 30
  [🧪 test] And the values are positive
    ✅ got: #t
  [🧪 test] But the list is not empty
    ✅ got: (10 20)
+----------------------------------------------+
[📑 suite] Scenario: a scenario written with PascalCase steps
  [🧪 test] Given a list of two numbers
    ✅ got: 2
  [🧪 test] When the numbers are summed
    ✅ got: 30
  [🧪 test] Then the total is thirty
    ✅ got: 30
+----------------------------------------------+
[📑 suite] Scenario: scenario steps keep declaration order
  [🧪 test] Given the first step records itself
    ✅ success running without errors
  [🧪 test] When the second step records itself
    ✅ success running without errors
  [🧪 test] Then the third step records itself
    ✅ success running without errors
  [🧪 test] And the recorded order is Given, When, Then
    ✅ success running without errors
+----------------------------------------------+
[📑 suite] Scenario: outer scenario
+----------------------------------------------+
[📑 suite] Scenario: inner scenario
  [🧪 test] Given inner given
    ✅ got: #t
  [🧪 test] Then inner then
    ✅ got: 2
  [🧪 test] Then outer then
    ✅ got: #t
ℹ️ info - ran 6 tasks in: 0 seconds, 2519 microseconds

running unit tests from file: matchers.scm, entrypoint: spec


    [pass] got: 2
    [fail] error, expect: (1), got: 2
    [fail] did not raise an expected error
    [pass] got: a
    [fail] error, expect: #<hash-table 7f00e317a340 1/31>, got: b
    [pass] got: 2
    [fail] error, expect: #(1 2 3), got: 9
    [pass] got: 9
    [fail] error, expect: (1 2), got: 2
    [pass] got: hello
    [fail] error, expect: #<regexp 7f00e3d69240>, got: hello
    [pass] got: hello
    [fail] error, expect: #<regexp 7f00e3d691c0>, got: hello
    [pass] got: 1
    [pass] got: 10
    [fail] error, expect: (1 . 10), got: 11
    [pass] got: green
    [fail] error, expect: (red green), got: blue
    [pass] got: #(1 2 3)
    [pass] got: hello
    [fail] error, expect: 4, got: hello
    [fail] error, expect: 1, got: 42
    [fail] error, expect: #t, got: 42
    [fail] error, expect: #t, got: ()
    [pass] got: #(1)
    [fail] did not raise an expected error
    [fail] did not raise an expected error
    [pass] raised an error as expected
ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] passing matchers
  [🧪 test] containment
    ✅ got: world
    ✅ got: 2
    ✅ got: b
    ✅ got: z
    ✅ got: z
  [🧪 test] raising errors
    ✅ raised an error as expected
    ✅ raised an error as expected
    ✅ raised an error as expected
  [🧪 test] ranges and membership
    ✅ got: green
    ✅ got: 0
    ✅ got: 5
  [🧪 test] regular expressions
    ✅ got: abc
    ✅ got: hello
    ✅ got: hello
  [🧪 test] emptiness and length
    ✅ got: (1 2 3)
    ✅ got: hello
    ✅ got: 
    ✅ got: (1)
    ✅ got: #()
    ✅ got: ()
    ✅ got: a
+----------------------------------------------+
[📑 suite] matcher edge cases and failures
  [🧪 test] length on vectors and strings
    ✅ got: #t
    ✅ got: #f
    ✅ got: #t
  [🧪 test] not-contains
    ✅ got: #f
    ✅ got: #t
  [🧪 test] assert-raises failure paths
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
  [🧪 test] length and emptiness of unsized values
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
  [🧪 test] in-range boundaries are inclusive
    ✅ got: #t
    ✅ got: #t
    ✅ got: #f
  [🧪 test] one-of
    ✅ got: #f
    ✅ got: #t
  [🧪 test] hash tables are containers too
    ✅ got: #t
    ✅ got: #f
  [🧪 test] not-matches
    ✅ got: #t
    ✅ got: #f
  [🧪 test] matches accepts a compiled regexp
    ✅ got: #f
    ✅ got: #t
  [🧪 test] vector containment
    ✅ got: #t
    ✅ got: #f
+----------------------------------------------+
[📑 suite] matcher result wiring
  [🧪 test] failing matchers are reported as failures
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-raises fails when nothing is raised
    ✅ got: #f
ℹ️ info - ran 3 tasks in: 0 seconds, 5441 microseconds

running unit tests from file: simple.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
ℹ️ info - Code coverage report written to reports/lcov/coverage-1792002377-513297.info
+----------------------------------------------+
[📑 suite] Predicate Tests
  [🧪 test] List Predicates
    [⚙️ assert] Empty list should be null
    ✅ got: #t
    [⚙️ assert] Empty list should not be a pair
    ✅ got: #f
    [⚙️ assert] Non-empty list should not be null
    ✅ got: #f
    [⚙️ assert] Pair should be a pair
    ✅ got: #t
+----------------------------------------------+
[📑 suite] Error Handling Tests
  [🧪 test] Division by Zero Error
    [⚙️ assert] Should signal error on division by zero
    ✅ success catching error: misc-error: (#f Division by zero () #f)
  [🧪 test] No Error on Valid Division
    [⚙️ assert] Valid division result
    ✅ got: 5
    [⚙️ assert] Should not signal error on valid division
    ✅ success running without errors
+----------------------------------------------+
[📑 suite] Complex Data Structure Tests
  [🧪 test] Vector Operations
    [⚙️ assert] Vector ref at index 1
    ✅ got: 2
    [⚙️ assert] Vector length
    ✅ got: 3
    [⚙️ assert] Vector ref at index 0
    ✅ got: 1
  [🧪 test] Association List Lookups
    [⚙️ assert] Lookup 'age' in alist
    ✅ got: 30
    [⚙️ assert] Lookup non-existent key should be #f
    ✅ got: #f
    [⚙️ assert] Lookup 'name' in alist
    ✅ got: Alice
  [🧪 test] some test without suite
    ✅ got: 1
+----------------------------------------------+
[📑 suite] Basic Suite
  [🧪 test] Do some assertions
    ✅ got: 1
    ✅ got: 1
    ✅ got: 1
  [🧪 test] Check that function calls work
    ✅ got: 42
+----------------------------------------------+
[📑 suite] str
  [🧪 test] String Operation Tests
    ✅ got: #f
    ✅ got: hello world
    ✅ got: #t
ℹ️ info - ran 6 tasks in: 0 seconds, 568582 microseconds

running unit tests from file: lists.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] List Manipulation Tests
  [🧪 test] Get First Element
    [⚙️ assert] First element of an empty list should be #f
    ✅ got: #f
    [⚙️ assert] First element of a number list
    ✅ got: 1
    [⚙️ assert] First element of a symbol list
    ✅ got: a
  [🧪 test] List Concatenation
    [⚙️ assert] Concatenate two non-empty lists
    ✅ got: (1 2 3 4 5)
    [⚙️ assert] Concatenate empty list with non-empty
    ✅ got: (a b)
    [⚙️ assert] Concatenate non-empty list with empty
    ✅ got: (x y)
    [⚙️ assert] Concatenate two empty lists
    ✅ got: ()
  [🧪 test] List Length
    [⚙️ assert] Length of list with 3 elements
    ✅ got: 3
    [⚙️ assert] Length of empty list
    ✅ got: 0
    [⚙️ assert] Length of list with one element
    ✅ got: 1
ℹ️ info - ran 1 tasks in: 0 seconds, 2355 microseconds

running unit tests from file: jobs.scm, entrypoint: spec


+----------------------------------------------+
[📑 suite] worker processes
  [🧪 test] a job count is a whole number of processes
    ✅ got: 4
    ✅ got: 1
    ✅ got: #f
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
  [🧪 test] the records of several runs merge into one
    ✅ got: (a b)
    ✅ got: ()
    ✅ got: #f
    ✅ got: (a)
  [🧪 test] a record can be written where a worker puts it
    ✅ got: (the failing one)
    ✅ got: (the failing one)
    ✅ got: ()
    ✅ got: #t
  [🧪 test] JUnit data merges by summing and concatenating
    ✅ got: 5
    ✅ got: 1
    ✅ got: 0
    ✅ got: 0
    ✅ got: <testsuite name="s2"/>
<testsuite name="s3"/>

  [🧪 test] JUnit data written by a worker can be read back and merged
    ✅ got: 1
    ✅ got: #f
    ✅ got: #f;;; note: source file ./src/veritas/runner.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/runner.go
;;; note: source file ./src/veritas/runner.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling ./src/veritas/runner.scm
;;; note: source file ./src/veritas/prelude.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/prelude.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/prelude.scm.go
;;; note: source file ./src/veritas/model.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/model.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/model.scm.go
;;; note: source file ./src/veritas/reporter.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/reporter.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/reporter.scm.go
;;; note: source file ./src/veritas/veritas.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/veritas.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/veritas.scm.go
;;; note: source file ./src/veritas/assert.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/assert.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/assert.scm.go
;;; note: source file ./src/veritas/shuffle.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/shuffle.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/shuffle.scm.go
;;; note: source file ./src/veritas/generator.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/generator.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/generator.scm.go
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm.go
;;; note: source file ./src/veritas/mock.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/mock.go
;;; note: source file ./src/veritas/mock.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/mock.scm.go
;;; compiling ./src/veritas/mock.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/mock.scm.go
;;; note: source file ./src/veritas/bdd.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/bdd.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/bdd.scm.go
skipping source file: override/fibers/events-impl.scm
skipping source file: override/fibers/posix-clocks.scm
;;; note: source file ./src/veritas/snapshot.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/snapshot.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/snapshot.scm.go

  [🧪 test] a JUnit document is written from merged data
    ✅ got: tests="5" failures="1" errors="0" skipped="0" time="0.5"
    ✅ got: <testsuite name="s2"/>
<testsuite name="s3"/>

ℹ️ info - ran 1 tasks in: 0 seconds, 5533 microseconds

running unit tests from file: timeout.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
  [🧪 test] an overrunning benchmark is reported as a failure
    ✅ got: (#f)
  [🧪 test] a suite within its deadline passes
    ✅ got: (#t)
  [🧪 test] an overrunning scenario is reported as a failure
    ✅ got: (#f)
  [🧪 test] the fiber of an overrunning suite is aborted
    [⚙️ assert] the spin counter stopped growing
    ✅ got: #t
  [🧪 test] the fiber of an overrunning test is aborted
    [⚙️ assert] the spin counter stopped growing
    ✅ got: #t
  [🧪 test] an overrunning test is reported as a failure
    ✅ got: (#f)
  [🧪 test] a test within its deadline passes
    ✅ got: (#t #t)
  [🧪 test] an assertion within its deadline passes
    ✅ got: (#t)
  [🧪 test] an overrunning suite is reported as a failure
    ✅ got: (#f)
  [🧪 test] an overrunning thunk assertion is reported as a failure
    ✅ got: (#f)
  [🧪 test] the fiber of an overrunning thunk assertion is aborted
    [⚙️ assert] the spin counter stopped growing
    ✅ got: #t
  [🧪 test] no deadline means no deadline
    ✅ got: (#t)
  [🧪 test] a blocked unit does not stall the run
    [⚙️ assert] the deadline returned promptly
    ✅ got: #t
  [🧪 test] an overrunning lazy assertion is reported as a failure
    ✅ got: (#f)
  [🧪 test] the timeout failure explains itself
    [⚙️ assert] the failure mentions the timeout
    ✅ got: overrunning test timed out after 0.3 seconds
  [🧪 test] a unit that raises still raises
    [⚙️ assert] the raised error reached the caller
    ✅ success catching error: misc-error: (#f boom () #f)
ℹ️ info - ran 16 tasks in: 0 seconds, 2829 microseconds

running unit tests from file: snapshot.scm, entrypoint: spec


+----------------------------------------------+
[📑 suite] snapshots
  [🧪 test] the first run writes the snapshot and passes
    [assert] greeting
    [pass] wrote snapshot ./tmp-snapshot-suite/greeting.snap
    ✅ got: #t
    ✅ got: #t
    ✅ got: (hello world)
  [🧪 test] the second run matches
    [assert] greeting
    [pass] matches snapshot ./tmp-snapshot-suite/greeting.snap
    ✅ got: #t
  [🧪 test] a mismatch fails and leaves the snapshot alone
    [assert] greeting
    [fail] snapshot mismatch for ./tmp-snapshot-suite/greeting.snap
expected: (hello world)
     got: (hello there)
(rerun with VERITAS_UPDATE_SNAPSHOTS=true to accept the new value)
    ✅ got: #f
    ✅ got: (hello world)
  [🧪 test] an update rewrites the snapshot and passes
    [assert] greeting
    [pass] updated snapshot ./tmp-snapshot-suite/greeting.snap
    ✅ got: #t
    ✅ got: (hello there)
    ✅ got: #f
  [🧪 test] a procedure is called when the assertion runs
    [assert] a call counter
    [pass] wrote snapshot ./tmp-snapshot-suite/a-call-counter.snap
    ✅ got: #t
    ✅ got: 1
    ✅ got: 1
  [🧪 test] a snapshot that cannot be read fails instead of being rewritten
    [assert] damaged
    [fail] could not read snapshot ./tmp-snapshot-suite/damaged.snap: read-error: (#f ./tmp-snapshot-suite/damaged.snap:1:12: unexpected end of input while searching for: ~A ()) #f)
    ✅ got: #f
    ✅ got: (unbalanced
  [🧪 test] names become file names
    ✅ got: ./tmp-snapshot-suite/the-rendered-cart.snap
    ✅ got: ./tmp-snapshot-suite/spaces.snap
  [🧪 test] a snapshot without a name is refused
    ✅ got: #t
  [🧪 test] the cleanup removes a tree, nested files included
    ✅ got: #t
    ✅ got: ()
    ✅ got: #f
ℹ️ info - ran 1 tasks in: 0 seconds, 5272 microseconds

running unit tests from file: rerun.scm, entrypoint: spec


+----------------------------------------------+
[📑 suite] rerunning what failed
  [🧪 test] a failing test is named and a passing one is not
    ✅ got: (the failing one)
  [🧪 test] names are found at any depth, through nested suites
    ✅ got: (the failing one)
  [🧪 test] a run that passed records nothing to rerun
    ✅ got: ()
  [🧪 test] the record round-trips through the report file
    ✅ got: (the failing one)
    ✅ got: (the failing one)
  [🧪 test] an empty record is a record, so nothing is rerun
    ✅ got: ()
    ✅ got: ()
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
ℹ️ info - ran 1 tasks in: 0 seconds, 2458 microseconds

running unit tests from file: nesting.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] depth 1
  [🧪 test] test at depth 1
    ✅ got: y
+----------------------------------------------+
[📑 suite] depth 2
+----------------------------------------------+
[📑 suite] depth 3
  [🧪 test] test at depth 3
    ✅ got: #t
+----------------------------------------------+
[📑 suite] depth 4
  [🧪 test] leaf test
    ✅ got: 24
  [🧪 test] test at depth 2
    ✅ got: (a b)
+----------------------------------------------+
[📑 suite] table nesting
+----------------------------------------------+
[📑 suite] inner table
  [🧪 test] 3 squared is 9
    ✅ got: 9
  [🧪 test] 2 squared is 4
    ✅ got: 4
  [🧪 test] 1 squared is 1
    ✅ got: 1
+----------------------------------------------+
[📑 suite] sequential nesting
+----------------------------------------------+
[📑 suite] sequential child
+----------------------------------------------+
[📑 suite] sequential grandchild
  [🧪 test] deep sequential test
    ✅ got: 6
ℹ️ info - ran 3 tasks in: 0 seconds, 18898 microseconds

running unit tests from file: table.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] integer addition
  [🧪 test] -1 + 1 = 0
    ✅ got: 0
  [🧪 test] 1 + 2 = 3
    ✅ got: 3
  [🧪 test] 100 + -100 = 0
    ✅ got: 0
  [🧪 test] 10 + 20 = 30
    ✅ got: 30
  [🧪 test] 0 + 0 = 0
    ✅ got: 0
+----------------------------------------------+
[📑 suite] string reversal is involutive
  [🧪 test] reversing "veritas" twice is identity
    ✅ got: veritas
  [🧪 test] reversing "racecar" twice is identity
    ✅ got: racecar
  [🧪 test] reversing "a" twice is identity
    ✅ got: a
  [🧪 test] reversing "ab" twice is identity
    ✅ got: ab
  [🧪 test] reversing "" twice is identity
    ✅ got: 
+----------------------------------------------+
[📑 suite] collection emptiness
+----------------------------------------------+
[📑 suite] string ""
  [🧪 test] emptiness matches
    ✅ got: #t
+----------------------------------------------+
[📑 suite] string "x"
  [🧪 test] emptiness matches
    ✅ got: #f
+----------------------------------------------+
[📑 suite] grouped squares
+----------------------------------------------+
[📑 suite] n = 2
  [🧪 test] square is correct
    ✅ got: 4
+----------------------------------------------+
[📑 suite] n = 1
  [🧪 test] square is correct
    ✅ got: 1
+----------------------------------------------+
[📑 suite] n = 3
  [🧪 test] square is correct
    ✅ got: 9
+----------------------------------------------+
[📑 suite] cases->table names the columns
  [🧪 test] indexes every case by the key
    ✅ got: ((:a :a 1) (:b :b 2))
ℹ️ info - ran 5 tasks in: 0 seconds, 5964 microseconds

running unit tests from file: numeric/a/num.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] Predicate Tests
  [🧪 test] Even Number Checks
    [⚙️ assert] 0 should be even
    ✅ got: #t
    [⚙️ assert] 1 should not be even
    ✅ got: #f
    [⚙️ assert] 7 should not be even
    ✅ got: #f
    [⚙️ assert] 4 should be even
    ✅ got: #t
+----------------------------------------------+
[📑 suite] Basic Suite
  [🧪 test] Basic Numeric Tests
    [⚙️ assert] arithmetic approximation
    ✅ got: 0.99999999999
    [⚙️ assert] arithmetic approximation
    ✅ got: 0.99999999999
    [⚙️ assert] checks if addition works
    ✅ got: 4
    ✅ got: 1
    ✅ got: 0
    [⚙️ assert] arithmetic approximation
    ✅ got: 0.9999999
    ✅ got: 1
ℹ️ info - ran 2 tasks in: 0 seconds, 2878 microseconds
🔬 debug - assertion-results: (#t #t #t #t #t #t #t #t #t #t #t)

running unit tests from file: assertions.scm, entrypoint: spec


    [pass] got: 1
    [fail] error, expect: 1, got: 2
    [pass] got: foo
    [fail] error, expect: (1), got: (1)
    [pass] got: 42
    [fail] error, expect: 1, got: 2
    [pass] got: (1 3)
    [fail] error, expect: (1 2), got: (1 2)
    [pass] got: (1)
    [fail] error, expect: x, got: x
    [pass] got: 2
    [fail] error, expect: 1, got: 1
    [pass] got: #t
    [fail] error, expect: #t, got: #f
    [pass] got: #f
    [fail] error, expect: #f, got: #t
    [pass] got: 3.141
    [fail] error, expect: 3.14, got: 3.5
    [pass] got: 3.5
    [fail] error, expect: 3.14, got: 3.141
    [pass] got: 144
    [pass] got: 9
    [pass] got: 5
    [pass] success catching error: numerical-overflow: (divide Numerical overflow #f #f)
    [fail] did not catch any error
    [pass] success running without errors
    [fail] caught error: numerical-overflow: (divide Numerical overflow #f #f)
    [pass] raised an error as expected
    [fail] did not raise an expected error
    [pass] raised an error as expected
    [fail] did not raise an expected error
    [pass] raised an error as expected
    [fail] did not raise an expected error
    [pass] got: 3
    [fail] error, expect: 3, got: 4
    [pass] got: (1 2)
    [fail] error, expect: (1 2), got: (1 3)
    [pass] got: foo
    [fail] error, expect: (1), got: (1)
    [pass] got: 42
    [fail] error, expect: 1, got: 2
    [pass] got: (1 3)
    [fail] error, expect: (1 2), got: (1 2)
    [pass] got: (1)
    [fail] error, expect: x, got: x
    [pass] got: 2
    [fail] error, expect: 1, got: 1
    [pass] got: #t
    [fail] error, expect: #t, got: #f
    [pass] got: #f
    [fail] error, expect: #f, got: #t
    [pass] got: 3.141
    [fail] error, expect: 3.14, got: 3.5
    [pass] got: 3.5
    [fail] error, expect: 3.14, got: 3.141
    [pass] success catching error: numerical-overflow: (divide Numerical overflow #f #f)
    [fail] did not catch any error
    [pass] success running without errors
    [fail] caught error: numerical-overflow: (divide Numerical overflow #f #f)
    [pass] raised an error as expected
    [fail] did not raise an expected error
    [pass] got: 2
    [fail] error, expect: (1 2), got: 9
    [pass] got: 9
    [fail] error, expect: (1 2), got: 2
    [pass] got: hello
    [fail] error, expect: #<regexp 7f00e3d69c80>, got: hello
    [pass] got: hello
    [fail] error, expect: #<regexp 7f00e3d69c00>, got: hello
    [pass] got: ()
    [fail] error, expect: #t, got: (1)
    [pass] got: (1)
    [fail] error, expect: #t, got: ()
    [pass] got: (1 2 3)
    [fail] error, expect: 4, got: (1 2 3)
    [pass] got: 5
    [fail] error, expect: (1 . 10), got: 11
    [pass] got: green
    [fail] error, expect: (red green), got: blue
ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] equality, identity and value assertions
  [🧪 test] assert-eq
    ✅ got: #f
    ✅ got: #t
  [🧪 test] assert-not-equal
    ✅ got: #f
    ✅ got: #t
  [🧪 test] assert-equal
    ✅ got: #f
    ✅ got: #t
  [🧪 test] assert-not-eq
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-not-eqv
    ✅ got: #f
    ✅ got: #t
  [🧪 test] assert-eqv
    ✅ got: #t
    ✅ got: #f
+----------------------------------------------+
[📑 suite] boolean assertions
  [🧪 test] assert-false
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-true
    ✅ got: #t
    ✅ got: #f
+----------------------------------------------+
[📑 suite] approximate assertions
  [🧪 test] assert-approximate
    ✅ got: #f
    ✅ got: #t
  [🧪 test] is-approximate?
    ✅ got: #f
    ✅ got: #t
  [🧪 test] assert-not-approximate
    ✅ got: #f
    ✅ got: #t
+----------------------------------------------+
[📑 suite] error assertions
  [🧪 test] assert-raises accepts any error by default
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-raises honours an expected error key
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-error
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-raises honours a predicate
    ✅ got: #t
    ✅ got: #f
  [🧪 test] assert-no-error
    ✅ got: #t
    ✅ got: #f
+----------------------------------------------+
[📑 suite] delayed evaluation of got
  [🧪 test] comp, compute and computare are evaluated at test time
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
+----------------------------------------------+
[📑 suite] latin aliases
  [🧪 test] approximate aliases
    ✅ got: #t
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
  [🧪 test] boolean aliases
    ✅ got: #t
    ✅ got: #t
    ✅ got: #f
    ✅ got: #f
  [🧪 test] error aliases
    ✅ got: #f
    ✅ got: #t
    ✅ got: #t
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
  [🧪 test] proba is the core assert combinator
    ✅ got: #f
    ✅ got: #t
  [🧪 test] equality aliases
    ✅ got: #f
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
    ✅ got: #f
    ✅ got: #f
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
  [🧪 test] matcher aliases
    ✅ got: #f
    ✅ got: #t
    ✅ got: #t
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
    ✅ got: #t
    ✅ got: #t
    ✅ got: #f
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
    ✅ got: #t
    ✅ got: #f
ℹ️ info - ran 6 tasks in: 0 seconds, 24220 microseconds

running unit tests from file: cli.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] CLI metadata
  [🧪 test] version and man page name are present
    ✅ got: 0.1.0
    ✅ got: veritas(1)
  [🧪 test] help text documents every flag
    [⚙️ assert] help mentions --test-module
    ✅ got: --test-module
    [⚙️ assert] help mentions --no-only-failed
    ✅ got: --no-only-failed
    [⚙️ assert] help mentions --only-test
    ✅ got: --only-test
    [⚙️ assert] help mentions --seed
    ✅ got: --seed
    [⚙️ assert] help mentions --test-type
    ✅ got: --test-type
    [⚙️ assert] help mentions --only-failed
    ✅ got: --only-failed
    [⚙️ assert] help mentions --test-top-dir
    ✅ got: --test-top-dir
    [⚙️ assert] help mentions --entrypoint
    ✅ got: --entrypoint
    [⚙️ assert] help mentions --scan-dir
    ✅ got: --scan-dir
    [⚙️ assert] help mentions --benchmarks
    ✅ got: --benchmarks
    [⚙️ assert] help mentions --partition
    ✅ got: --partition
    [⚙️ assert] help mentions --help
    ✅ got: --help
    [⚙️ assert] help mentions --shuffle
    ✅ got: --shuffle
    [⚙️ assert] help mentions --version
    ✅ got: --version
    [⚙️ assert] help mentions --no-shuffle
    ✅ got: --no-shuffle
    [⚙️ assert] help mentions --reporter
    ✅ got: --reporter
    [⚙️ assert] help mentions --only-tag
    ✅ got: --only-tag
    [⚙️ assert] help mentions --only-suite
    ✅ got: --only-suite
    [⚙️ assert] help mentions --no-benchmarks
    ✅ got: --no-benchmarks
    [⚙️ assert] help mentions --jobs
    ✅ got: --jobs
  [🧪 test] option grammar declares the expected options
    [⚙️ assert] no-only-failed is a known option
    ✅ got: #t
    [⚙️ assert] seed is a known option
    ✅ got: #t
    [⚙️ assert] entrypoint is a known option
    ✅ got: #t
    [⚙️ assert] benchmarks is a known option
    ✅ got: #t
    [⚙️ assert] version is a known option
    ✅ got: #t
    [⚙️ assert] reporter is a known option
    ✅ got: #t
    [⚙️ assert] test-module is a known option
    ✅ got: #t
    [⚙️ assert] only-tag is a known option
    ✅ got: #t
    [⚙️ assert] only-failed is a known option
    ✅ got: #t
    [⚙️ assert] no-benchmarks is a known option
    ✅ got: #t
    [⚙️ assert] no-shuffle is a known option
    ✅ got: #t
    [⚙️ assert] test-top-dir is a known option
    ✅ got: #t
    [⚙️ assert] only-test is a known option
    ✅ got: #t
    [⚙️ assert] jobs is a known option
    ✅ got: #t
    [⚙️ assert] only-suite is a known option
    ✅ got: #t
    [⚙️ assert] shuffle is a known option
    ✅ got: #t
    [⚙️ assert] scan-dir is a known option
    ✅ got: #t
    [⚙️ assert] partition is a known option
    ✅ got: #t
    [⚙️ assert] test-type is a known option
    ✅ got: #t
    [⚙️ assert] help is a known option
    ✅ got: #t
+----------------------------------------------+
[📑 suite] CLI driver
  [🧪 test] --version exits successfully
    ✅ got: 0
  [🧪 test] --help exits successfully
    ✅ got: 0
ℹ️ info - ran 2 tasks in: 0 seconds, 19675 microseconds

running unit tests from file: shuffle.scm, entrypoint: spec


+----------------------------------------------+
[📑 suite] seeded shuffling
  [🧪 test] the same seed gives the same order
    ✅ got: (2 4 5 1 3)
  [🧪 test] two different seeds are not forced to agree
    ✅ got: (1 2 3 4 5)
    ✅ got: (1 2 3 4 5)
  [🧪 test] short lists come back untouched
    ✅ got: ()
    ✅ got: (1)
  [🧪 test] a fresh seed is a usable seed
    ✅ got: #t
    ✅ got: (1 2 3)
  [🧪 test] an explicit seed is used and remembered
    ✅ got: 7
    ✅ got: 7
  [🧪 test] seeded-shuffle follows the run's seed
    ✅ got: (4 3 1 2)
ℹ️ info - ran 1 tasks in: 0 seconds, 1161 microseconds

running unit tests from file: partition.scm, entrypoint: spec


+----------------------------------------------+
[📑 suite] partitioning a run
  [🧪 test] a partition string is parsed, and refused when impossible
    ✅ got: (2 . 3)
    ✅ got: #f
    ✅ got: #f
    ✅ got: #f
    ✅ got: #f
    ✅ got: #f
  [🧪 test] the partitions of a list are disjoint and complete
    ✅ got: (f0 f1 f2 f3 f4 f5 f6)
    ✅ got: ()
    ✅ got: ()
    ✅ got: ()
  [🧪 test] the split is round-robin over the sorted list
    ✅ got: (a c)
    ✅ got: (b d)
    ✅ got: ()
  [🧪 test] one partition of one is the whole list
    ✅ got: (a b)
ℹ️ info - ran 1 tasks in: 0 seconds, 798 microseconds

running unit tests from file: container.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
+----------------------------------------------+
[📑 suite] container lifecycle against a fake runtime
  [🧪 test] container-logs returns logs
    ✅ got: line1
ready
  [🧪 test] container-running? detects a running container
    ✅ got: #t
  [🧪 test] container-exec returns output
    ✅ got: exec-ok
  [🧪 test] wait-for-log succeeds on a matching line
    ✅ got: #t
  [🧪 test] container-run returns an id
    ✅ got: fake-container
  [🧪 test] run-command! raises on failure
    ✅ raised an error as expected
  [🧪 test] with-container cleans up after the thunk
    ✅ got: fake-container
    ✅ got: run -d alpine
rm -f fake-container

  [🧪 test] runtime detection honours the environment
    ✅ got: /tmp/veritas-fake-container-runtime.sh
    ✅ got: #t
  [🧪 test] run-command reports status and output
    ✅ got: (3 hi
)
  [🧪 test] assert-container-running reports success
    [⚙️ assert] fake is running
    ✅ container fake-container is running
  [🧪 test] container-build shells out to the runtime
    ✅ got: built
  [🧪 test] wait-for-command succeeds
    ✅ got: #t
+----------------------------------------------+
[📑 suite] container command construction and readiness
  [🧪 test] wait-until returns as soon as the predicate holds
    ✅ got: #t
  [🧪 test] container-run forwards name, env, ports and volumes
    ✅ got: -p 8080:80
    ✅ got: -v /tmp:/data
    ✅ got: -e A=1
    ✅ got: --name svc
  [🧪 test] container-exec-status returns status and output
    ✅ got: exec-ok

  [🧪 test] wait-until raises once the timeout is exceeded
    ✅ raised an error as expected
ℹ️ info - ran 2 tasks in: 0 seconds, 33762 microseconds

running unit tests from file: generator/simple.scm, entrypoint: spec


ℹ️ info - shuffled with seed 986942590 (replay with VERITAS_SEED=986942590)
ℹ️ info - Code coverage report written to reports/lcov/coverage-1792002381-903802.info
+----------------------------------------------+
[📑 suite] Basic Suite
  [🧪 test] Basic Generation
(4 16 8 62 6 74 48 35 2)
(4 72 9 3 77 23 0 21)
    ✅ success running without errors
34
19
    ✅ success running without errors
(E f ; z J \ " V 4 e F k P ^ 9 { * , . ' W   r)
(, [ U y N J K D * J L I % i d M)
    ✅ success running without errors
")Gd!L9)w2G9m8| {_-Z.!jeB:[Z[<sx}IqBp:#@^~v +Re{|BJAz>UBcq}\\10bHT"
",z6G*x;#I4b$=.w0@qQ*cU^@Q-|9\"<W"
    ✅ success running without errors
ℹ️ info - ran 1 tasks in: 1 seconds, -293146 microseconds

finished running tests
warning: mutating the process environment while multiple threads are running;
         further behavior unspecified.
warning: mutating the process environment while multiple threads are running;
         further behavior unspecified.
;;; note: source file ./src/veritas/table.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/table.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/table.scm.go
;;; note: source file ./src/veritas/cli.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/cli.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/cli.scm.go
;;; note: source file ./src/veritas/container.scm
;;;       newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/container.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/container.scm.go
warning: mutating the process environment while multiple threads are running;
         further behavior unspecified.
warning: mutating the process environment while multiple threads are running;
         further behavior unspecified.
skipping source file: override/fibers/posix-clocks.scm
skipping source file: override/fibers/events-impl.scm


--------------------------------------------------------------

Maak: the infinitely extensible command runner

Loading tasks from Maak file: /etc/byggsteg/job-clone/veritas/trunk/maak.scm

Executing Maak tasks: test

--------------------------------------------------------------

=> Running Maak task: test

  Run the test suite.

→ running command: cd /etc/byggsteg/job-clone/veritas/trunk && sudo maak deploy

sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
;;; note: source file /etc/byggsteg/job-clone/veritas/trunk/src/veritas/mock.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/veritas/trunk/src/veritas/mock.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/veritas/trunk/src/veritas/mock.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/veritas/trunk/src/veritas/mock.scm.go
;;; note: source file /etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm.go
;;; compiling /etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm.go
;;; compiling /etc/byggsteg/job-clone/veritas/trunk/src/veritas/snapshot.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/veritas/trunk/src/veritas/snapshot.scm.go
;;; compiling /etc/byggsteg/job-clone/veritas/trunk/src/veritas/table.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/veritas/trunk/src/veritas/table.scm.go
API documentation saved to doc/api
index.texi:1998: warning: @end should only appear at the beginning of a line
index.texi:2013: warning: @end should only appear at the beginning of a line
index.texi:2028: warning: @end should only appear at the beginning of a line
index.texi:2043: warning: @end should only appear at the beginning of a line
index.texi:2059: warning: @end should only appear at the beginning of a line
index.texi:2075: warning: @end should only appear at the beginning of a line
index.texi: warning: must specify a title with a title command or @top
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
renamed './index_html' -> './doc/api-dist'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/API.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fassert.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fgenerator.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fmodel.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fprelude.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005freporter.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005frunner.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fshuffle.html'
removed '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fveritas.html'
removed directory '/srv/http/jointhefreeworld.org/api-docs/veritas'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
mkdir: created directory '/srv/http/jointhefreeworld.org/api-docs/veritas'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
renamed 'doc/api-dist/API.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/API.html'
renamed 'doc/api-dist/veritas_005fassert.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fassert.html'
renamed 'doc/api-dist/veritas_005fbdd.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fbdd.html'
renamed 'doc/api-dist/veritas_005fcli.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fcli.html'
renamed 'doc/api-dist/veritas_005fcontainer.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fcontainer.html'
renamed 'doc/api-dist/veritas_005fgenerator.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fgenerator.html'
renamed 'doc/api-dist/veritas_005fmock.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fmock.html'
renamed 'doc/api-dist/veritas_005fmodel.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fmodel.html'
renamed 'doc/api-dist/veritas_005fprelude.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fprelude.html'
renamed 'doc/api-dist/veritas_005freporter.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005freporter.html'
renamed 'doc/api-dist/veritas_005frunner.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005frunner.html'
renamed 'doc/api-dist/veritas_005fshuffle.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fshuffle.html'
renamed 'doc/api-dist/veritas_005fsnapshot.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fsnapshot.html'
renamed 'doc/api-dist/veritas_005ftable.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005ftable.html'
renamed 'doc/api-dist/veritas_005fveritas.html' -> '/srv/http/jointhefreeworld.org/api-docs/veritas/veritas_005fveritas.html'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
removed 'doc/api/index.texi'
removed directory 'doc/api'
removed directory 'doc/api-dist'
removed directory 'doc'


--------------------------------------------------------------

Maak: the infinitely extensible command runner

Loading tasks from Maak file: /etc/byggsteg/job-clone/veritas/trunk/maak.scm

Executing Maak tasks: deploy

--------------------------------------------------------------

=> Running Maak task: deploy

  Publish the API docs.

  Execute command:
guix time-machine --channels=channels.scm -- shell -m manifest.scm -- documenta api ./src/veritas &&  texi2any -v --html --css-ref=https://jointhefreeworld.org/static/css/jointhefreeworld.css -o index_html ./doc/api/index.texi