From fbfb5e71bfd649c163fffa250dd0942fba4728aa Mon Sep 17 00:00:00 2001 From: Jan Midtgaard Date: Fri, 23 Feb 2024 09:53:33 +0100 Subject: [PATCH 1/2] Generate out-of-bounds index only 1/8 --- src/floatarray/stm_tests.ml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/floatarray/stm_tests.ml b/src/floatarray/stm_tests.ml index 87d5bfa79..e3a7b489f 100644 --- a/src/floatarray/stm_tests.ml +++ b/src/floatarray/stm_tests.ml @@ -38,7 +38,8 @@ struct type sut = Float.Array.t let arb_cmd s = - let int_gen = Gen.(oneof [small_nat; int_bound (List.length s - 1)]) in + let int_gen = Gen.(frequency [ (1,small_nat); + (7,int_bound (List.length s - 1)); ]) in let float_gen = Gen.float in QCheck.make ~print:show_cmd (*~shrink:shrink_cmd*) Gen.(oneof From 08ff3b40e3804e6c2269fb7b8255fd7092a26ca4 Mon Sep 17 00:00:00 2001 From: Jan Midtgaard Date: Fri, 23 Feb 2024 09:54:53 +0100 Subject: [PATCH 2/2] Avoid polymorphic equality --- src/floatarray/stm_tests.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/floatarray/stm_tests.ml b/src/floatarray/stm_tests.ml index e3a7b489f..ab7445a8d 100644 --- a/src/floatarray/stm_tests.ml +++ b/src/floatarray/stm_tests.ml @@ -125,7 +125,7 @@ struct if i < 0 || l < 0 || i+l > List.length s then r = Error (Invalid_argument "Float.Array.fill") else r = Ok () - | To_list, Res ((List Float,_),fs) -> fs = s + | To_list, Res ((List Float,_),fs) -> List.equal Float.equal fs s | Mem f, Res ((Bool,_),r) -> r = List.mem f s | Sort, Res ((Unit,_),r) -> r = () | To_seq, Res ((Seq Float,_),r) -> Seq.equal (=) r (List.to_seq s)