diff options
author | Stephane Glondu <steph@glondu.net> | 2019-08-20 11:14:38 +0200 |
---|---|---|
committer | Stephane Glondu <steph@glondu.net> | 2019-08-20 11:14:38 +0200 |
commit | d8ec95e219762a402fea7edd51d80b462c3e839a (patch) | |
tree | ccd303f6321ebb9b00d5ab2145f17db063b14351 /src_test | |
parent | 5c3452d8a43e801580493edabb79538d854ff77a (diff) |
New upstream version 4.4
Diffstat (limited to 'src_test')
-rw-r--r-- | src_test/create/dune | 4 | ||||
-rw-r--r-- | src_test/create/test_deriving_create.ml (renamed from src_test/test_deriving_create.ml) | 0 | ||||
-rw-r--r-- | src_test/deriving/dune | 4 | ||||
-rw-r--r-- | src_test/deriving/test_ppx_deriving.ml (renamed from src_test/test_ppx_deriving.ml) | 0 | ||||
-rw-r--r-- | src_test/dune | 89 | ||||
-rw-r--r-- | src_test/enum/dune | 4 | ||||
-rw-r--r-- | src_test/enum/test_deriving_enum.ml (renamed from src_test/test_deriving_enum.ml) | 0 | ||||
-rw-r--r-- | src_test/eq/dune | 9 | ||||
-rw-r--r-- | src_test/eq/test_deriving_eq.cppo.ml (renamed from src_test/test_deriving_eq.cppo.ml) | 2 | ||||
-rw-r--r-- | src_test/fold/dune | 9 | ||||
-rw-r--r-- | src_test/fold/test_deriving_fold.cppo.ml (renamed from src_test/test_deriving_fold.cppo.ml) | 1 | ||||
-rw-r--r-- | src_test/iter/dune | 9 | ||||
-rw-r--r-- | src_test/iter/test_deriving_iter.cppo.ml (renamed from src_test/test_deriving_iter.cppo.ml) | 2 | ||||
-rw-r--r-- | src_test/make/dune | 4 | ||||
-rw-r--r-- | src_test/make/test_deriving_make.ml (renamed from src_test/test_deriving_make.ml) | 0 | ||||
-rw-r--r-- | src_test/map/dune | 9 | ||||
-rw-r--r-- | src_test/map/test_deriving_map.cppo.ml (renamed from src_test/test_deriving_map.cppo.ml) | 12 | ||||
-rw-r--r-- | src_test/ord/dune | 9 | ||||
-rw-r--r-- | src_test/ord/test_deriving_ord.cppo.ml (renamed from src_test/test_deriving_ord.cppo.ml) | 4 | ||||
-rw-r--r-- | src_test/runtime/dune | 9 | ||||
-rw-r--r-- | src_test/runtime/test_runtime.cppo.ml | 39 | ||||
-rw-r--r-- | src_test/show/dune | 9 | ||||
-rw-r--r-- | src_test/show/test_deriving_show.cppo.ml (renamed from src_test/test_deriving_show.cppo.ml) | 15 |
23 files changed, 145 insertions, 98 deletions
diff --git a/src_test/create/dune b/src_test/create/dune new file mode 100644 index 0000000..24e8835 --- /dev/null +++ b/src_test/create/dune @@ -0,0 +1,4 @@ +(test + (name test_deriving_create) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.create ppx_deriving.show))) diff --git a/src_test/test_deriving_create.ml b/src_test/create/test_deriving_create.ml index 6b0b21f..6b0b21f 100644 --- a/src_test/test_deriving_create.ml +++ b/src_test/create/test_deriving_create.ml diff --git a/src_test/deriving/dune b/src_test/deriving/dune new file mode 100644 index 0000000..f7f91be --- /dev/null +++ b/src_test/deriving/dune @@ -0,0 +1,4 @@ +(test + (name test_ppx_deriving) + (libraries oUnit compiler-libs.common ppx_deriving.api) + (preprocess (pps ppx_deriving.ord ppx_deriving.show ppx_deriving.eq))) diff --git a/src_test/test_ppx_deriving.ml b/src_test/deriving/test_ppx_deriving.ml index 5e2125c..5e2125c 100644 --- a/src_test/test_ppx_deriving.ml +++ b/src_test/deriving/test_ppx_deriving.ml diff --git a/src_test/dune b/src_test/dune deleted file mode 100644 index 61ed9a3..0000000 --- a/src_test/dune +++ /dev/null @@ -1,89 +0,0 @@ -(rule - (deps test_deriving_show.cppo.ml) - (targets test_deriving_show.ml) - (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) - -(test - (name test_deriving_show) - (modules test_deriving_show) - (libraries oUnit) - (preprocess (pps ppx_deriving.show))) - -(test - (name test_deriving_create) - (modules test_deriving_create) - (libraries oUnit) - (preprocess (pps ppx_deriving.create ppx_deriving.show))) - -(test - (name test_deriving_enum) - (modules test_deriving_enum) - (libraries oUnit) - (preprocess (pps ppx_deriving.enum ppx_deriving.show))) - -(rule - (deps test_deriving_eq.cppo.ml) - (targets test_deriving_eq.ml) - (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) - -(test - (name test_deriving_eq) - (modules test_deriving_eq) - (libraries oUnit) - (preprocess (pps ppx_deriving.eq ppx_deriving.show))) - -(rule - (deps test_deriving_fold.cppo.ml) - (targets test_deriving_fold.ml) - (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) - -(test - (name test_deriving_fold) - (modules test_deriving_fold) - (libraries oUnit) - (preprocess (pps ppx_deriving.fold))) - -(rule - (deps test_deriving_iter.cppo.ml) - (targets test_deriving_iter.ml) - (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) - -(test - (name test_deriving_iter) - (modules test_deriving_iter) - (libraries oUnit) - (preprocess (pps ppx_deriving.iter ppx_deriving.show))) - -(test - (name test_deriving_make) - (modules test_deriving_make) - (libraries oUnit) - (preprocess (pps ppx_deriving.make ppx_deriving.show))) - -(rule - (deps test_deriving_map.cppo.ml) - (targets test_deriving_map.ml) - (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) - -(test - (name test_deriving_map) - (modules test_deriving_map) - (libraries oUnit) - (preprocess (pps ppx_deriving.map ppx_deriving.show))) - -(rule - (deps test_deriving_ord.cppo.ml) - (targets test_deriving_ord.ml) - (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) - -(test - (name test_deriving_ord) - (modules test_deriving_ord) - (libraries oUnit) - (preprocess (pps ppx_deriving.ord))) - -(test - (name test_ppx_deriving) - (modules test_ppx_deriving) - (libraries oUnit compiler-libs.common ppx_deriving.api) - (preprocess (pps ppx_deriving.ord ppx_deriving.show ppx_deriving.eq))) diff --git a/src_test/enum/dune b/src_test/enum/dune new file mode 100644 index 0000000..3aba723 --- /dev/null +++ b/src_test/enum/dune @@ -0,0 +1,4 @@ +(test + (name test_deriving_enum) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.enum ppx_deriving.show))) diff --git a/src_test/test_deriving_enum.ml b/src_test/enum/test_deriving_enum.ml index 6970acd..6970acd 100644 --- a/src_test/test_deriving_enum.ml +++ b/src_test/enum/test_deriving_enum.ml diff --git a/src_test/eq/dune b/src_test/eq/dune new file mode 100644 index 0000000..69c0111 --- /dev/null +++ b/src_test/eq/dune @@ -0,0 +1,9 @@ +(rule + (deps test_deriving_eq.cppo.ml) + (targets test_deriving_eq.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_deriving_eq) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.eq ppx_deriving.show))) diff --git a/src_test/test_deriving_eq.cppo.ml b/src_test/eq/test_deriving_eq.cppo.ml index 94a0b95..eb76b73 100644 --- a/src_test/test_deriving_eq.cppo.ml +++ b/src_test/eq/test_deriving_eq.cppo.ml @@ -14,7 +14,7 @@ type a7 = char [@@deriving eq] type a8 = string [@@deriving eq] type a9 = bytes [@@deriving eq] type r1 = int ref [@@deriving eq] -type r2 = int Pervasives.ref [@@deriving eq] +type r2 = int Pervasives.ref [@@ocaml.warning "-3"][@@deriving eq] type l = int list [@@deriving eq] type a = int array [@@deriving eq] type o = int option [@@deriving eq] diff --git a/src_test/fold/dune b/src_test/fold/dune new file mode 100644 index 0000000..35ba2c3 --- /dev/null +++ b/src_test/fold/dune @@ -0,0 +1,9 @@ +(rule + (deps test_deriving_fold.cppo.ml) + (targets test_deriving_fold.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_deriving_fold) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.fold))) diff --git a/src_test/test_deriving_fold.cppo.ml b/src_test/fold/test_deriving_fold.cppo.ml index 1ff3ecc..be68404 100644 --- a/src_test/test_deriving_fold.cppo.ml +++ b/src_test/fold/test_deriving_fold.cppo.ml @@ -8,6 +8,7 @@ let test_btree ctxt = assert_equal ~printer:string_of_int 6 (fold_btree (+) 0 btree) type 'a reflist = 'a Pervasives.ref list +[@@ocaml.warning "-3"] [@@deriving fold] let test_reflist ctxt = diff --git a/src_test/iter/dune b/src_test/iter/dune new file mode 100644 index 0000000..6f21485 --- /dev/null +++ b/src_test/iter/dune @@ -0,0 +1,9 @@ +(rule + (deps test_deriving_iter.cppo.ml) + (targets test_deriving_iter.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_deriving_iter) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.iter ppx_deriving.show))) diff --git a/src_test/test_deriving_iter.cppo.ml b/src_test/iter/test_deriving_iter.cppo.ml index 5f52e1f..6b05499 100644 --- a/src_test/test_deriving_iter.cppo.ml +++ b/src_test/iter/test_deriving_iter.cppo.ml @@ -10,6 +10,7 @@ module T : sig [@@deriving iter] type 'a reflist = 'a Pervasives.ref list + [@@ocaml.warning "-3"] [@@deriving iter] end = struct @@ -21,6 +22,7 @@ end = struct [@@deriving iter] type 'a reflist = 'a Pervasives.ref list + [@@ocaml.warning "-3"] [@@deriving iter] end diff --git a/src_test/make/dune b/src_test/make/dune new file mode 100644 index 0000000..7f5b8f4 --- /dev/null +++ b/src_test/make/dune @@ -0,0 +1,4 @@ +(test + (name test_deriving_make) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.make ppx_deriving.show))) diff --git a/src_test/test_deriving_make.ml b/src_test/make/test_deriving_make.ml index 51c8a67..51c8a67 100644 --- a/src_test/test_deriving_make.ml +++ b/src_test/make/test_deriving_make.ml diff --git a/src_test/map/dune b/src_test/map/dune new file mode 100644 index 0000000..0f98e7a --- /dev/null +++ b/src_test/map/dune @@ -0,0 +1,9 @@ +(rule + (deps test_deriving_map.cppo.ml) + (targets test_deriving_map.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_deriving_map) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.map ppx_deriving.show))) diff --git a/src_test/test_deriving_map.cppo.ml b/src_test/map/test_deriving_map.cppo.ml index 946e51d..d303638 100644 --- a/src_test/test_deriving_map.cppo.ml +++ b/src_test/map/test_deriving_map.cppo.ml @@ -100,7 +100,7 @@ let test_var2 ctxt = assert_equal ~printer:(show_var2 fmt_int) (A2 5) (map_var2 int_of_float (A2 5.)) let test_var3 ctxt = - let show,map = show_var3 fmt_int fmt_str, map_var3 ((+)1) String.uppercase_ascii in + let show,map = show_var3 fmt_int fmt_str, map_var3 ((+)1) String.uppercase [@warning "-3"] in assert_equal ~printer:show (A3 2) (map (A3 1)); assert_equal ~printer:show (B3 false) (map (B3 false)); assert_equal ~printer:show (C3("ABC", A3 3)) (map (C3("abc", A3 2))); @@ -123,10 +123,12 @@ let test_record2 ctxt = assert_equal ~printer:(show_record2 fmt_int) {a2=5;b2=0} (map_record2 int_of_float {a2=5.;b2=0}) let test_record3 ctxt = - assert_equal ~printer:(show_record3 fmt_int fmt_str) - {a3=5;b3=false;c3="ABC"} (map_record3 ((+)1) String.uppercase_ascii {a3=4;b3=false;c3="abc"}); - assert_equal ~printer:(show_record3 fmt_int fmt_flt) - {a3=97;b3=false;c3=4.} (map_record3 Char.code float_of_int {a3='a';b3=false;c3=4}) + let show,map = show_record3 fmt_int fmt_str, + map_record3 ((+)1) String.uppercase [@warning "-3"] + in + assert_equal ~printer:show {a3=5;b3=false;c3="ABC"} (map {a3=4;b3=false;c3="abc"}); + let show,map = show_record3 fmt_int fmt_flt, map_record3 Char.code float_of_int in + assert_equal ~printer:show {a3=97;b3=false;c3=4.} (map {a3='a';b3=false;c3=4}) let test_pvar3 ctxt = let show,map = show_pvar3 fmt_str fmt_int fmt_int, diff --git a/src_test/ord/dune b/src_test/ord/dune new file mode 100644 index 0000000..178df2c --- /dev/null +++ b/src_test/ord/dune @@ -0,0 +1,9 @@ +(rule + (deps test_deriving_ord.cppo.ml) + (targets test_deriving_ord.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_deriving_ord) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.ord))) diff --git a/src_test/test_deriving_ord.cppo.ml b/src_test/ord/test_deriving_ord.cppo.ml index 355e29a..c247d6a 100644 --- a/src_test/test_deriving_ord.cppo.ml +++ b/src_test/ord/test_deriving_ord.cppo.ml @@ -122,7 +122,9 @@ let test_ref1 ctxt = assert_equal ~printer (0) (compare_r1 (ref 0) (ref 0)); assert_equal ~printer (1) (compare_r1 (ref 1) (ref 0)) -type r2 = int Pervasives.ref [@@deriving ord] +type r2 = int Pervasives.ref +[@@ocaml.warning "-3"] +[@@deriving ord] let test_ref2 ctxt = assert_equal ~printer (-1) (compare_r2 (ref 0) (ref 1)); assert_equal ~printer (0) (compare_r2 (ref 0) (ref 0)); diff --git a/src_test/runtime/dune b/src_test/runtime/dune new file mode 100644 index 0000000..3b30e8b --- /dev/null +++ b/src_test/runtime/dune @@ -0,0 +1,9 @@ +(rule + (deps test_runtime.cppo.ml) + (targets test_runtime.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_runtime) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.eq ppx_deriving.show))) diff --git a/src_test/runtime/test_runtime.cppo.ml b/src_test/runtime/test_runtime.cppo.ml new file mode 100644 index 0000000..aac3fcf --- /dev/null +++ b/src_test/runtime/test_runtime.cppo.ml @@ -0,0 +1,39 @@ +let test_ref_included + (x : 'a ref) + = + (x : 'a Ppx_deriving_runtime.ref) + +let test_ref_qualified + (x : 'a ref) + = + (x : 'a Ppx_deriving_runtime.Pervasives.ref[@ocaml.warning "-3"]) + +let test_backtrace + (x : Printexc.raw_backtrace) + = + (x : Ppx_deriving_runtime.Printexc.raw_backtrace) + +let test_hashtbl + (x : ('a, 'b) Hashtbl.t) + = + (x : ('a, 'b) Ppx_deriving_runtime.Hashtbl.t) + +let test_result_qualified + (x : ('a, 'b) Result.result) + = + (x : ('a, 'b) Ppx_deriving_runtime.Result.t) + +#if OCAML_VERSION >= (4, 06, 0) +let test_result_included + (x : ('a, 'b) result) + = + (x : ('a, 'b) Ppx_deriving_runtime.Result.t) +#endif + +#if OCAML_VERSION >= (4, 07, 0) +let test_result_in_stdlib + (x : ('a, 'b) Stdlib.result) + = + (x : ('a, 'b) Ppx_deriving_runtime.Result.t) +#endif + diff --git a/src_test/show/dune b/src_test/show/dune new file mode 100644 index 0000000..0e95c5f --- /dev/null +++ b/src_test/show/dune @@ -0,0 +1,9 @@ +(rule + (deps test_deriving_show.cppo.ml) + (targets test_deriving_show.ml) + (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets}))) + +(test + (name test_deriving_show) + (libraries oUnit ppx_deriving.runtime) + (preprocess (pps ppx_deriving.show))) diff --git a/src_test/test_deriving_show.cppo.ml b/src_test/show/test_deriving_show.cppo.ml index 433eb31..093ce0f 100644 --- a/src_test/test_deriving_show.cppo.ml +++ b/src_test/show/test_deriving_show.cppo.ml @@ -12,8 +12,8 @@ type a7 = char [@@deriving show] type a8 = string [@@deriving show] type a9 = bytes [@@deriving show] type r = int ref [@@deriving show] -type r2 = int Pervasives.ref [@@deriving show] -type r3 = int Pervasives.ref ref [@@deriving show] +type r2 = int Pervasives.ref [@@ocaml.warning "-3"] [@@deriving show] +type r3 = int Pervasives.ref ref [@@ocaml.warning "-3"] [@@deriving show] type l = int list [@@deriving show] type a = int array [@@deriving show] type o = int option [@@deriving show] @@ -85,6 +85,16 @@ let test_record ctxt = assert_equal ~printer "{ Test_deriving_show.f1 = 1; f2 = \"foo\"; f3 = <opaque> }" (show_re { f1 = 1; f2 = "foo"; f3 = 1.0 }) +type variant = Foo of { + f1 : int; + f2 : string; + f3 : float [@opaque]; +} [@@deriving show] +let test_variant_record ctxt = + assert_equal ~printer + "Test_deriving_show.Foo {f1 = 1; f2 = \"foo\"; f3 = <opaque>}" + (show_variant (Foo { f1 = 1; f2 = "foo"; f3 = 1.0 })) + module M : sig type t = A [@@deriving show] @@ -247,6 +257,7 @@ let suite = "Test deriving(show)" >::: [ "test_poly" >:: test_poly; "test_poly_inherit" >:: test_poly_inherit; "test_record" >:: test_record; + "test_variant_record" >:: test_variant_record; "test_abstr" >:: test_abstr; "test_custom" >:: test_custom; "test_parametric" >:: test_parametric; |