This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
46
unikernel/duniverse/base/test/import.ml
Normal file
46
unikernel/duniverse/base/test/import.ml
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
include Base
|
||||
include Stdio
|
||||
include Base_for_tests
|
||||
include Base_test_helpers
|
||||
include Base_quickcheck.Export
|
||||
include Expect_test_helpers_base
|
||||
|
||||
let () = Int_conversions.sexp_of_int_style := `Underscores
|
||||
let is_none = Option.is_none
|
||||
let is_some = Option.is_some
|
||||
let ok_exn = Or_error.ok_exn
|
||||
let stage = Staged.stage
|
||||
let unstage = Staged.unstage
|
||||
|
||||
module type Hash = sig
|
||||
type t [@@deriving hash, sexp_of]
|
||||
end
|
||||
|
||||
let check_hash_coherence (type t) here (module T : Hash with type t = t) ts =
|
||||
List.iter ts ~f:(fun t ->
|
||||
let hash1 = T.hash t in
|
||||
let hash2 = [%hash: T.t] t in
|
||||
require
|
||||
here
|
||||
(hash1 = hash2)
|
||||
~cr:CR_soon
|
||||
~if_false_then_print_s:
|
||||
(lazy [%message "" ~value:(t : T.t) (hash1 : int) (hash2 : int)]))
|
||||
;;
|
||||
|
||||
module type Int_hash = sig
|
||||
include Hash
|
||||
|
||||
val of_int_exn : int -> t
|
||||
val min_value : t
|
||||
val max_value : t
|
||||
end
|
||||
|
||||
let check_int_hash_coherence (type t) here (module I : Int_hash with type t = t) =
|
||||
check_hash_coherence
|
||||
here
|
||||
(module I)
|
||||
[ I.min_value; I.of_int_exn 0; I.of_int_exn 37; I.max_value ]
|
||||
;;
|
||||
|
||||
let test_conversion ~to_string f x = printf "%s --> %s\n" (to_string x) (to_string (f x))
|
||||
Loading…
Add table
Add a link
Reference in a new issue