From ee41157baeb1ae3caea20ecb7b428aac16f84bb2 Mon Sep 17 00:00:00 2001 From: Etienne Millon Date: Tue, 23 Jul 2019 10:29:54 +0200 Subject: [PATCH] Add a Testable submodule --- test/unit/test_p256.ml | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/test/unit/test_p256.ml b/test/unit/test_p256.ml index 53a6e71..d5c262d 100644 --- a/test/unit/test_p256.ml +++ b/test/unit/test_p256.ml @@ -1,3 +1,19 @@ +module Testable = struct + let ok_or_error = + let pp ppf = function + | Ok () -> Format.fprintf ppf "ok" + | Error e -> Format.fprintf ppf "%a" Fiat_p256.pp_error e + in + let eq ra rb = + match (ra, rb) with + | Ok (), Ok () -> true + | Error (ea : Fiat_p256.error), Error eb -> ea = eb + | Ok _, Error _ -> false + | Error _, Ok _ -> false + in + Alcotest.testable pp eq +end + let key_pair_of_hex h = Fiat_p256.gen_key ~rng:(fun _ -> Hex.to_cstruct h) let scalar_of_hex h = fst (key_pair_of_hex h) @@ -109,23 +125,11 @@ let scalar_mult = ~expected: "48e82c9b82c88cb9fc2a5cff9e7c41bc4255ff6bd3814538c9b130877c07e4cf" ] +let to_ok_or_error = function + | Ok _ -> Ok () + | Error _ as e -> e + let point_validation = - let pp ppf = function - | Ok () -> Format.fprintf ppf "ok" - | Error e -> Format.fprintf ppf "%a" Fiat_p256.pp_error e - in - let eq ra rb = - match (ra, rb) with - | Ok (), Ok () -> true - | Error (ea : Fiat_p256.error), Error eb -> ea = eb - | Ok _, Error _ -> false - | Error _, Ok _ -> false - in - let to_result = function - | Ok _ -> Ok () - | Error _ as e -> e - in - let testable = Alcotest.testable pp eq in let test ~name ~x ~y ~expected = let scalar = scalar_of_hex @@ -139,8 +143,8 @@ let point_validation = , `Quick , fun () -> Fiat_p256.key_exchange scalar point - |> to_result - |> Alcotest.check testable __LOC__ expected ) + |> to_ok_or_error + |> Alcotest.check Testable.ok_or_error __LOC__ expected ) in let zero = `Hex (String.make 64 '0') in let sb =