This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
31
unikernel/duniverse/lwt/test/unix/dummy.ml
Normal file
31
unikernel/duniverse/lwt/test/unix/dummy.ml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
(* This file is part of Lwt, released under the MIT license. See LICENSE.md for
|
||||
details, or visit https://github.com/ocsigen/lwt/blob/master/LICENSE.md. *)
|
||||
|
||||
|
||||
|
||||
let test_input_str = "the quick brown fox jumps over the lazy dog"
|
||||
let test_input = Bytes.of_string test_input_str
|
||||
let test_input_len = Bytes.length test_input
|
||||
|
||||
let read () =
|
||||
let buf = Bytes.create test_input_len in
|
||||
let rec aux n =
|
||||
let i = Unix.read Unix.stdin buf n (Bytes.length buf - n) in
|
||||
if i = 0 || n + i = test_input_len then
|
||||
Bytes.equal buf test_input
|
||||
else aux (n + i)
|
||||
in
|
||||
if aux 0 then
|
||||
(* make sure there's nothing more to read *)
|
||||
0 = Unix.read Unix.stdin buf 0 1
|
||||
else false
|
||||
|
||||
let write fd =
|
||||
assert (test_input_len = Unix.write fd test_input 0 test_input_len)
|
||||
|
||||
let () =
|
||||
match Sys.argv.(1) with
|
||||
| "read" -> exit @@ if read () then 0 else 1
|
||||
| "write" -> write Unix.stdout
|
||||
| "errwrite" -> write Unix.stderr
|
||||
| _ -> invalid_arg "Sys.argv"
|
||||
Loading…
Add table
Add a link
Reference in a new issue