1
- exception Skip_test of string
2
- let skip _stdenv =
3
- raise (Skip_test " io_uring not available in Docker" )
4
-
5
1
open Eio.Std
6
2
7
3
let skip_io_uring msg =
8
4
Eio. traceln " Skipping test: %s" msg;
9
5
Alcotest. skip ()
10
6
11
7
let handle_fallback = function
12
- | ` Msg msg ->
8
+ | Msg msg ->
13
9
Eio. traceln " Fallback triggered with message: %s" msg;
14
10
skip_io_uring msg
15
11
@@ -33,7 +29,7 @@ let read_one_byte ~sw r =
33
29
)
34
30
35
31
let test_poll_add () =
36
- Eio_linux. run @@ fun _stdenv ->
32
+ Eio_linux. run ~fallback: handle_fallback @@ fun _stdenv ->
37
33
Switch. run @@ fun sw ->
38
34
let r, w = Eio_unix. pipe sw in
39
35
let thread = read_one_byte ~sw r in
@@ -46,9 +42,9 @@ let test_poll_add () =
46
42
assert (sent = 1 );
47
43
let result = Promise. await_exn thread in
48
44
Alcotest. (check string ) " Received data" " !" result
49
- )
45
+
50
46
let test_poll_add_busy () =
51
- Eio_linux. run ~queue_depth: 2 @@ fun _stdenv ->
47
+ Eio_linux. run ~queue_depth: 2 ~fallback: handle_fallback @@ fun _stdenv ->
52
48
Switch. run @@ fun sw ->
53
49
let r, w = Eio_unix. pipe sw in
54
50
let a = read_one_byte ~sw r in
@@ -64,7 +60,7 @@ let test_poll_add_busy () =
64
60
Alcotest. (check string ) " Received data" " !" a;
65
61
let b = Promise. await_exn b in
66
62
Alcotest. (check string ) " Received data" " !" b
67
- )
63
+
68
64
(* Write a string to a pipe and read it out again. *)
69
65
let test_copy () =
70
66
Eio_linux. run ~queue_depth: 3 @@ fun _stdenv ->
0 commit comments