diff --git a/src/dynarray/dune b/src/dynarray/dune index 092e73e3..21c5e602 100644 --- a/src/dynarray/dune +++ b/src/dynarray/dune @@ -1,12 +1,25 @@ -;; Tests of the Dynarray library - added in 5.2 +(* -*- tuareg -*- *) +(* We generate an appropriate dune stanza to avoid Dynarray tests build failures + on 5.0 and 5.1 with the opam-less CI GitHub action setup *) + +(* Use ocaml_version instead of ocaml_release (from 4.14) to support 4.12 opam install *) +let ocaml_version_pair = + let (major,minor) = match String.split_on_char '.' Sys.ocaml_version with + | major::minor::_ -> (major,minor) + | _ -> failwith "Unable to extract OCaml version" in + try (int_of_string major, int_of_string minor) + with Failure _ -> failwith "Failed to parse OCaml version" + +let dune = + if ocaml_version_pair >= (5,2) + then Printf.sprintf {| (test (name lin_tests) (modules lin_tests) (package multicoretests) (libraries qcheck-lin.domain) - (action (run %{test} --verbose)) - (enabled_if (>= %{ocaml_version} 5.2)) + (action (run %%{test} --verbose)) ) (test @@ -14,6 +27,15 @@ (modules stm_tests) (package multicoretests) (libraries qcheck-stm.sequential qcheck-stm.domain) - (action (run %{test} --verbose)) - (enabled_if (>= %{ocaml_version} 5.2)) + (action (run %%{test} --verbose)) ) +|} + else + Printf.sprintf {| +(rule + (alias runtest) + (package multicoretests) + (action (echo "Dynarray tests disabled as Dynarray is not available\n"))) +|} + +let () = Jbuild_plugin.V1.send dune