mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-07 03:35:30 -05:00
ci: try to test on mac OS again, amend tests, make mdx optional
This commit is contained in:
parent
d60bea1a98
commit
8a60d44946
6 changed files with 36 additions and 10 deletions
6
.github/workflows/main.yml
vendored
6
.github/workflows/main.yml
vendored
|
|
@ -16,9 +16,9 @@ jobs:
|
||||||
- run: opam pin -n .
|
- run: opam pin -n .
|
||||||
- run: opam depext -yt containers containers-data containers-thread
|
- run: opam depext -yt containers containers-data containers-thread
|
||||||
- run: opam install -t . --deps-only
|
- run: opam install -t . --deps-only
|
||||||
if: ${{ matrix.operating-system == 'ubuntu-latest' }}
|
if: ${{ matrix.operating-system != 'windows-latest' }}
|
||||||
- run: opam install . --deps-only # no test deps
|
- run: opam install . --deps-only # no test deps
|
||||||
if: ${{ matrix.operating-system != 'ubuntu-latest' }}
|
if: ${{ matrix.operating-system == 'windows-latest' }}
|
||||||
- run: opam exec -- dune build
|
- run: opam exec -- dune build
|
||||||
- run: opam exec -- dune runtest
|
- run: opam exec -- dune runtest
|
||||||
if: ${{ matrix.operating-system == 'ubuntu-latest' }}
|
if: ${{ matrix.operating-system != 'windows-latest' }}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ depends: [
|
||||||
"ounit" { with-test }
|
"ounit" { with-test }
|
||||||
"iter" { with-test }
|
"iter" { with-test }
|
||||||
"gen" { with-test }
|
"gen" { with-test }
|
||||||
"mdx" { with-test & >= "1.5.0" & < "2.0.0" }
|
#"mdx" { with-test & >= "1.5.0" & < "2.0.0" }
|
||||||
"odoc" { with-doc }
|
"odoc" { with-doc }
|
||||||
]
|
]
|
||||||
tags: [ "containers" "RAL" "functional" "vector" "okasaki" ]
|
tags: [ "containers" "RAL" "functional" "vector" "okasaki" ]
|
||||||
|
|
|
||||||
4
dune
4
dune
|
|
@ -1,7 +1,7 @@
|
||||||
(rule
|
(rule
|
||||||
(targets README.md.corrected)
|
(targets README.md.corrected)
|
||||||
(deps (package containers-data))
|
(deps (package containers) (package containers-data) ./src/mdx_runner.exe)
|
||||||
(action (run ocaml-mdx test %{dep:README.md} -o %{targets})))
|
(action (run ./src/mdx_runner.exe)))
|
||||||
|
|
||||||
(alias
|
(alias
|
||||||
(name runtest)
|
(name runtest)
|
||||||
|
|
|
||||||
9
src/dune
9
src/dune
|
|
@ -9,6 +9,9 @@
|
||||||
(rule
|
(rule
|
||||||
(targets flambda.flags)
|
(targets flambda.flags)
|
||||||
(mode fallback)
|
(mode fallback)
|
||||||
(action
|
(action (run ./mkflags.exe)))
|
||||||
(run ./mkflags.exe))
|
|
||||||
)
|
(executable
|
||||||
|
(name mdx_runner)
|
||||||
|
(libraries containers)
|
||||||
|
(modules mdx_runner))
|
||||||
|
|
|
||||||
21
src/mdx_runner.ml
Normal file
21
src/mdx_runner.ml
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
open Printf
|
||||||
|
|
||||||
|
let just_copy () =
|
||||||
|
CCIO.with_out "README.md.corrected" (fun oc ->
|
||||||
|
CCIO.with_in "README.md" (fun ic ->
|
||||||
|
CCIO.copy_into ic oc))
|
||||||
|
|
||||||
|
let () =
|
||||||
|
try
|
||||||
|
let e = Sys.command "ocaml-mdx test README.md -o README.md.corrected" in
|
||||||
|
if e <> 0 then (
|
||||||
|
printf "warning: ocaml-mdx exited with code %d\n" e;
|
||||||
|
just_copy();
|
||||||
|
) else (
|
||||||
|
print_endline "ocaml-mdx returned 0";
|
||||||
|
)
|
||||||
|
with Sys_error e ->
|
||||||
|
printf "error when running mdx: %s\n" e;
|
||||||
|
just_copy();
|
||||||
|
()
|
||||||
|
|
@ -169,8 +169,10 @@ let every ?delay timer d ~f =
|
||||||
));
|
));
|
||||||
CCSemaphore.acquire 1 sem; (* wait *)
|
CCSemaphore.acquire 1 sem; (* wait *)
|
||||||
OUnit.assert_equal ~printer:CCInt.to_string 6 (CCLock.get res);
|
OUnit.assert_equal ~printer:CCInt.to_string 6 (CCLock.get res);
|
||||||
OUnit.assert_bool "estimate delay" (abs_float (!stop -. start -. 0.5) < 0.2);
|
OUnit.assert_bool "delay >= 0.5" (!stop -. start >= 0.49999);
|
||||||
|
OUnit.assert_bool "delay < 2." (!stop -. start < 2.);
|
||||||
*)
|
*)
|
||||||
|
(* NOTE: could be tighter bounds, but travis' mac OS seems to be dog slow. *)
|
||||||
|
|
||||||
let active timer = not timer.stop
|
let active timer = not timer.stop
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue