diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6d49c554..b6200df5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,44 +29,44 @@ jobs: - os: windows-latest ocaml-compiler: "4.14" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false - os: ubuntu-latest ocaml-compiler: "4.08" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false - os: ubuntu-latest ocaml-compiler: "4.09" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false - os: ubuntu-latest ocaml-compiler: "4.10" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false - os: ubuntu-latest ocaml-compiler: "4.11" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false - os: ubuntu-latest ocaml-compiler: "4.12" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false - os: ubuntu-latest ocaml-compiler: "4.13" - packages: "alcotest alcotest-js alcotest-lwt alcotest-mirage" - opam-local-packages: "alcotest.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" + packages: "alcotest alcotest-async alcotest-js alcotest-lwt alcotest-mirage" + opam-local-packages: "alcotest.opam alcotest-async.opam alcotest-js.opam alcotest-lwt.opam alcotest-mirage.opam" runtest: false runs-on: ${{ matrix.os }} diff --git a/examples/async/dune b/examples/async/dune new file mode 100644 index 00000000..fbb588e9 --- /dev/null +++ b/examples/async/dune @@ -0,0 +1,13 @@ +(test + (name test) + (modes exe) + (preprocess + (pps ppx_jane)) + (libraries + alcotest + alcotest-async + async + async_kernel + async_unix + core + core_unix.time_float_unix)) diff --git a/examples/async/test.ml b/examples/async/test.ml new file mode 100644 index 00000000..676200d6 --- /dev/null +++ b/examples/async/test.ml @@ -0,0 +1,29 @@ +open Async +open Async_unix + +let plain_test () = Alcotest.(check int) "same int" 42 42 + +let async_test_check_raises () = + (* Use timeout of 1.0 as by default, Alcotest timeout after 2.0 *) + let%bind () = Clock.after (Time_float_unix.Span.of_sec 1.0) in + Alcotest.check_raises "Exit" Exit (fun () -> raise Exit); + return () + +let async_test () = + (* Use timeout of 1.0 as by default, Alcotest timeout after 2.0 *) + let%bind () = Clock.after (Time_float_unix.Span.of_sec 1.0) in + Alcotest.(check int) "same int" 42 42; + return () + +let () = + Async.Thread_safe.block_on_async_exn (fun () -> + let open Alcotest_async in + run "Async tests" + [ + ( "basic", + [ + test_case "Async" `Quick async_test; + test_case "Async check raises" `Quick async_test_check_raises; + test_case_sync "Plain" `Quick plain_test; + ] ); + ])