summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-17 21:00:17 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-17 21:00:17 +0200
commitd8ce8c3806111e1d1ba54d2ef99a8ae550c7567b (patch)
tree90ce70d45eb104d642c3a1375f8c97b8853eb21f
parent301b9abd8e47e487dc5159d49d8e2432bc62488c (diff)
downloadcolitur-d8ce8c3806111e1d1ba54d2ef99a8ae550c7567b.tar.gz
colitur-d8ce8c3806111e1d1ba54d2ef99a8ae550c7567b.zip
test(cli): pin the version's shape, not its literalv0.2.0
The release target bumps bin/main.ml and dune-project, but cli.t pinned the literal too, so cutting 0.2.0 failed `make check` on a cram diff that was purely the bump working correctly. Every release would have had to edit a test for no gain. The shape is asserted here instead. The value is already checked where it can actually drift: the release target requires the freshly built binary to report the version it just wrote.
-rw-r--r--bin/main.ml2
-rw-r--r--colitur.opam2
-rw-r--r--dune-project2
-rw-r--r--test/cli.t13
4 files changed, 12 insertions, 7 deletions
diff --git a/bin/main.ml b/bin/main.ml
index 06732b3..fc50fae 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -368,7 +368,7 @@ let readings_report ~overlays y = resolved_year_report ~line:readings_line ~over
same reason. Deliberately NOT embedded in [help_text]: the cram test pins
help's first line, and a version in it would make every release edit a
test expectation for no gain. *)
-let version = "0.1.0"
+let version = "0.2.0"
let help_text =
{|colitur -- deterministic liturgical calendar engine (Roman rite, 1962)
diff --git a/colitur.opam b/colitur.opam
index 12d0e2b..98b3242 100644
--- a/colitur.opam
+++ b/colitur.opam
@@ -1,6 +1,6 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
-version: "0.1.0"
+version: "0.2.0"
synopsis: "Deterministic liturgical calendar engine (computus liturgicus)"
depends: [
"ocaml"
diff --git a/dune-project b/dune-project
index ccef6df..e150157 100644
--- a/dune-project
+++ b/dune-project
@@ -1,6 +1,6 @@
(lang dune 3.0)
(name colitur)
-(version 0.1.0)
+(version 0.2.0)
(generate_opam_files true)
(cram enable)
diff --git a/test/cli.t b/test/cli.t
index 9771c56..b19e8d4 100644
--- a/test/cli.t
+++ b/test/cli.t
@@ -247,11 +247,16 @@ not embedded in the help text above: this pin would then have to be edited
every release, for no gain. The Makefile's release target asserts the built
binary reports the version it just wrote, so the two cannot drift.
- $ colitur --version
- 0.1.0
+The SHAPE is pinned here, not the value. Pinning the literal would mean
+editing this test on every release for no gain, and the value is already
+asserted where it can actually drift: the Makefile's release target requires
+the freshly built binary to report the version it just wrote.
- $ colitur -V
- 0.1.0
+ $ colitur --version | grep -cE '^[0-9]+\.[0-9]+\.[0-9]+$'
+ 1
+
+ $ test "$(colitur --version)" = "$(colitur -V)" && echo same
+ same
Agreement with the package metadata (dune-project's own (version ...), which
generates colitur.opam) is NOT asserted here: the cram sandbox has no source