→ running command: cd "/etc/byggsteg/job-clone//veritas/trunk" && git reset --hard && git pull
HEAD is now at 2d6cee0 docs: Add screenshot of running a suite
From https://codeberg.org/jjba23/veritas
2d6cee0..2eee942 trunk -> origin/trunk
* [new tag] v0.7.1 -> v0.7.1
* [new tag] v0.7.0 -> v0.7.0
Updating 2d6cee0..2eee942
Fast-forward
README.org | 769 +++++++++++++++++++++++++++--
bin/veritas | 16 +
maak.scm | 26 +-
man/veritas.1 | 338 +++++++++++++
src/veritas/assert.scm | 856 ++++++++++++++++++++-------------
src/veritas/bdd.scm | 180 +++++++
src/veritas/cli.scm | 361 ++++++++++++++
src/veritas/container.scm | 365 ++++++++++++++
src/veritas/generator.scm | 72 +--
src/veritas/mock.scm | 207 ++++++++
src/veritas/prelude.scm | 328 +++++++++----
src/veritas/reporter.scm | 391 +++++++++++++--
src/veritas/runner.scm | 435 +++++++++++++++--
src/veritas/shuffle.scm | 40 +-
src/veritas/snapshot.scm | 164 +++++++
src/veritas/table.scm | 78 +++
src/veritas/veritas.scm | 654 +++++++++++++++++++------
test/veritas/unit/assertions.scm | 221 +++++++++
test/veritas/unit/bdd.scm | 125 +++++
test/veritas/unit/cli.scm | 81 ++++
test/veritas/unit/container.scm | 154 ++++++
test/veritas/unit/generator/bounds.scm | 100 ++++
test/veritas/unit/introduction.scm | 60 ++-
test/veritas/unit/jobs.scm | 171 +++++++
test/veritas/unit/matchers.scm | 148 ++++++
test/veritas/unit/mock.scm | 140 ++++++
test/veritas/unit/nesting.scm | 80 +++
test/veritas/unit/numeric/a/num.scm | 4 +-
test/veritas/unit/partition.scm | 80 +++
test/veritas/unit/rerun.scm | 106 ++++
test/veritas/unit/shuffle.scm | 90 ++++
test/veritas/unit/snapshot.scm | 171 +++++++
test/veritas/unit/table.scm | 81 ++++
test/veritas/unit/timeout.scm | 280 +++++++++++
34 files changed, 6574 insertions(+), 798 deletions(-)
create mode 100755 bin/veritas
create mode 100644 man/veritas.1
create mode 100644 src/veritas/bdd.scm
create mode 100644 src/veritas/cli.scm
create mode 100644 src/veritas/container.scm
create mode 100644 src/veritas/mock.scm
create mode 100644 src/veritas/snapshot.scm
create mode 100644 src/veritas/table.scm
create mode 100644 test/veritas/unit/assertions.scm
create mode 100644 test/veritas/unit/bdd.scm
create mode 100644 test/veritas/unit/cli.scm
create mode 100644 test/veritas/unit/container.scm
create mode 100644 test/veritas/unit/generator/bounds.scm
create mode 100644 test/veritas/unit/jobs.scm
create mode 100644 test/veritas/unit/matchers.scm
create mode 100644 test/veritas/unit/mock.scm
create mode 100644 test/veritas/unit/nesting.scm
create mode 100644 test/veritas/unit/partition.scm
create mode 100644 test/veritas/unit/rerun.scm
create mode 100644 test/veritas/unit/shuffle.scm
create mode 100644 test/veritas/unit/snapshot.scm
create mode 100644 test/veritas/unit/table.scm
create mode 100644 test/veritas/unit/timeout.scm
→ 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 2eee942187ca1d03f1a5282e84938b09127dff56
Author: Josep Bigorra <jjbigorra@gmail.com>
Date: Wed Oct 14 20:17:38 2026 +0200
docs: Add to README more projects that use Veritas
M README.org
→ running command: cd /etc/byggsteg/job-clone/veritas/trunk && maak test
removed 'reports/lcov/coverage-1790234930-273872.info'
removed 'reports/lcov/coverage-1790234930-76982.info'
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 1.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 2.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 2.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 3.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 4.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 4.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 5.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 6.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 6.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 7.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 8.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 9.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 9.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 10.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 11.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 11.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 12.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 13.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 13.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 14.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 15.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 17.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 18.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 18.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 19.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 21.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 22.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 22.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 23.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 24.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 26.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 27.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 27.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 28.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 29.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 29.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 30.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 31.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 31.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 32.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 34.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 34.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 35.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 36.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 36.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 37.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 38.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 38.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 39.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 41.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 41.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 42.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 43.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 43.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 44.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 45.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 45.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 46.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 47.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 47.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 48.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 49.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 51.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 52.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 52.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 53.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 54.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 54.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 55.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 56.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 56.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 57.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 58.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 59.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 59.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 61.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 61.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 62.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 63.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 63.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 64.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 65.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 67.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 68.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 68.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 69.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 70.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 70.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 71.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 72.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 72.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 73.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 74.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 76.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 77.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 77.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 78.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 79.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 79.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 81.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 81.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 82.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 83.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 84.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 84.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 85.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 86.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 86.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 87.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 88.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 88.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 89.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 90.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 91.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 91.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 92.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 93.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 93.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 94.4%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 95.1%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 95.8%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 96.5%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 97.2%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 97.9%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 98.6%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 99.3%
The following derivation will be built:
/gnu/store/69rq63q9mmyfy38l2imbl9ryqvk8aja5-profile.drv
1.2 MB will be downloaded
.
.
..
.
.
.
.
..
.
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 9 packages...
;;; 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
;;; note: source file ./src/veritas/prelude.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/prelude.scm.go
;;; compiling ./src/veritas/prelude.scm
;;; 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
;;; note: source file ./src/veritas/reporter.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/reporter.scm.go
;;; compiling ./src/veritas/reporter.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/reporter.scm.go
;;; compiled /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/veritas.scm
;;; newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/veritas.go
;;; note: source file ./src/veritas/veritas.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/veritas.scm.go
;;; compiling ./src/veritas/veritas.scm
;;; note: source file ./src/veritas/assert.scm
;;; newer than compiled /gnu/store/1xfphns7yvbizg1xwfnqigbnl3mrvfx7-profile/lib/guile/3.0/site-ccache/veritas/assert.go
;;; note: source file ./src/veritas/assert.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/assert.scm.go
;;; compiling ./src/veritas/assert.scm
;;; compiled /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
;;; note: source file ./src/veritas/shuffle.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/shuffle.scm.go
;;; compiling ./src/veritas/shuffle.scm
;;; compiled /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
;;; note: source file ./src/veritas/generator.scm
;;; newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/generator.scm.go
;;; compiling ./src/veritas/generator.scm
;;; compiled /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/veritas.scm.go
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/veritas/trunk/src/veritas/runner.scm.go
;;; compiling ./test/veritas/unit/rerun.scm
;;; compiled
scanning directories for unit tests...
scanning present working directory for unit tests...
shuffled the files with seed 237494469 (replay with VERITAS_SEED=237494469)
found unit tests: (rerun.scm introduction.scm mock.scm table.scm lists.scm shuffle.scm numeric/a/num.scm matchers.scm nesting.scm partition.scm generator/bounds.scm generator/simple.scm snapshot.scm assertions.scm jobs.scm timeout.scm container.scm cli.scm simple.scm bdd.scm)
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
[pass] got: (the failing one)
[test] names are found at any depth, through nested suites
[pass] got: (the failing one)
[test] a run that passed records nothing to rerun
[pass] got: ()
[test] the record round-trips through the report file
[pass] got: (the failing one)
[pass] got: (the failing one)
[test] an empty record is a record, so nothing is rerun
[pass] got: ()
[pass] got: ()
[pass] got: #f
[pass] got: #f
[pass] got: #t
[pass] got: #t
[pass] got: #t
[info] ran 1 tasks in: 0 seconds, 4605 microseconds
running unit tests from file: introduction.scm, entrypoint: spec
[info] shuffled with seed 237494469 (replay with VERITAS_SEED=237494469)
------------------------------------------
[suite] Advanced Veritas Features
[info] TRANSIRE RUBICONEM
[info] ALEA IACTA EST
[test] Addition ValidationInitializing...
[pass] got: 4
[test] A test with a complex computation block
[info] before test runs
[info] after test runs
[assert] Complex computation inside an assertion
[pass] got: 144
------------------------------------------
[suite] Error and Exception Handling
[test] Summing a list with non-numeric elements
[assert] Should fail when list contains non-numbers
[pass] success catching error: wrong-type-arg: (+ Wrong type argument in position ~A: ~S (2 a) (a))
[test] Valid summation should not throw an error
[assert] Should not fail with a valid list of numbers
[pass] success running without errors
------------------------------------------
[suite] Getting Started with Assertions
[test] Basic String and Predicate Tests
[assert] String comparison should be case-sensitive
[pass] got: #f
[assert] Greeting should contain the provided name
[pass] got: #t
[assert] 10 should be greater than 5
[pass] got: #t
[assert] Greeting should be personalized
[pass] got: Hello, Veritas!
------------------------------------------
[suite] Testing Logic and List Operations
[test] Number Classification Logic
[assert] 99 should be classified as positive
[pass] got: positive
[assert] -1 should be classified as negative
[pass] got: negative
[assert] 0 should be classified as zero
[pass] got: zero
[test] List Summation
[assert] Sum of an empty list should be 0
[pass] got: 0
[assert] Sum of elements 1 through 5 should be 15
[pass] got: 15
------------------------------------------
[suite] Lifecycle hooks bracket their assertions
[test] a #:before hook prepares state its own cases can see
[assert] #:before has already run
[pass] got: (suite-before-all test-before)
[test] the #:after of the test before it already ran
[pass] got: (suite-before-all test-before test-after)
+----------------------------------------------+
[benchmark]
Computation of the factorial of 10000
[run #0]
% cumulative self
time seconds seconds procedure
100.00 0.12 0.12 override/fibers/events-impl.scm:81:0:pump-epoll-guardian
0.00 346.65 0.00 veritas/unit/introduction.scm:184:0:factorial
0.00 0.12 0.00 anon #x39ed7cb0
0.00 0.12 0.00 %after-gc-thunk
0.00 0.12 0.00 veritas/veritas.scm:567:93
---
Sample count: 6
Total time: 0.119989673 seconds (0.100447283 seconds in GC)
[run #1]
% cumulative self
time seconds seconds procedure
100.00 0.15 0.15 override/fibers/events-impl.scm:81:0:pump-epoll-guardian
0.00 454.71 0.00 veritas/unit/introduction.scm:184:0:factorial
0.00 0.15 0.00 anon #x39ed7cb0
0.00 0.15 0.00 %after-gc-thunk
0.00 0.15 0.00 veritas/veritas.scm:567:93
---
Sample count: 7
Total time: 0.146478675 seconds (0.128384727 seconds in GC)
[info] ran 6 tasks in: 1 seconds, -720626 microseconds
running unit tests from file: mock.scm, entrypoint: spec
------------------------------------------
[suite] test doubles
[test] a spy records the calls and the results
[pass] got: 3
[pass] got: 7
[pass] got: #t
[pass] got: ((1 2) (3 4))
[pass] got: (3 7)
[pass] got: 2
[pass] got: #t
[pass] got: #f
[test] a stub ignores its arguments and returns a value
[pass] got: 0
[pass] got: 0
[pass] got: (() (some arguments))
[pass] got: 2
[test] assertions read the spy when they run
[assert] send was called
[fail] error, expect: #t, got: #f
[pass] got: #f
[assert] send was called
[pass] got: #t
[pass] got: #t
[assert] send was called with (ada thanks)
[pass] got: ((ada thanks))
[pass] got: #t
[assert] send was called with (ada)
[fail] error, expect: (ada), got: ((ada thanks))
[pass] got: #f
[assert] send was called 1 time(s)
[pass] got: 1
[pass] got: #t
[assert] send was called 2 time(s)
[fail] error, expect: 2, got: 1
[pass] got: #f
[test] a spy is an ordinary procedure
[pass] got: (2 4 6)
[pass] got: 3
[test] a binding is replaced and restored
[pass] got: 42
[pass] got: 0
[pass] got: 42
[pass] got: #t
[test] a call that reads the binding at run time sees the replacement
[pass] got: 0
[test] a binding is restored even when the body raises
[pass] got: 42
[info] ran 1 tasks in: 0 seconds, 10754 microseconds
running unit tests from file: table.scm, entrypoint: spec
[info] shuffled with seed 237494469 (replay with VERITAS_SEED=237494469)
------------------------------------------
[suite] cases->table names the columns
[test] indexes every case by the key
[pass] got: ((:a :a 1) (:b :b 2))
------------------------------------------
[suite] collection emptiness
------------------------------------------
[suite] string ""
[test] emptiness matches
[pass] got: #t
------------------------------------------
[suite] string "x"
[test] emptiness matches
[pass] got: #f
------------------------------------------
[suite] integer addition
[test] 10 + 20 = 30
[pass] got: 30
[test] 0 + 0 = 0
[pass] got: 0
[test] -1 + 1 = 0
[pass] got: 0
[test] 1 + 2 = 3
[pass] got: 3
[test] 100 + -100 = 0
[pass] got: 0
------------------------------------------
[suite] string reversal is involutive
[test] reversing "" twice is identity
[pass] got:
[test] reversing "racecar" twice is identity
[pass] got: racecar
[test] reversing "ab" twice is identity
[pass] got: ab
[test] reversing "a" twice is identity
[pass] got: a
[test] reversing "veritas" twice is identity
[pass] got: veritas
------------------------------------------
[suite] grouped squares
------------------------------------------
[suite] n = 2
[test] square is correct
[pass] got: 4
------------------------------------------
[suite] n = 1
[test] square is correct
[pass] got: 1
------------------------------------------
[suite] n = 3
[test] square is correct
[pass] got: 9
[info] ran 5 tasks in: 0 seconds, 3395 microseconds
running unit tests from file: lists.scm, entrypoint: spec
[info] shuffled with seed 237494469 (replay with VERITAS_SEED=237494469)
------------------------------------------
[suite] List Manipulation Tests
[test] Get First Element
[assert] First element of a symbol list
[pass] got: a
[assert] First element of an empty list should be #f
[pass] got: #f
[assert] First element of a number list
[pass] got: 1
[test] List Length
[assert] Length of list with 3 elements
[pass] got: 3
[assert] Length of list with one element
[pass] got: 1
[assert] Length of empty list
[pass] got: 0
[test] List Concatenation
[assert] Concatenate two empty lists
[pass] got: ()
[assert] Concatenate empty list with non-empty
[pass] got: (a b)
[assert] Concatenate two non-empty lists
[pass] got: (1 2 3 4 5)
[assert] Concatenate non-empty list with empty
[pass] got: (x y)
[info] ran 1 tasks in: 0 seconds, 945 microseconds
running unit tests from file: shuffle.scm, entrypoint: spec
------------------------------------------
[suite] seeded shuffling
[test] the same seed gives the same order
[pass] got: (2 4 5 1 3)
[test] two different seeds are not forced to agree
[pass] got: (1 2 3 4 5)
[pass] got: (1 2 3 4 5)
[test] short lists come back untouched
[pass] got: ()
[pass] got: (1)
[test] a fresh seed is a usable seed
[pass] got: #t
[pass] got: (1 2 3)
[test] an explicit seed is used and remembered
[pass] got: 7
[pass] got: 7
[test] seeded-shuffle follows the run's seed
[pass] got: (4 3 1 2)
[info] ran 1 tasks in: 0 seconds, 929 microseconds
running unit tests from file: numeric/a/num.scm, entrypoint: spec
[info] shuffled with seed 237494469 (replay with VERITAS_SEED=237494469)
------------------------------------------
[suite] Basic Suite
[test] Basic Numeric Tests
[assert] checks if addition works
[pass] got: 4
[pass] got: 0
[pass] got: 1
[assert] arithmetic approximation
[pass] got: 0.99999999999
[pass] got: 1
[assert] arithmetic approximation
[pass] got: 0.9999999
[assert] arithmetic approximation
[pass] got: 0.99999999999
------------------------------------------
[suite] Predicate Tests
[test] Even Number Checks
[assert] 0 should be even
[pass] got: #t
[assert] 7 should not be even
[pass] got: #f
[assert] 4 should be even
[pass] got: #t
[assert] 1 should not be even
[pass] got: #f
[info] ran 2 tasks in: 0 seconds, 1488 microseconds
[debug] assertion-results: (#t #t #t #t #t #t #t #t #t #t #t)
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 7f7902f6b540 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 7f7906c59d40>, got: hello
[pass] got: hello
[fail] error, expect: #<regexp 7f7906c59cc0>, 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 237494469 (replay with VERITAS_SEED=237494469)
------------------------------------------
[suite] matcher edge cases and failures
[test] not-contains
[pass] got: #f
[pass] got: #t
[test] in-range boundaries are inclusive
[pass] got: #f
[pass] got: #t
[pass] got: #t
[test] vector containment
[pass] got: #f
[pass] got: #t
[test] hash tables are containers too
[pass] got: #t
[pass] got: #f
[test] one-of
[pass] got: #f
[pass] got: #t
[test] length and emptiness of unsized values
[pass] got: #f
[pass] got: #t
[pass] got: #f
[pass] got: #f
[test] not-matches
[pass] got: #t
[pass] got: #f
[test] matches accepts a compiled regexp
[pass] got: #f
[pass] got: #t
[test] length on vectors and strings
[pass] got: #t
[pass] got: #f
[pass] got: #t
[test] assert-raises failure paths
[pass] got: #f
[pass] got: #f
[pass] got: #t
------------------------------------------
[suite] matcher result wiring
[test] failing matchers are reported as failures
[pass] got: #f
[pass] got: #t
[test] assert-raises fails when nothing is raised
[pass] got: #f