summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorยท๐‘‘๐‘ด๐‘•๐‘‘๐‘ฉ๐‘ค2025-12-11 17:38:54 +0000
committerยท๐‘‘๐‘ด๐‘•๐‘‘๐‘ฉ๐‘ค2025-12-11 17:38:54 +0000
commita9d4d2402d20617d27bf5b1bbc510f5f90890c09 (patch)
tree8c96c34df5af5dd0e6af4ec598b679573ec84de3
parent2e69e365b7834d224df41cb08cfaf8f15c4a078a (diff)
downloadnixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar
nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.gz
nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.bz2
nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.lz
nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.xz
nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.zst
nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.zip
qcheck manifest input
-rw-r--r--test/test_input.ml30
1 files changed, 27 insertions, 3 deletions
diff --git a/test/test_input.ml b/test/test_input.ml
index d4f68b2..a9c63a9 100644
--- a/test/test_input.ml
+++ b/test/test_input.ml
@@ -5,8 +5,8 @@
open Alcotest
open Nixtamal
-let suite = [
- test_case "Manifest latest-cmd to KDL" `Quick (fun () ->
+let suite =
+ [test_case "Manifest latest-cmd to KDL" `Quick (fun () ->
let kdl = testable Kdl.pp Kdl.equal in
let open Nixtamal.Input.Latest.Cmd in
let t = Input.Template.make in
@@ -129,4 +129,28 @@ let suite = [
in
check input "Frozen Pijul KDL roundrip" out_input in_input
);
-]
+ ] @
+ List.map QCheck_alcotest.to_alcotest [
+ QCheck.Test.make
+ ~name: "Manifest input codec sameshape"
+ (QCheck.make ~print: (Fmt.str "%a" Manifest.Input'.pp) Manifest.Input'.gen)
+ (fun input ->
+ let back_and_forth =
+ input
+ |> Manifest.Input'.codec.to_node
+ |> Manifest.Input'.codec.of_node
+ in
+ match back_and_forth with
+ | Ok input' when input' = input ->
+ true
+ | Ok input' ->
+ QCheck.Test.fail_reportf
+ "Aimed for:@,%a@.@.But got:@,%a@."
+ Manifest.Input'.pp
+ input
+ Manifest.Input'.pp
+ input'
+ | Error err ->
+ QCheck.Test.fail_reportf "%a" Fmt.(list ~sep: semi Util.KDL.Valid.pp_err) err;
+ );
+ ]