This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
62
unikernel/duniverse/mtime/test/test_mtime_clock.ml
Normal file
62
unikernel/duniverse/mtime/test/test_mtime_clock.ml
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
(*---------------------------------------------------------------------------
|
||||
Copyright (c) 2015 The mtime programmers. All rights reserved.
|
||||
SPDX-License-Identifier: ISC
|
||||
---------------------------------------------------------------------------*)
|
||||
|
||||
open B0_testing
|
||||
|
||||
(* Note nothing is being asserted in these tests. *)
|
||||
|
||||
let test_available () = try ignore (Mtime_clock.elapsed ()) with
|
||||
| Sys_error e -> Test.failstop "No monotonic time available: %s" e
|
||||
|
||||
let test_counters () =
|
||||
Test.test "Mtime_clock.counter" @@ fun () ->
|
||||
let count max =
|
||||
let c = Mtime_clock.counter () in
|
||||
for i = 1 to max do () done;
|
||||
Mtime_clock.count c
|
||||
in
|
||||
let do_count max =
|
||||
let span = count max in
|
||||
let span_ns = Mtime.Span.to_uint64_ns span in
|
||||
Test.log "Count to % 8d: %10Luns %gs %a"
|
||||
max span_ns (Mtime.Span.to_float_ns span *. 1e-9) Mtime.Span.pp span
|
||||
in
|
||||
do_count 1000000;
|
||||
do_count 100000;
|
||||
do_count 10000;
|
||||
do_count 1000;
|
||||
do_count 100;
|
||||
do_count 10;
|
||||
do_count 1;
|
||||
()
|
||||
|
||||
let test_elapsed () =
|
||||
Test.test "Mtime_clock.elapsed ns - s - pp - dump" @@ fun () ->
|
||||
let span = Mtime_clock.elapsed () in
|
||||
Test.log " %Luns - %gs - %a - %a"
|
||||
(Mtime.Span.to_uint64_ns span)
|
||||
(Mtime.Span.to_float_ns span *. 1e-9)
|
||||
Mtime.Span.pp span
|
||||
Mtime.Span.dump span;
|
||||
()
|
||||
|
||||
let test_now () =
|
||||
Test.test "Mtime_clock.now ns - s - pp - dump " @@ fun () ->
|
||||
let t = Mtime_clock.now () in
|
||||
let span = Mtime.(span t (of_uint64_ns 0_L)) in
|
||||
Test.log " %Luns - %gs - %a - %a"
|
||||
(Mtime.to_uint64_ns t) (Mtime.Span.to_float_ns span *. 1e-9)
|
||||
Mtime.pp t Mtime.dump t;
|
||||
()
|
||||
|
||||
let main () =
|
||||
Test.main @@ fun () ->
|
||||
test_available ();
|
||||
test_counters ();
|
||||
test_elapsed ();
|
||||
test_now ();
|
||||
()
|
||||
|
||||
let () = if !Sys.interactive then () else exit (main ())
|
||||
Loading…
Add table
Add a link
Reference in a new issue