summaryrefslogtreecommitdiff
path: root/src_test
diff options
context:
space:
mode:
authorStephane Glondu <steph@glondu.net>2019-08-20 11:14:38 +0200
committerStephane Glondu <steph@glondu.net>2019-08-20 11:14:38 +0200
commitd8ec95e219762a402fea7edd51d80b462c3e839a (patch)
treeccd303f6321ebb9b00d5ab2145f17db063b14351 /src_test
parent5c3452d8a43e801580493edabb79538d854ff77a (diff)
New upstream version 4.4
Diffstat (limited to 'src_test')
-rw-r--r--src_test/create/dune4
-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/dune4
-rw-r--r--src_test/deriving/test_ppx_deriving.ml (renamed from src_test/test_ppx_deriving.ml)0
-rw-r--r--src_test/dune89
-rw-r--r--src_test/enum/dune4
-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/dune9
-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/dune9
-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/dune9
-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/dune4
-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/dune9
-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/dune9
-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/dune9
-rw-r--r--src_test/runtime/test_runtime.cppo.ml39
-rw-r--r--src_test/show/dune9
-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;