-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #504 from ocaml-multicore/opam-less-version-check
Opam-free version check in Dynarray test
- Loading branch information
Showing
1 changed file
with
27 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,41 @@ | ||
;; 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 | ||
(name stm_tests) | ||
(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 |