6 if Unix.fork () = 0 then
8 Unix.ADDR_INET (Unix.inet_addr_any, port) in
9 Unix.establish_server f sa
13 let send_test port f =
14 server port begin fun ic _ ->
15 try f () with _ -> ();
16 last_msg := input_line ic;
17 Unix.shutdown_connection ic
20 let recv_test port f =
21 server port begin fun ic oc ->
22 output_string oc "hi!";
23 try f () with _ -> ();
24 Unix.shutdown_connection ic
27 let _ = begin "socket.ml" >::: [
28 "send" >:: begin fun () ->
29 send_test 9000 begin fun () ->
31 Socket.connect "localhost" 9000 in
32 Socket.send socket "hi";
33 assert_equal "hi" !last_msg;
37 "recv" >:: begin fun () ->
38 recv_test 9001 begin fun () ->
40 Socket.connect "localhost" 9001 in
41 assert_equal "hi!" @@ Socket.recv socket 3;
45 ] end +> run_test_tt_main