From 5ab38e089d81c3e3d4ca755afcd0cb1a8b6b18c7 Mon Sep 17 00:00:00 2001 From: octachron Date: Sun, 29 Sep 2024 22:16:40 +0200 Subject: [PATCH] Add a simple-json format for tests The simple format doesn't have conditional break hints, thus it should not sensitive to the difference of file name length on Windows --- core/args.ml | 2 + core/io.ml | 4 +- core/modes.ml | 5 +- core/params.ml | 6 + core/params.mli | 2 + lib/schematic.ml | 191 ++++++++++----- lib/schematic.mli | 7 +- tests/cases/abstract_module_type.ref | 17 +- tests/cases/abstract_module_type_more.ref | 17 +- tests/cases/alias_in_with.ref | 26 ++- tests/cases/alias_map.ref | 24 +- tests/cases/apply.ref | 24 +- tests/cases/basic.ref | 25 +- tests/cases/bindings.ref | 17 +- tests/cases/broken.ref | 30 ++- tests/cases/broken2.ref | 27 ++- tests/cases/broken3.ref | 17 +- tests/cases/bug.ref | 20 +- tests/cases/case.ref | 31 ++- tests/cases/destructive_substitutions.ref | 23 +- .../cases/destructive_substitutions_path.ref | 24 +- tests/cases/even_more_functor.ref | 26 ++- tests/cases/first-class-modules.ref | 29 ++- tests/cases/first_class_encore.ref | 23 +- tests/cases/first_class_more.ref | 18 +- tests/cases/foreign_arg_sig.ref | 26 ++- tests/cases/functor.ref | 17 +- tests/cases/functor_in_type_expr.ref | 28 ++- tests/cases/functor_with_include.ref | 17 +- tests/cases/hidden.ref | 22 +- tests/cases/imperfect_modules.ref | 24 +- tests/cases/include.ref | 21 +- tests/cases/include_functor.ref | 23 +- tests/cases/let_open.ref | 17 +- tests/cases/letin.ref | 21 +- tests/cases/module_rec.ref | 21 +- tests/cases/module_type_expr.ref | 27 ++- tests/cases/module_types.ref | 22 +- tests/cases/more_functor.ref | 25 +- tests/cases/nested_modules.ref | 18 +- tests/cases/no_deps.ref | 17 +- tests/cases/not_self_cycle.ref | 23 +- tests/cases/nothing.ref | 17 +- tests/cases/open_functor.ref | 26 ++- tests/cases/opens.ref | 24 +- tests/cases/option_monad.ref | 26 ++- tests/cases/pattern_open.ref | 32 ++- tests/cases/phantom_maze.ref | 34 ++- tests/cases/phantom_maze_2.ref | 26 ++- tests/cases/phantom_maze_3.ref | 38 ++- tests/cases/phantom_maze_4.ref | 24 +- .../cases/projected_abstract_module_type.ref | 23 +- tests/cases/recmods.ref | 28 ++- tests/cases/record.ref | 27 ++- tests/cases/riddle.ref | 26 ++- tests/cases/self_cycle.ref | 20 +- tests/cases/sig_reader.ref | 34 ++- tests/cases/simple.ref | 38 ++- tests/cases/solvable.ref | 22 +- tests/cases/tuple.ref | 27 ++- tests/cases/unknown_arg.ref | 22 +- tests/cases/with.ref | 22 +- tests/cases/with_and_abstract_module_type.ref | 17 +- tests/cases/with_module_type.ref | 18 +- tests/cases/with_more.ref | 25 +- tests/complex/2+2-cycles/reference | 35 ++- tests/complex/5624/reference | 47 +++- tests/complex/8-cycles/reference | 120 ++++++++-- .../alias_path_with_namespaces/reference | 45 ++-- tests/complex/alias_values/reference | 45 +++- tests/complex/aliases/reference | 71 +++++- tests/complex/aliases2/reference | 68 +++++- tests/complex/aliases_and_map/reference | 120 +++++++--- tests/complex/aliases_and_with/reference | 33 ++- tests/complex/any_m/reference | 106 +++++++-- tests/complex/broken_network/reference | 55 ++++- tests/complex/collision/reference | 65 +++++- tests/complex/deep-eps/reference | 111 +++++++-- tests/complex/local_module_subst/reference | 37 ++- tests/complex/mixed/reference | 70 +++++- tests/complex/module_types/reference | 38 ++- tests/complex/namespaced/reference | 63 ++++- tests/complex/network/reference | 50 +++- tests/complex/pair/reference | 38 ++- tests/complex/siblings/reference | 192 ++++++++++++--- tests/complex/stops/reference | 218 +++++++++++++++--- tests/complex/uncoupled/reference | 51 +++- "tests/complex/\317\211-cycle/reference" | 147 ++++++++++-- tests/integrated.ml | 2 +- tests/serialization.ml | 13 +- tests/step_by_step.ml | 2 +- 91 files changed, 2751 insertions(+), 691 deletions(-) diff --git a/core/args.ml b/core/args.ml index 04776f36..a07229d5 100644 --- a/core/args.ml +++ b/core/args.ml @@ -50,6 +50,7 @@ let param0 = { no_include = false; may_approx = false; nested = false; + pretty_format = true; internal_format = Sexp; external_format = Json } @@ -116,6 +117,7 @@ let format param x = match x with | "sexp" -> update Schematic.Sexp | "json" -> update Schematic.Json + | "simple-json" -> param#<-(L.pretty_fmt,false); update Schematic.Json | _ -> () diff --git a/core/io.ml b/core/io.ml index 91007b08..ba4c5fb9 100644 --- a/core/io.ml +++ b/core/io.ml @@ -60,7 +60,7 @@ let direct = { writer = { m2l = (fun format _filename ppf m2l -> match format with - | Json -> Schematic.minify ppf "%a@.\n" (Schematic.Ext.json Schema.m2l) m2l + | Json -> Schematic.minify ppf "%a@.\n" (Schematic.Ext.simple_json Schema.m2l) m2l | Sexp -> Schematic.minify ppf "%a@.\n" (Schematic.Ext.sexp Schema.m2l) m2l ); @@ -70,7 +70,7 @@ let direct = { | Sexp -> Schematic.minify ppf "%a@.\n" (Schematic.Ext.sexp Schema.namespace) mds | Json -> Schematic.minify ppf "%a@.\n" - (Schematic.Ext.json Schema.namespace) mds + (Schematic.Ext.simple_json Schema.namespace) mds ) } } diff --git a/core/modes.ml b/core/modes.ml index a2f3e600..2cdc8b8a 100644 --- a/core/modes.ml +++ b/core/modes.ml @@ -63,7 +63,10 @@ let structured fmt _ _ ppf param units = let fmt = Option.default param.external_format fmt in let all = units.Unit.mli @ units.ml in let pp = let open Schematic in - match fmt with Json -> Ext.json Schema.x | Sexp -> Ext.sexp Schema.x in + match fmt, param.pretty_format with + | Json, true -> Ext.pretty_json Schema.x + | Json, false -> Ext.simple_json Schema.x + | Sexp, _ -> Ext.sexp Schema.x in let lib, unknown = List.fold_left build_atlas (LibSet.empty, Namespaced.Set.empty) all in let groups = Unit.Group.group units in diff --git a/core/params.ml b/core/params.ml index 46cfe4c5..0f741aea 100644 --- a/core/params.ml +++ b/core/params.ml @@ -6,6 +6,7 @@ type t = no_include:bool; may_approx:bool; nested: bool; + pretty_format:bool; internal_format: Schematic.format; external_format: Schematic.format } @@ -41,6 +42,11 @@ module L = struct let may_approx = create (fun x -> x.may_approx) (fun x y -> { x with may_approx = y}) + let pretty_fmt = + create + (fun x -> x.pretty_format) + (fun x y -> { x with pretty_format=y }) + let inner_fmt = create (fun x -> x.internal_format) diff --git a/core/params.mli b/core/params.mli index 8ab63edf..de34708c 100644 --- a/core/params.mli +++ b/core/params.mli @@ -7,6 +7,7 @@ type t = { no_include : bool; may_approx : bool; nested:bool; + pretty_format:bool; internal_format: Schematic.format; external_format: Schematic.format; } @@ -54,4 +55,5 @@ module L : val nested : (t,bool) l val inner_fmt : (t, Schematic.format) l val ext_fmt : (t,Schematic.format) l + val pretty_fmt: (t,bool) l end diff --git a/lib/schematic.ml b/lib/schematic.ml index 0c4156fd..2dff89d8 100644 --- a/lib/schematic.ml +++ b/lib/schematic.ml @@ -386,66 +386,134 @@ let json_definitions epaths ppf map = and json_defs ppf m = ignore (Name.Map.fold (json_def ppf) m false) in json_defs ppf map -let rec json: type a f. f pending_rec_def -> (a,f) s -> Format.formatter -> a -> unit = - fun defs sch ppf x -> match sch, x with - | Int, n -> Pp.fp ppf "%d" n - | Float, f -> Pp.fp ppf "%f" f - | String, s -> Pp.estring ppf s - | Bool, b -> Pp.fp ppf "%b" b - | Void, _ -> . - | Array k, l -> - Pp.fp ppf "@[[%a]@]" - (Pp.list ~sep:(Pp.s ",@ ") @@ json defs k) l - | [], [] -> () - | _ :: _ as sch , l -> Pp.fp ppf "@[[%a]@]" (json_tuple defs sch) l - | Obj sch, x -> Pp.fp ppf "@[{@ %a@ }@]" (json_obj false defs sch) x - | Custom c, x -> json defs c.sch ppf (c.fwd x) - | Sum q, x -> json_sum 0 defs q ppf x - | Description(_,sch), x -> json defs sch ppf x - | Var n, x -> - let Pending p = defs in - json defs (get p.defs n) ppf x - | Rec { defs; id; proj; _ }, x -> json (Pending {defs; id}) (get defs proj) ppf x -and json_sum: type all x. int -> all pending_rec_def -> (x,all) sum_decl -> - Format.formatter -> x sum -> unit = - fun n defs sch ppf x -> match sch, x with - | (n,a) :: _ , C Z x -> - let module N = Label(struct let l=n end) in - json defs (Obj [Req, N.l, a]) ppf (Record.[N.l, x]) - | (n,_) :: _ , C E -> - json defs String ppf n - | _ :: q, C S c -> json_sum (n+1) defs q ppf (C c) - | [], _ -> . - -and json_tuple: type a f. f pending_rec_def -> (a tuple,f) s -> Format.formatter -> a tuple -> unit = - fun defs sch ppf x -> match sch, x with - | [], [] -> () - | [a], [x] -> json defs a ppf x - | a :: q, x :: xs -> Pp.fp ppf "%a,@ %a" (json defs a) x (json_tuple defs q) xs - | Custom _, _ -> assert false - | Description _, _ -> assert false - | Rec { defs; proj; id; _ }, x -> json_tuple (Pending {id;defs}) (get defs proj) ppf x - | Var proj, x -> - let Pending p = defs in - json_tuple defs (get p.defs proj) ppf x +module Pretty_json = struct + + let rec json: type a f. f pending_rec_def -> (a,f) s -> Format.formatter -> a -> unit = + fun defs sch ppf x -> match sch, x with + | Int, n -> Pp.fp ppf "%d" n + | Float, f -> Pp.fp ppf "%f" f + | String, s -> Pp.estring ppf s + | Bool, b -> Pp.fp ppf "%b" b + | Void, _ -> . + | Array k, l -> + Pp.fp ppf "@[[%a]@]" + (Pp.list ~sep:(Pp.s ",@ ") @@ json defs k) l + | [], [] -> () + | _ :: _ as sch , l -> Pp.fp ppf "@[[%a]@]" (json_tuple defs sch) l + | Obj sch, x -> Pp.fp ppf "@[{@ %a@ }@]" (json_obj false defs sch) x + | Custom c, x -> json defs c.sch ppf (c.fwd x) + | Sum q, x -> json_sum 0 defs q ppf x + | Description(_,sch), x -> json defs sch ppf x + | Var n, x -> + let Pending p = defs in + json defs (get p.defs n) ppf x + | Rec { defs; id; proj; _ }, x -> json (Pending {defs; id}) (get defs proj) ppf x + and json_sum: type all x. int -> all pending_rec_def -> (x,all) sum_decl -> + Format.formatter -> x sum -> unit = + fun n defs sch ppf x -> match sch, x with + | (n,a) :: _ , C Z x -> + let module N = Label(struct let l=n end) in + json defs (Obj [Req, N.l, a]) ppf (Record.[N.l, x]) + | (n,_) :: _ , C E -> + json defs String ppf n + | _ :: q, C S c -> json_sum (n+1) defs q ppf (C c) + | [], _ -> . + + and json_tuple: type a f. f pending_rec_def -> (a tuple,f) s -> Format.formatter -> a tuple -> unit = + fun defs sch ppf x -> match sch, x with + | [], [] -> () + | [a], [x] -> json defs a ppf x + | a :: q, x :: xs -> Pp.fp ppf "%a,@ %a" (json defs a) x (json_tuple defs q) xs + | Custom _, _ -> assert false + | Description _, _ -> assert false + | Rec { defs; proj; id; _ }, x -> json_tuple (Pending {id;defs}) (get defs proj) ppf x + | Var proj, x -> + let Pending p = defs in + json_tuple defs (get p.defs proj) ppf x + + and json_obj: type a r. + bool -> r pending_rec_def -> (a,r) record_declaration -> Format.formatter -> a record -> unit = + fun not_first defs sch ppf x -> match sch, x with + | [], [] -> () + | (Req, name,sch) :: q , (_, x) :: xs -> + if not_first then Pp.fp ppf ",@ "; + Pp.fp ppf {|@["%s"@ :@ %a@]|} (show name) (json defs sch) x; + Pp.fp ppf "%a" (json_obj true defs q) xs + | (Opt,name,sch) :: q, (_,Some x) :: xs -> + if not_first then Pp.fp ppf ",@ "; + Pp.fp ppf {|@["%s"@ :@ %a@]|} (show name) (json defs sch) x; + Pp.fp ppf "%a" (json_obj true defs q) xs + | (Opt,_,_) :: q, (_, None ) :: xs -> + json_obj not_first defs q ppf xs +end -and json_obj: type a r. - bool -> r pending_rec_def -> (a,r) record_declaration -> Format.formatter -> a record -> unit = - fun not_first defs sch ppf x -> match sch, x with - | [], [] -> () - | (Req, name,sch) :: q , (_, x) :: xs -> - if not_first then Pp.fp ppf ",@ "; - Pp.fp ppf {|@["%s"@ :@ %a@]|} (show name) (json defs sch) x; - Pp.fp ppf "%a" (json_obj true defs q) xs - | (Opt,name,sch) :: q, (_,Some x) :: xs -> - if not_first then Pp.fp ppf ",@ "; - Pp.fp ppf {|@["%s"@ :@ %a@]|} (show name) (json defs sch) x; - Pp.fp ppf "%a" (json_obj true defs q) xs - | (Opt,_,_) :: q, (_, None ) :: xs -> - json_obj not_first defs q ppf xs +let pretty_json x = Pretty_json.json Closed x + +module Simple_json = struct + + let rec json: type a f. f pending_rec_def -> (a,f) s -> Format.formatter -> a -> unit = + fun defs sch ppf x -> match sch, x with + | Int, n -> Pp.fp ppf "%d" n + | Float, f -> Pp.fp ppf "%f" f + | String, s -> Pp.estring ppf s + | Bool, b -> Pp.fp ppf "%b" b + | Void, _ -> . + | Array k, l -> + Pp.fp ppf "@[[%a]@]" + (Pp.list ~sep:(Pp.s ",@ ") @@ json defs k) l + | [], [] -> () + | _ :: _ as sch , l -> Pp.fp ppf "@[[%a]@]" (tuple defs sch) l + | Obj sch, x -> Pp.fp ppf "@[{@ %a@ }@]" (obj false defs sch) x + | Custom c, x -> json defs c.sch ppf (c.fwd x) + | Sum q, x -> sum 0 defs q ppf x + | Description(_,sch), x -> json defs sch ppf x + | Var n, x -> + let Pending p = defs in + json defs (get p.defs n) ppf x + | Rec { defs; id; proj; _ }, x -> json (Pending {defs; id}) (get defs proj) ppf x + and sum: type all x. int -> all pending_rec_def -> (x,all) sum_decl -> + Format.formatter -> x sum -> unit = + fun n defs sch ppf x -> match sch, x with + | (n,a) :: _ , C Z x -> + let module N = Label(struct let l=n end) in + json defs (Obj [Req, N.l, a]) ppf (Record.[N.l, x]) + | (n,_) :: _ , C E -> + json defs String ppf n + | _ :: q, C S c -> sum (n+1) defs q ppf (C c) + | [], _ -> . + + and tuple: type a f. f pending_rec_def -> (a tuple,f) s -> Format.formatter -> a tuple -> unit = + fun defs sch ppf x -> match sch, x with + | [], [] -> () + | [a], [x] -> json defs a ppf x + | a :: q, x :: xs -> Pp.fp ppf "%a,@ %a" (json defs a) x (tuple defs q) xs + | Custom _, _ -> assert false + | Description _, _ -> assert false + | Rec { defs; proj; id; _ }, x -> tuple (Pending {id;defs}) (get defs proj) ppf x + | Var proj, x -> + let Pending p = defs in + tuple defs (get p.defs proj) ppf x + + and obj: type a r. + bool -> r pending_rec_def -> (a,r) record_declaration -> Format.formatter -> a record -> unit = + fun not_first defs sch ppf x -> match sch, x with + | [], [] -> () + | (Req, name,sch) :: q , (_, x) :: xs -> + if not_first then Pp.fp ppf ",@ "; + Pp.fp ppf {|@["%s":@ %a@]|} (show name) (json defs sch) x; + Pp.fp ppf "%a" (obj true defs q) xs + | (Opt,name,sch) :: q, (_,Some x) :: xs -> + if not_first then Pp.fp ppf ",@ "; + Pp.fp ppf {|@["%s":@ %a@]|} (show name) (json defs sch) x; + Pp.fp ppf "%a" (obj true defs q) xs + | (Opt,_,_) :: q, (_, None ) :: xs -> + obj not_first defs q ppf xs +end -let json x = json Closed x + + +let simple_json x = Simple_json.json Closed x let cstring ppf s = begin try @@ -703,9 +771,14 @@ module Ext = struct - let json s ppf x = + let pretty_json s ppf x = let B (sch, x) = extend s x in - json sch ppf x + pretty_json sch ppf x + + let simple_json s ppf x = + let B (sch, x) = extend s x in + simple_json sch ppf x + let json_schema ppf s = let Dyn (rctx,sch) = schema s in diff --git a/lib/schematic.mli b/lib/schematic.mli index ac8b1167..f5e91396 100644 --- a/lib/schematic.mli +++ b/lib/schematic.mli @@ -99,7 +99,9 @@ module Version: sig end -val json: 'a t -> Format.formatter -> 'a -> unit +val pretty_json: 'a t -> Format.formatter -> 'a -> unit +val simple_json: 'a t -> Format.formatter -> 'a -> unit + val sexp: 'a t -> Format.formatter -> 'a -> unit val ($=): 'a label -> 'b -> ('a label * 'b) @@ -146,7 +148,8 @@ type error = | Parse_error -val json: ('lbl,'a) t -> Format.formatter -> 'a -> unit +val pretty_json: ('lbl,'a) t -> Format.formatter -> 'a -> unit +val simple_json: ('lbl,'a) t -> Format.formatter -> 'a -> unit val sexp: ('lbl,'a) t -> Format.formatter -> 'a -> unit val json_schema: Format.formatter -> ('lbl, 'a) t -> unit diff --git a/tests/cases/abstract_module_type.ref b/tests/cases/abstract_module_type.ref index c94c509a..fd0d1627 100644 --- a/tests/cases/abstract_module_type.ref +++ b/tests/cases/abstract_module_type.ref @@ -1,9 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/abstract_module_type.ml" }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["Abstract_module_type"], - "ml" : "cases/abstract_module_type.ml" + "file": + "cases/abstract_module_type.ml" + }], +"local": + [{ + "module": + ["Abstract_module_type"], + "ml": + "cases/abstract_module_type.ml" }] } diff --git a/tests/cases/abstract_module_type_more.ref b/tests/cases/abstract_module_type_more.ref index 9f0dd6ba..1923e1f1 100644 --- a/tests/cases/abstract_module_type_more.ref +++ b/tests/cases/abstract_module_type_more.ref @@ -1,11 +1,18 @@ [Warning]: cases/abstract_module_type_more.ml:l25.0βˆ’11, module B.R does not contain any submodule XI { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/abstract_module_type_more.ml" }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["Abstract_module_type_more"], - "ml" : "cases/abstract_module_type_more.ml" + "file": + "cases/abstract_module_type_more.ml" + }], +"local": + [{ + "module": + ["Abstract_module_type_more"], + "ml": + "cases/abstract_module_type_more.ml" }] } diff --git a/tests/cases/alias_in_with.ref b/tests/cases/alias_in_with.ref index f2390a10..eb0306fb 100644 --- a/tests/cases/alias_in_with.ref +++ b/tests/cases/alias_in_with.ref @@ -5,12 +5,26 @@ a non-resolvable module, Ext2, has been replaced by an approximation [Notification]: cases/alias_in_with.ml:l26.0βˆ’l28.27, a non-resolvable module, Ext3, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/alias_in_with.ml", - "deps" : [["Ext3"], ["Ext2"], ["Ext"]] + "file": + "cases/alias_in_with.ml", + "deps": + [["Ext3"], + ["Ext2"], + ["Ext"]] }], -"local" : [{ "module" : ["Alias_in_with"], "ml" : "cases/alias_in_with.ml" }], -"unknown" : [["Ext"], ["Ext2"], ["Ext3"]] +"local": + [{ + "module": + ["Alias_in_with"], + "ml": + "cases/alias_in_with.ml" + }], +"unknown": + [["Ext"], + ["Ext2"], + ["Ext3"]] } diff --git a/tests/cases/alias_map.ref b/tests/cases/alias_map.ref index 5bd9c998..58a7b915 100644 --- a/tests/cases/alias_map.ref +++ b/tests/cases/alias_map.ref @@ -3,12 +3,24 @@ a non-resolvable module, Aliased__C, has been replaced by an approximati [Notification]: cases/alias_map.ml:l6.0βˆ’6, a non-resolvable module, Aliased__B, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/alias_map.ml", - "deps" : [["Aliased__C"], ["Aliased__B"]] + "file": + "cases/alias_map.ml", + "deps": + [["Aliased__C"], + ["Aliased__B"]] }], -"local" : [{ "module" : ["Alias_map"], "ml" : "cases/alias_map.ml" }], -"unknown" : [["Aliased__B"], ["Aliased__C"]] +"local": + [{ + "module": + ["Alias_map"], + "ml": + "cases/alias_map.ml" + }], +"unknown": + [["Aliased__B"], + ["Aliased__C"]] } diff --git a/tests/cases/apply.ref b/tests/cases/apply.ref index 06a8967e..1d38d7e5 100644 --- a/tests/cases/apply.ref +++ b/tests/cases/apply.ref @@ -3,8 +3,24 @@ a non-resolvable module, F, has been replaced by an approximation [Notification]: cases/apply.ml:l1.0βˆ’15, a non-resolvable module, X, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/apply.ml", "deps" : [["X"], ["F"]] }], -"local" : [{ "module" : ["Apply"], "ml" : "cases/apply.ml" }], -"unknown" : [["F"], ["X"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/apply.ml", + "deps": + [["X"], + ["F"]] + }], +"local": + [{ + "module": + ["Apply"], + "ml": + "cases/apply.ml" + }], +"unknown": + [["F"], + ["X"]] } diff --git a/tests/cases/basic.ref b/tests/cases/basic.ref index 9b9c9675..dc0e8a75 100644 --- a/tests/cases/basic.ref +++ b/tests/cases/basic.ref @@ -9,9 +9,24 @@ a non-resolvable module, Ext2, has been replaced by an approximation to the opening of the external module Ext2, at location l9.2βˆ’11. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/basic.ml", "deps" : [["Ext2"], ["Ext"]] }], -"local" : [{ "module" : ["Basic"], "ml" : "cases/basic.ml" }], -"unknown" : [["Ext"], ["Ext2"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/basic.ml", + "deps": + [["Ext2"], + ["Ext"]] + }], +"local": + [{ + "module": + ["Basic"], + "ml": + "cases/basic.ml" + }], +"unknown": + [["Ext"], + ["Ext2"]] } diff --git a/tests/cases/bindings.ref b/tests/cases/bindings.ref index f6ce5f8e..1eddae79 100644 --- a/tests/cases/bindings.ref +++ b/tests/cases/bindings.ref @@ -1,5 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/bindings.ml" }], -"local" : [{ "module" : ["Bindings"], "ml" : "cases/bindings.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/bindings.ml" + }], +"local": + [{ + "module": + ["Bindings"], + "ml": + "cases/bindings.ml" + }] } diff --git a/tests/cases/broken.ref b/tests/cases/broken.ref index 8a067d25..a4dc5c4c 100644 --- a/tests/cases/broken.ref +++ b/tests/cases/broken.ref @@ -14,12 +14,30 @@ a non-resolvable module, Ext5, has been replaced by an approximation Computed dependencies: at least {Ext2; Ext3; Ext4; Ext5}, maybe: {Ext} { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/broken.ml", - "deps" : [["Ext5"], ["Ext4"], ["Ext3"], ["Ext2"], ["Ext"]] + "file": + "cases/broken.ml", + "deps": + [["Ext5"], + ["Ext4"], + ["Ext3"], + ["Ext2"], + ["Ext"]] }], -"local" : [{ "module" : ["Broken"], "ml" : "cases/broken.ml" }], -"unknown" : [["Ext"], ["Ext2"], ["Ext3"], ["Ext4"], ["Ext5"]] +"local": + [{ + "module": + ["Broken"], + "ml": + "cases/broken.ml" + }], +"unknown": + [["Ext"], + ["Ext2"], + ["Ext3"], + ["Ext4"], + ["Ext5"]] } diff --git a/tests/cases/broken2.ref b/tests/cases/broken2.ref index 2b44f076..68e1e23a 100644 --- a/tests/cases/broken2.ref +++ b/tests/cases/broken2.ref @@ -12,9 +12,26 @@ dependencies might be inferred due to this ambiguity. [Warning]: Approximate parsing of cases/broken2.ml. Computed dependencies: at least {Ext; Ext2}, maybe: {A} { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/broken2.ml", "deps" : [["Ext2"], ["Ext"], ["A"]] }], -"local" : [{ "module" : ["Broken2"], "ml" : "cases/broken2.ml" }], -"unknown" : [["A"], ["Ext"], ["Ext2"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/broken2.ml", + "deps": + [["Ext2"], + ["Ext"], + ["A"]] + }], +"local": + [{ + "module": + ["Broken2"], + "ml": + "cases/broken2.ml" + }], +"unknown": + [["A"], + ["Ext"], + ["Ext2"]] } diff --git a/tests/cases/broken3.ref b/tests/cases/broken3.ref index f36b6245..17b5b45c 100644 --- a/tests/cases/broken3.ref +++ b/tests/cases/broken3.ref @@ -3,7 +3,18 @@ [Notification]: Approximate parsing of cases/broken3.ml. However, lower and upper bound agreed upon dependencies. { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/broken3.ml" }], -"local" : [{ "module" : ["Broken3"], "ml" : "cases/broken3.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/broken3.ml" + }], +"local": + [{ + "module": + ["Broken3"], + "ml": + "cases/broken3.ml" + }] } diff --git a/tests/cases/bug.ref b/tests/cases/bug.ref index 2a36829f..355211cc 100644 --- a/tests/cases/bug.ref +++ b/tests/cases/bug.ref @@ -1,5 +1,19 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/bug.ml", "deps" : [["Stdlib", "Sys"]] }], -"local" : [{ "module" : ["Bug"], "ml" : "cases/bug.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/bug.ml", + "deps": + [["Stdlib", + "Sys"]] + }], +"local": + [{ + "module": + ["Bug"], + "ml": + "cases/bug.ml" + }] } diff --git a/tests/cases/case.ref b/tests/cases/case.ref index 253a7234..d018931d 100644 --- a/tests/cases/case.ref +++ b/tests/cases/case.ref @@ -9,9 +9,30 @@ a non-resolvable module, D, has been replaced by an approximation [Notification]: cases/case.ml:l5.2βˆ’3, a non-resolvable module, F, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/case.ml", "deps" : [["F"], ["D"], ["C"], ["B"], ["A"]] }], -"local" : [{ "module" : ["Case"], "ml" : "cases/case.ml" }], -"unknown" : [["A"], ["B"], ["C"], ["D"], ["F"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/case.ml", + "deps": + [["F"], + ["D"], + ["C"], + ["B"], + ["A"]] + }], +"local": + [{ + "module": + ["Case"], + "ml": + "cases/case.ml" + }], +"unknown": + [["A"], + ["B"], + ["C"], + ["D"], + ["F"]] } diff --git a/tests/cases/destructive_substitutions.ref b/tests/cases/destructive_substitutions.ref index ac93092b..c41a332d 100644 --- a/tests/cases/destructive_substitutions.ref +++ b/tests/cases/destructive_substitutions.ref @@ -1,13 +1,22 @@ [Notification]: cases/destructive_substitutions.ml:l9.0βˆ’8, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/destructive_substitutions.ml", "deps" : [["Ext"]] }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["Destructive_substitutions"], - "ml" : "cases/destructive_substitutions.ml" + "file": + "cases/destructive_substitutions.ml", + "deps": + [["Ext"]] }], -"unknown" : [["Ext"]] +"local": + [{ + "module": + ["Destructive_substitutions"], + "ml": + "cases/destructive_substitutions.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/destructive_substitutions_path.ref b/tests/cases/destructive_substitutions_path.ref index 943b7169..c6770319 100644 --- a/tests/cases/destructive_substitutions_path.ref +++ b/tests/cases/destructive_substitutions_path.ref @@ -3,16 +3,24 @@ a non-resolvable module, Ext, has been replaced by an approximation [Notification]: cases/destructive_substitutions_path.ml:l23.18βˆ’27, a non-resolvable module, Ext2, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/destructive_substitutions_path.ml", - "deps" : [["Ext2"], ["Ext"]] + "file": + "cases/destructive_substitutions_path.ml", + "deps": + [["Ext2"], + ["Ext"]] }], -"local" : +"local": [{ - "module" : ["Destructive_substitutions_path"], - "ml" : "cases/destructive_substitutions_path.ml" + "module": + ["Destructive_substitutions_path"], + "ml": + "cases/destructive_substitutions_path.ml" }], -"unknown" : [["Ext"], ["Ext2"]] +"unknown": + [["Ext"], + ["Ext2"]] } diff --git a/tests/cases/even_more_functor.ref b/tests/cases/even_more_functor.ref index fafff41c..70eb373c 100644 --- a/tests/cases/even_more_functor.ref +++ b/tests/cases/even_more_functor.ref @@ -3,10 +3,24 @@ a non-resolvable module, E, has been replaced by an approximation [Notification]: cases/even_more_functor.ml:l3.0βˆ’24, a non-resolvable module, A, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/even_more_functor.ml", "deps" : [["E"], ["A"]] }], -"local" : - [{ "module" : ["Even_more_functor"], "ml" : "cases/even_more_functor.ml" }], -"unknown" : [["A"], ["E"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/even_more_functor.ml", + "deps": + [["E"], + ["A"]] + }], +"local": + [{ + "module": + ["Even_more_functor"], + "ml": + "cases/even_more_functor.ml" + }], +"unknown": + [["A"], + ["E"]] } diff --git a/tests/cases/first-class-modules.ref b/tests/cases/first-class-modules.ref index bf050e4f..c615c1c7 100644 --- a/tests/cases/first-class-modules.ref +++ b/tests/cases/first-class-modules.ref @@ -1,19 +1,30 @@ [Notification]: cases/first-class-modules.ml:l14.0βˆ’9, a non-resolvable module, Mark, has been replaced by an approximation -[Warning]: cases/first-class-modules.ml:l18.11βˆ’12, +[Warning]: cases/first-class-modules.ml:l18.6βˆ’12, first-class module N was opened while its signature was unknown. -[Notification]: cases/first-class-modules.ml:l19.11βˆ’12, +[Notification]: cases/first-class-modules.ml:l19.6βˆ’12, a non-resolvable module, B, has been replaced by an approximation [Warning]: cases/first-class-modules.ml:l22.0βˆ’15, first-class module was included while its signature was unknown. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/first-class-modules.ml", "deps" : [["Mark"], ["B"]] }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["First-class-modules"], - "ml" : "cases/first-class-modules.ml" + "file": + "cases/first-class-modules.ml", + "deps": + [["Mark"], + ["B"]] }], -"unknown" : [["B"], ["Mark"]] +"local": + [{ + "module": + ["First-class-modules"], + "ml": + "cases/first-class-modules.ml" + }], +"unknown": + [["B"], + ["Mark"]] } diff --git a/tests/cases/first_class_encore.ref b/tests/cases/first_class_encore.ref index 32ae9bfe..5c3d590c 100644 --- a/tests/cases/first_class_encore.ref +++ b/tests/cases/first_class_encore.ref @@ -1,13 +1,22 @@ [Notification]: cases/first_class_encore.ml:l5.21βˆ’24, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/first_class_encore.ml", "deps" : [["Ext"]] }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["First_class_encore"], - "ml" : "cases/first_class_encore.ml" + "file": + "cases/first_class_encore.ml", + "deps": + [["Ext"]] }], -"unknown" : [["Ext"]] +"local": + [{ + "module": + ["First_class_encore"], + "ml": + "cases/first_class_encore.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/first_class_more.ref b/tests/cases/first_class_more.ref index ae7f0608..e309e860 100644 --- a/tests/cases/first_class_more.ref +++ b/tests/cases/first_class_more.ref @@ -1,6 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/first_class_more.ml" }], -"local" : - [{ "module" : ["First_class_more"], "ml" : "cases/first_class_more.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/first_class_more.ml" + }], +"local": + [{ + "module": + ["First_class_more"], + "ml": + "cases/first_class_more.ml" + }] } diff --git a/tests/cases/foreign_arg_sig.ref b/tests/cases/foreign_arg_sig.ref index 0b0eb9d1..154d64b6 100644 --- a/tests/cases/foreign_arg_sig.ref +++ b/tests/cases/foreign_arg_sig.ref @@ -3,10 +3,24 @@ a non-resolvable module, Ext, has been replaced by an approximation [Notification]: cases/foreign_arg_sig.ml:l2.2βˆ’30, a non-resolvable module, Ext2, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/foreign_arg_sig.ml", "deps" : [["Ext2"], ["Ext"]] }], -"local" : - [{ "module" : ["Foreign_arg_sig"], "ml" : "cases/foreign_arg_sig.ml" }], -"unknown" : [["Ext"], ["Ext2"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/foreign_arg_sig.ml", + "deps": + [["Ext2"], + ["Ext"]] + }], +"local": + [{ + "module": + ["Foreign_arg_sig"], + "ml": + "cases/foreign_arg_sig.ml" + }], +"unknown": + [["Ext"], + ["Ext2"]] } diff --git a/tests/cases/functor.ref b/tests/cases/functor.ref index 7864ad2c..9ff6dedc 100644 --- a/tests/cases/functor.ref +++ b/tests/cases/functor.ref @@ -1,5 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/functor.ml" }], -"local" : [{ "module" : ["Functor"], "ml" : "cases/functor.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/functor.ml" + }], +"local": + [{ + "module": + ["Functor"], + "ml": + "cases/functor.ml" + }] } diff --git a/tests/cases/functor_in_type_expr.ref b/tests/cases/functor_in_type_expr.ref index bbfb9157..7b1b92b0 100644 --- a/tests/cases/functor_in_type_expr.ref +++ b/tests/cases/functor_in_type_expr.ref @@ -7,16 +7,28 @@ a non-resolvable module, Ext3, has been replaced by an approximation [Notification]: cases/functor_in_type_expr.ml:l1.26βˆ’42, a non-resolvable module, Ext4, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/functor_in_type_expr.ml", - "deps" : [["Ext4"], ["Ext3"], ["Ext2"], ["Ext1"]] + "file": + "cases/functor_in_type_expr.ml", + "deps": + [["Ext4"], + ["Ext3"], + ["Ext2"], + ["Ext1"]] }], -"local" : +"local": [{ - "module" : ["Functor_in_type_expr"], - "ml" : "cases/functor_in_type_expr.ml" + "module": + ["Functor_in_type_expr"], + "ml": + "cases/functor_in_type_expr.ml" }], -"unknown" : [["Ext1"], ["Ext2"], ["Ext3"], ["Ext4"]] +"unknown": + [["Ext1"], + ["Ext2"], + ["Ext3"], + ["Ext4"]] } diff --git a/tests/cases/functor_with_include.ref b/tests/cases/functor_with_include.ref index 96c2ebc7..c3fe1c02 100644 --- a/tests/cases/functor_with_include.ref +++ b/tests/cases/functor_with_include.ref @@ -1,9 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/functor_with_include.ml" }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["Functor_with_include"], - "ml" : "cases/functor_with_include.ml" + "file": + "cases/functor_with_include.ml" + }], +"local": + [{ + "module": + ["Functor_with_include"], + "ml": + "cases/functor_with_include.ml" }] } diff --git a/tests/cases/hidden.ref b/tests/cases/hidden.ref index 07b88a12..7135a6c4 100644 --- a/tests/cases/hidden.ref +++ b/tests/cases/hidden.ref @@ -1,8 +1,22 @@ [Notification]: cases/hidden.ml:l7.0βˆ’14, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/hidden.ml", "deps" : [["Ext"]] }], -"local" : [{ "module" : ["Hidden"], "ml" : "cases/hidden.ml" }], -"unknown" : [["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/hidden.ml", + "deps": + [["Ext"]] + }], +"local": + [{ + "module": + ["Hidden"], + "ml": + "cases/hidden.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/imperfect_modules.ref b/tests/cases/imperfect_modules.ref index e59a1583..e386f1df 100644 --- a/tests/cases/imperfect_modules.ref +++ b/tests/cases/imperfect_modules.ref @@ -9,10 +9,22 @@ module N does not contain any submodule F [Warning]: cases/imperfect_modules.ml:l25.0βˆ’18, only functor can be applied, got:(Exact).:() { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/imperfect_modules.ml", "deps" : [["Ext"]] }], -"local" : - [{ "module" : ["Imperfect_modules"], "ml" : "cases/imperfect_modules.ml" }], -"unknown" : [["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/imperfect_modules.ml", + "deps": + [["Ext"]] + }], +"local": + [{ + "module": + ["Imperfect_modules"], + "ml": + "cases/imperfect_modules.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/include.ref b/tests/cases/include.ref index acc3f96f..030a5742 100644 --- a/tests/cases/include.ref +++ b/tests/cases/include.ref @@ -1,6 +1,19 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/include.ml", "deps" : [["Stdlib", "List"]] }], -"local" : [{ "module" : ["Include"], "ml" : "cases/include.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/include.ml", + "deps": + [["Stdlib", + "List"]] + }], +"local": + [{ + "module": + ["Include"], + "ml": + "cases/include.ml" + }] } diff --git a/tests/cases/include_functor.ref b/tests/cases/include_functor.ref index 3988f8a6..1ea9f3b9 100644 --- a/tests/cases/include_functor.ref +++ b/tests/cases/include_functor.ref @@ -1,9 +1,22 @@ [Notification]: cases/include_functor.ml:l1.0βˆ’13, a non-resolvable module, A, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/include_functor.ml", "deps" : [["A"]] }], -"local" : - [{ "module" : ["Include_functor"], "ml" : "cases/include_functor.ml" }], -"unknown" : [["A"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/include_functor.ml", + "deps": + [["A"]] + }], +"local": + [{ + "module": + ["Include_functor"], + "ml": + "cases/include_functor.ml" + }], +"unknown": + [["A"]] } diff --git a/tests/cases/let_open.ref b/tests/cases/let_open.ref index e82ec3c1..6b6c101b 100644 --- a/tests/cases/let_open.ref +++ b/tests/cases/let_open.ref @@ -1,5 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/let_open.ml" }], -"local" : [{ "module" : ["Let_open"], "ml" : "cases/let_open.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/let_open.ml" + }], +"local": + [{ + "module": + ["Let_open"], + "ml": + "cases/let_open.ml" + }] } diff --git a/tests/cases/letin.ref b/tests/cases/letin.ref index 20436561..fde13e1b 100644 --- a/tests/cases/letin.ref +++ b/tests/cases/letin.ref @@ -1,6 +1,19 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/letin.ml", "deps" : [["Stdlib", "List"]] }], -"local" : [{ "module" : ["Letin"], "ml" : "cases/letin.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/letin.ml", + "deps": + [["Stdlib", + "List"]] + }], +"local": + [{ + "module": + ["Letin"], + "ml": + "cases/letin.ml" + }] } diff --git a/tests/cases/module_rec.ref b/tests/cases/module_rec.ref index 7980d438..973e7c72 100644 --- a/tests/cases/module_rec.ref +++ b/tests/cases/module_rec.ref @@ -1,6 +1,19 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/module_rec.ml", "deps" : [["Stdlib", "Set"]] }], -"local" : [{ "module" : ["Module_rec"], "ml" : "cases/module_rec.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/module_rec.ml", + "deps": + [["Stdlib", + "Set"]] + }], +"local": + [{ + "module": + ["Module_rec"], + "ml": + "cases/module_rec.ml" + }] } diff --git a/tests/cases/module_type_expr.ref b/tests/cases/module_type_expr.ref index 704c8eaf..abe4ada3 100644 --- a/tests/cases/module_type_expr.ref +++ b/tests/cases/module_type_expr.ref @@ -5,13 +5,26 @@ a non-resolvable module, Two, has been replaced by an approximation [Notification]: cases/module_type_expr.ml:l5.2βˆ’12, a non-resolvable module, Three, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/module_type_expr.ml", - "deps" : [["Two"], ["Three"], ["One"]] + "file": + "cases/module_type_expr.ml", + "deps": + [["Two"], + ["Three"], + ["One"]] }], -"local" : - [{ "module" : ["Module_type_expr"], "ml" : "cases/module_type_expr.ml" }], -"unknown" : [["One"], ["Three"], ["Two"]] +"local": + [{ + "module": + ["Module_type_expr"], + "ml": + "cases/module_type_expr.ml" + }], +"unknown": + [["One"], + ["Three"], + ["Two"]] } diff --git a/tests/cases/module_types.ref b/tests/cases/module_types.ref index 7039bab8..14107d54 100644 --- a/tests/cases/module_types.ref +++ b/tests/cases/module_types.ref @@ -1,8 +1,22 @@ [Notification]: cases/module_types.ml:l12.9βˆ’12, a non-resolvable module, B, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/module_types.ml", "deps" : [["B"]] }], -"local" : [{ "module" : ["Module_types"], "ml" : "cases/module_types.ml" }], -"unknown" : [["B"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/module_types.ml", + "deps": + [["B"]] + }], +"local": + [{ + "module": + ["Module_types"], + "ml": + "cases/module_types.ml" + }], +"unknown": + [["B"]] } diff --git a/tests/cases/more_functor.ref b/tests/cases/more_functor.ref index 211ecef6..e7cc8407 100644 --- a/tests/cases/more_functor.ref +++ b/tests/cases/more_functor.ref @@ -3,9 +3,24 @@ a non-resolvable module, Ext, has been replaced by an approximation [Notification]: cases/more_functor.ml:l5.0βˆ’41, a non-resolvable module, Ext2, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/more_functor.ml", "deps" : [["Ext2"], ["Ext"]] }], -"local" : [{ "module" : ["More_functor"], "ml" : "cases/more_functor.ml" }], -"unknown" : [["Ext"], ["Ext2"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/more_functor.ml", + "deps": + [["Ext2"], + ["Ext"]] + }], +"local": + [{ + "module": + ["More_functor"], + "ml": + "cases/more_functor.ml" + }], +"unknown": + [["Ext"], + ["Ext2"]] } diff --git a/tests/cases/nested_modules.ref b/tests/cases/nested_modules.ref index fb759982..533421c4 100644 --- a/tests/cases/nested_modules.ref +++ b/tests/cases/nested_modules.ref @@ -1,6 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/nested_modules.ml" }], -"local" : - [{ "module" : ["Nested_modules"], "ml" : "cases/nested_modules.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/nested_modules.ml" + }], +"local": + [{ + "module": + ["Nested_modules"], + "ml": + "cases/nested_modules.ml" + }] } diff --git a/tests/cases/no_deps.ref b/tests/cases/no_deps.ref index c4592ecd..d4a4a6f6 100644 --- a/tests/cases/no_deps.ref +++ b/tests/cases/no_deps.ref @@ -1,5 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/no_deps.ml" }], -"local" : [{ "module" : ["No_deps"], "ml" : "cases/no_deps.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/no_deps.ml" + }], +"local": + [{ + "module": + ["No_deps"], + "ml": + "cases/no_deps.ml" + }] } diff --git a/tests/cases/not_self_cycle.ref b/tests/cases/not_self_cycle.ref index dd08bc93..8b6276bd 100644 --- a/tests/cases/not_self_cycle.ref +++ b/tests/cases/not_self_cycle.ref @@ -3,9 +3,22 @@ a non-resolvable module, E, has been replaced by an approximation [Notification]: cases/not_self_cycle.ml:l2.0βˆ’30, a non-resolvable module type, Not_self_cycle, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/not_self_cycle.ml", "deps" : [["E"]] }], -"local" : - [{ "module" : ["Not_self_cycle"], "ml" : "cases/not_self_cycle.ml" }], -"unknown" : [["E"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/not_self_cycle.ml", + "deps": + [["E"]] + }], +"local": + [{ + "module": + ["Not_self_cycle"], + "ml": + "cases/not_self_cycle.ml" + }], +"unknown": + [["E"]] } diff --git a/tests/cases/nothing.ref b/tests/cases/nothing.ref index 80d400bb..e0a81f9a 100644 --- a/tests/cases/nothing.ref +++ b/tests/cases/nothing.ref @@ -1,5 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/nothing.ml" }], -"local" : [{ "module" : ["Nothing"], "ml" : "cases/nothing.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/nothing.ml" + }], +"local": + [{ + "module": + ["Nothing"], + "ml": + "cases/nothing.ml" + }] } diff --git a/tests/cases/open_functor.ref b/tests/cases/open_functor.ref index a91ee2f9..affff34a 100644 --- a/tests/cases/open_functor.ref +++ b/tests/cases/open_functor.ref @@ -9,12 +9,26 @@ ambiguous, due to the opening of the external module Three, at location l5.2βˆ’12. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/open_functor.ml", - "deps" : [["Two"], ["Three"], ["One"]] + "file": + "cases/open_functor.ml", + "deps": + [["Two"], + ["Three"], + ["One"]] }], -"local" : [{ "module" : ["Open_functor"], "ml" : "cases/open_functor.ml" }], -"unknown" : [["One"], ["Three"], ["Two"]] +"local": + [{ + "module": + ["Open_functor"], + "ml": + "cases/open_functor.ml" + }], +"unknown": + [["One"], + ["Three"], + ["Two"]] } diff --git a/tests/cases/opens.ref b/tests/cases/opens.ref index 05d1bc16..2401501d 100644 --- a/tests/cases/opens.ref +++ b/tests/cases/opens.ref @@ -3,8 +3,24 @@ a non-resolvable module, A, has been replaced by an approximation [Notification]: cases/opens.ml:l2.0βˆ’6, a non-resolvable module, B, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/opens.ml", "deps" : [["B"], ["A"]] }], -"local" : [{ "module" : ["Opens"], "ml" : "cases/opens.ml" }], -"unknown" : [["A"], ["B"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/opens.ml", + "deps": + [["B"], + ["A"]] + }], +"local": + [{ + "module": + ["Opens"], + "ml": + "cases/opens.ml" + }], +"unknown": + [["A"], + ["B"]] } diff --git a/tests/cases/option_monad.ref b/tests/cases/option_monad.ref index 54b7123b..5cd629d7 100644 --- a/tests/cases/option_monad.ref +++ b/tests/cases/option_monad.ref @@ -5,12 +5,26 @@ a non-resolvable module, Ext3, has been replaced by an approximation [Notification]: cases/option_monad.ml:l20.22βˆ’26, a non-resolvable module, Ext4, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/option_monad.ml", - "deps" : [["Ext4"], ["Ext3"], ["Ext"]] + "file": + "cases/option_monad.ml", + "deps": + [["Ext4"], + ["Ext3"], + ["Ext"]] }], -"local" : [{ "module" : ["Option_monad"], "ml" : "cases/option_monad.ml" }], -"unknown" : [["Ext"], ["Ext3"], ["Ext4"]] +"local": + [{ + "module": + ["Option_monad"], + "ml": + "cases/option_monad.ml" + }], +"unknown": + [["Ext"], + ["Ext3"], + ["Ext4"]] } diff --git a/tests/cases/pattern_open.ref b/tests/cases/pattern_open.ref index c0afe45a..6ed8d216 100644 --- a/tests/cases/pattern_open.ref +++ b/tests/cases/pattern_open.ref @@ -8,19 +8,37 @@ ambiguity. ambiguous, due to the opening of the external module E1, at location l13.7βˆ’9. Spurious dependencies might be inferred due to this ambiguity. -[Notification]: cases/pattern_open.ml:l16.11βˆ’13, +[Notification]: cases/pattern_open.ml:l16.6βˆ’13, a non-resolvable module, E4, has been replaced by an approximation [Notification]: cases/pattern_open.ml:l21.4βˆ’6, a non-resolvable module, E2, has been replaced by an approximation [Notification]: cases/pattern_open.ml:l22.8βˆ’10, a non-resolvable module, E3, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/pattern_open.ml", - "deps" : [["E4"], ["E3"], ["E2"], ["E1"], ["A'"]] + "file": + "cases/pattern_open.ml", + "deps": + [["E4"], + ["E3"], + ["E2"], + ["E1"], + ["A'"]] }], -"local" : [{ "module" : ["Pattern_open"], "ml" : "cases/pattern_open.ml" }], -"unknown" : [["A'"], ["E1"], ["E2"], ["E3"], ["E4"]] +"local": + [{ + "module": + ["Pattern_open"], + "ml": + "cases/pattern_open.ml" + }], +"unknown": + [["A'"], + ["E1"], + ["E2"], + ["E3"], + ["E4"]] } diff --git a/tests/cases/phantom_maze.ref b/tests/cases/phantom_maze.ref index 99a2c512..8b2e567c 100644 --- a/tests/cases/phantom_maze.ref +++ b/tests/cases/phantom_maze.ref @@ -29,12 +29,34 @@ ambiguity. [Notification]: cases/phantom_maze.ml:l18.0βˆ’6, a non-resolvable module, Y, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/phantom_maze.ml", - "deps" : [["Y"], ["X"], ["External"], ["E"], ["D"], ["C"], ["B"]] + "file": + "cases/phantom_maze.ml", + "deps": + [["Y"], + ["X"], + ["External"], + ["E"], + ["D"], + ["C"], + ["B"]] }], -"local" : [{ "module" : ["Phantom_maze"], "ml" : "cases/phantom_maze.ml" }], -"unknown" : [["B"], ["C"], ["D"], ["E"], ["External"], ["X"], ["Y"]] +"local": + [{ + "module": + ["Phantom_maze"], + "ml": + "cases/phantom_maze.ml" + }], +"unknown": + [["B"], + ["C"], + ["D"], + ["E"], + ["External"], + ["X"], + ["Y"]] } diff --git a/tests/cases/phantom_maze_2.ref b/tests/cases/phantom_maze_2.ref index 9eb82171..079d5e5c 100644 --- a/tests/cases/phantom_maze_2.ref +++ b/tests/cases/phantom_maze_2.ref @@ -10,10 +10,24 @@ Spurious dependencies might be inferred due to this ambiguity. ambiguous, due to the opening of the external module A, at location l7.0βˆ’6. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/phantom_maze_2.ml", "deps" : [["E"], ["D"]] }], -"local" : - [{ "module" : ["Phantom_maze_2"], "ml" : "cases/phantom_maze_2.ml" }], -"unknown" : [["D"], ["E"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/phantom_maze_2.ml", + "deps": + [["E"], + ["D"]] + }], +"local": + [{ + "module": + ["Phantom_maze_2"], + "ml": + "cases/phantom_maze_2.ml" + }], +"unknown": + [["D"], + ["E"]] } diff --git a/tests/cases/phantom_maze_3.ref b/tests/cases/phantom_maze_3.ref index dbe00123..ad4d649d 100644 --- a/tests/cases/phantom_maze_3.ref +++ b/tests/cases/phantom_maze_3.ref @@ -1,20 +1,34 @@ -[Warning]: cases/phantom_maze_3.ml:l14.11βˆ’12, +[Warning]: cases/phantom_maze_3.ml:l14.6βˆ’12, first-class module M was opened while its signature was unknown. -[Warning]: cases/phantom_maze_3.ml:l15.11βˆ’12, name resolution for A was +[Warning]: cases/phantom_maze_3.ml:l15.6βˆ’12, name resolution for A was ambiguous, due to the opening of the first class module M, at -location l14.11βˆ’12. Spurious dependencies might be inferred due to this +location l14.6βˆ’12. Spurious dependencies might be inferred due to this ambiguity. -[Warning]: cases/phantom_maze_3.ml:l16.11βˆ’12, name resolution for B was +[Warning]: cases/phantom_maze_3.ml:l16.6βˆ’12, name resolution for B was ambiguous, due to the opening of the first class module M, at -location l14.11βˆ’12. Spurious dependencies might be inferred due to this +location l14.6βˆ’12. Spurious dependencies might be inferred due to this ambiguity. -[Notification]: cases/phantom_maze_3.ml:l16.11βˆ’12, +[Notification]: cases/phantom_maze_3.ml:l16.6βˆ’12, a non-resolvable module, X, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/phantom_maze_3.ml", "deps" : [["X"], ["B"]] }], -"local" : - [{ "module" : ["Phantom_maze_3"], "ml" : "cases/phantom_maze_3.ml" }], -"unknown" : [["B"], ["X"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/phantom_maze_3.ml", + "deps": + [["X"], + ["B"]] + }], +"local": + [{ + "module": + ["Phantom_maze_3"], + "ml": + "cases/phantom_maze_3.ml" + }], +"unknown": + [["B"], + ["X"]] } diff --git a/tests/cases/phantom_maze_4.ref b/tests/cases/phantom_maze_4.ref index 8717f5f4..ae5eba1f 100644 --- a/tests/cases/phantom_maze_4.ref +++ b/tests/cases/phantom_maze_4.ref @@ -5,10 +5,22 @@ ambiguous, due to the opening of the external module Extern, at location l3.0βˆ’11. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/phantom_maze_4.ml", "deps" : [["Extern"]] }], -"local" : - [{ "module" : ["Phantom_maze_4"], "ml" : "cases/phantom_maze_4.ml" }], -"unknown" : [["Extern"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/phantom_maze_4.ml", + "deps": + [["Extern"]] + }], +"local": + [{ + "module": + ["Phantom_maze_4"], + "ml": + "cases/phantom_maze_4.ml" + }], +"unknown": + [["Extern"]] } diff --git a/tests/cases/projected_abstract_module_type.ref b/tests/cases/projected_abstract_module_type.ref index 0e416f77..d524f1bd 100644 --- a/tests/cases/projected_abstract_module_type.ref +++ b/tests/cases/projected_abstract_module_type.ref @@ -1,13 +1,22 @@ [Notification]: cases/projected_abstract_module_type.ml:l8.9βˆ’21, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/projected_abstract_module_type.ml", "deps" : [["Ext"]] }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["Projected_abstract_module_type"], - "ml" : "cases/projected_abstract_module_type.ml" + "file": + "cases/projected_abstract_module_type.ml", + "deps": + [["Ext"]] }], -"unknown" : [["Ext"]] +"local": + [{ + "module": + ["Projected_abstract_module_type"], + "ml": + "cases/projected_abstract_module_type.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/recmods.ref b/tests/cases/recmods.ref index 4737f572..6737cf7d 100644 --- a/tests/cases/recmods.ref +++ b/tests/cases/recmods.ref @@ -9,12 +9,28 @@ a non-resolvable module, Xeno2, has been replaced by an approximation [Notification]: cases/recmods.ml:l30.2βˆ’12, a non-resolvable module, Xeno3, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/recmods.ml", - "deps" : [["Xeno3"], ["Xeno2"], ["Xeno"], ["Ext"]] + "file": + "cases/recmods.ml", + "deps": + [["Xeno3"], + ["Xeno2"], + ["Xeno"], + ["Ext"]] }], -"local" : [{ "module" : ["Recmods"], "ml" : "cases/recmods.ml" }], -"unknown" : [["Ext"], ["Xeno"], ["Xeno2"], ["Xeno3"]] +"local": + [{ + "module": + ["Recmods"], + "ml": + "cases/recmods.ml" + }], +"unknown": + [["Ext"], + ["Xeno"], + ["Xeno2"], + ["Xeno3"]] } diff --git a/tests/cases/record.ref b/tests/cases/record.ref index 9c6da284..55e5618e 100644 --- a/tests/cases/record.ref +++ b/tests/cases/record.ref @@ -5,9 +5,26 @@ a non-resolvable module, E3, has been replaced by an approximation [Notification]: cases/record.ml:l1.6βˆ’11, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/record.ml", "deps" : [["Ext"], ["E3"], ["E2"]] }], -"local" : [{ "module" : ["Record"], "ml" : "cases/record.ml" }], -"unknown" : [["E2"], ["E3"], ["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/record.ml", + "deps": + [["Ext"], + ["E3"], + ["E2"]] + }], +"local": + [{ + "module": + ["Record"], + "ml": + "cases/record.ml" + }], +"unknown": + [["E2"], + ["E3"], + ["Ext"]] } diff --git a/tests/cases/riddle.ref b/tests/cases/riddle.ref index 42e7829a..264a2f36 100644 --- a/tests/cases/riddle.ref +++ b/tests/cases/riddle.ref @@ -1,10 +1,24 @@ -[Warning]: cases/riddle.ml:l113.11βˆ’12, +[Warning]: cases/riddle.ml:l113.6βˆ’12, first-class module M was opened while its signature was unknown. -[Notification]: cases/riddle.ml:l114.11βˆ’13, +[Notification]: cases/riddle.ml:l114.6βˆ’13, a non-resolvable module, M5, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/riddle.ml", "deps" : [["M5"]] }], -"local" : [{ "module" : ["Riddle"], "ml" : "cases/riddle.ml" }], -"unknown" : [["M5"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/riddle.ml", + "deps": + [["M5"]] + }], +"local": + [{ + "module": + ["Riddle"], + "ml": + "cases/riddle.ml" + }], +"unknown": + [["M5"]] } diff --git a/tests/cases/self_cycle.ref b/tests/cases/self_cycle.ref index fca5e10f..45886ff1 100644 --- a/tests/cases/self_cycle.ref +++ b/tests/cases/self_cycle.ref @@ -2,8 +2,20 @@ βˆ’Circular dependencies: Self_cycle βˆ’(cases/self_cycle.ml:l1.0βˆ’15)⟢ Self_cycle { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/self_cycle.ml", "deps" : [["Self_cycle"]] }], -"local" : [{ "module" : ["Self_cycle"], "ml" : "cases/self_cycle.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/self_cycle.ml", + "deps": + [["Self_cycle"]] + }], +"local": + [{ + "module": + ["Self_cycle"], + "ml": + "cases/self_cycle.ml" + }] } diff --git a/tests/cases/sig_reader.ref b/tests/cases/sig_reader.ref index 5de9647f..7dfa3b59 100644 --- a/tests/cases/sig_reader.ref +++ b/tests/cases/sig_reader.ref @@ -5,14 +5,32 @@ a non-resolvable module, Sig_lex, has been replaced by an approximation [Notification]: cases/sig_reader.ml:l5.19βˆ’40, a non-resolvable module, Sig_parse, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/sig_reader.ml", - "deps" : - [["Stdlib", "List"], ["Stdlib", "Lexing"], ["Stdlib", "Format"], - ["Sig_parse"], ["Sig_lex"], ["Module"]] + "file": + "cases/sig_reader.ml", + "deps": + [["Stdlib", + "List"], + ["Stdlib", + "Lexing"], + ["Stdlib", + "Format"], + ["Sig_parse"], + ["Sig_lex"], + ["Module"]] }], -"local" : [{ "module" : ["Sig_reader"], "ml" : "cases/sig_reader.ml" }], -"unknown" : [["Module"], ["Sig_lex"], ["Sig_parse"]] +"local": + [{ + "module": + ["Sig_reader"], + "ml": + "cases/sig_reader.ml" + }], +"unknown": + [["Module"], + ["Sig_lex"], + ["Sig_parse"]] } diff --git a/tests/cases/simple.ref b/tests/cases/simple.ref index ab304346..583360c4 100644 --- a/tests/cases/simple.ref +++ b/tests/cases/simple.ref @@ -29,12 +29,38 @@ Spurious dependencies might be inferred due to this ambiguity. [Notification]: cases/simple.ml:l12.0βˆ’8, a non-resolvable module, Y, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : +"version": + [0, 11, 0], +"dependencies": [{ - "file" : "cases/simple.ml", - "deps" : [["Y"], ["W"], ["I"], ["G"], ["Ext"], ["E"], ["C"], ["B"], ["A"]] + "file": + "cases/simple.ml", + "deps": + [["Y"], + ["W"], + ["I"], + ["G"], + ["Ext"], + ["E"], + ["C"], + ["B"], + ["A"]] }], -"local" : [{ "module" : ["Simple"], "ml" : "cases/simple.ml" }], -"unknown" : [["A"], ["B"], ["C"], ["E"], ["Ext"], ["G"], ["I"], ["W"], ["Y"]] +"local": + [{ + "module": + ["Simple"], + "ml": + "cases/simple.ml" + }], +"unknown": + [["A"], + ["B"], + ["C"], + ["E"], + ["Ext"], + ["G"], + ["I"], + ["W"], + ["Y"]] } diff --git a/tests/cases/solvable.ref b/tests/cases/solvable.ref index b18ceac3..a5e46f05 100644 --- a/tests/cases/solvable.ref +++ b/tests/cases/solvable.ref @@ -1,8 +1,22 @@ [Notification]: cases/solvable.ml:l1.0βˆ’11, a non-resolvable module, Extern, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/solvable.ml", "deps" : [["Extern"]] }], -"local" : [{ "module" : ["Solvable"], "ml" : "cases/solvable.ml" }], -"unknown" : [["Extern"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/solvable.ml", + "deps": + [["Extern"]] + }], +"local": + [{ + "module": + ["Solvable"], + "ml": + "cases/solvable.ml" + }], +"unknown": + [["Extern"]] } diff --git a/tests/cases/tuple.ref b/tests/cases/tuple.ref index d1cb152a..1d62b666 100644 --- a/tests/cases/tuple.ref +++ b/tests/cases/tuple.ref @@ -5,9 +5,26 @@ a non-resolvable module, B, has been replaced by an approximation [Notification]: cases/tuple.ml:l1.22βˆ’25, a non-resolvable module, C, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/tuple.ml", "deps" : [["C"], ["B"], ["A"]] }], -"local" : [{ "module" : ["Tuple"], "ml" : "cases/tuple.ml" }], -"unknown" : [["A"], ["B"], ["C"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/tuple.ml", + "deps": + [["C"], + ["B"], + ["A"]] + }], +"local": + [{ + "module": + ["Tuple"], + "ml": + "cases/tuple.ml" + }], +"unknown": + [["A"], + ["B"], + ["C"]] } diff --git a/tests/cases/unknown_arg.ref b/tests/cases/unknown_arg.ref index 00cc9a33..99006b86 100644 --- a/tests/cases/unknown_arg.ref +++ b/tests/cases/unknown_arg.ref @@ -1,8 +1,22 @@ [Notification]: cases/unknown_arg.ml:l1.0βˆ’l3.3, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/unknown_arg.ml", "deps" : [["Ext"]] }], -"local" : [{ "module" : ["Unknown_arg"], "ml" : "cases/unknown_arg.ml" }], -"unknown" : [["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/unknown_arg.ml", + "deps": + [["Ext"]] + }], +"local": + [{ + "module": + ["Unknown_arg"], + "ml": + "cases/unknown_arg.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/with.ref b/tests/cases/with.ref index d8942d4d..a9abed2d 100644 --- a/tests/cases/with.ref +++ b/tests/cases/with.ref @@ -1,8 +1,22 @@ [Notification]: cases/with.ml:l1.20βˆ’33, a non-resolvable module, Ext, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/with.ml", "deps" : [["Ext"]] }], -"local" : [{ "module" : ["With"], "ml" : "cases/with.ml" }], -"unknown" : [["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/with.ml", + "deps": + [["Ext"]] + }], +"local": + [{ + "module": + ["With"], + "ml": + "cases/with.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/cases/with_and_abstract_module_type.ref b/tests/cases/with_and_abstract_module_type.ref index d306760d..1aec70b9 100644 --- a/tests/cases/with_and_abstract_module_type.ref +++ b/tests/cases/with_and_abstract_module_type.ref @@ -1,9 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/with_and_abstract_module_type.ml" }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["With_and_abstract_module_type"], - "ml" : "cases/with_and_abstract_module_type.ml" + "file": + "cases/with_and_abstract_module_type.ml" + }], +"local": + [{ + "module": + ["With_and_abstract_module_type"], + "ml": + "cases/with_and_abstract_module_type.ml" }] } diff --git a/tests/cases/with_module_type.ref b/tests/cases/with_module_type.ref index ee65cc6b..5b67dbf3 100644 --- a/tests/cases/with_module_type.ref +++ b/tests/cases/with_module_type.ref @@ -1,6 +1,16 @@ { -"version" : [0, 11, 0], -"dependencies" : [{ "file" : "cases/with_module_type.ml" }], -"local" : - [{ "module" : ["With_module_type"], "ml" : "cases/with_module_type.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/with_module_type.ml" + }], +"local": + [{ + "module": + ["With_module_type"], + "ml": + "cases/with_module_type.ml" + }] } diff --git a/tests/cases/with_more.ref b/tests/cases/with_more.ref index fe83474d..abcb4a3e 100644 --- a/tests/cases/with_more.ref +++ b/tests/cases/with_more.ref @@ -3,9 +3,24 @@ a non-resolvable module, Ext, has been replaced by an approximation [Notification]: cases/with_more.ml:l3.51βˆ’57, a non-resolvable module, Ext3, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "cases/with_more.ml", "deps" : [["Ext3"], ["Ext"]] }], -"local" : [{ "module" : ["With_more"], "ml" : "cases/with_more.ml" }], -"unknown" : [["Ext"], ["Ext3"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "cases/with_more.ml", + "deps": + [["Ext3"], + ["Ext"]] + }], +"local": + [{ + "module": + ["With_more"], + "ml": + "cases/with_more.ml" + }], +"unknown": + [["Ext"], + ["Ext3"]] } diff --git a/tests/complex/2+2-cycles/reference b/tests/complex/2+2-cycles/reference index a812f411..62f7c100 100644 --- a/tests/complex/2+2-cycles/reference +++ b/tests/complex/2+2-cycles/reference @@ -5,11 +5,32 @@ βˆ’Circular dependencies: C βˆ’(2+2-cycles/c.ml:l1.0βˆ’6)⟢ D βˆ’(2+2-cycles/d.ml:l1.0βˆ’6)⟢ C { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "2+2-cycles/c.ml", "deps" : [["D"]] }, - { "file" : "2+2-cycles/d.ml", "deps" : [["C"]] }], -"local" : - [{ "module" : ["C"], "ml" : "2+2-cycles/c.ml" }, - { "module" : ["D"], "ml" : "2+2-cycles/d.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "2+2-cycles/c.ml", + "deps": + [["D"]] + }, + { + "file": + "2+2-cycles/d.ml", + "deps": + [["C"]] + }], +"local": + [{ + "module": + ["C"], + "ml": + "2+2-cycles/c.ml" + }, + { + "module": + ["D"], + "ml": + "2+2-cycles/d.ml" + }] } diff --git a/tests/complex/5624/reference b/tests/complex/5624/reference index a95c88a4..01ef1af1 100644 --- a/tests/complex/5624/reference +++ b/tests/complex/5624/reference @@ -1,10 +1,41 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "5624/a.mli" }, { "file" : "5624/b.mli", "deps" : [["A"]] }, - { "file" : "5624/c.ml", "deps" : [["B"], ["A"]] }], -"local" : - [{ "module" : ["A"], "mli" : "5624/a.mli" }, - { "module" : ["B"], "mli" : "5624/b.mli" }, - { "module" : ["C"], "ml" : "5624/c.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "5624/a.mli" + }, + { + "file": + "5624/b.mli", + "deps": + [["A"]] + }, + { + "file": + "5624/c.ml", + "deps": + [["B"], + ["A"]] + }], +"local": + [{ + "module": + ["A"], + "mli": + "5624/a.mli" + }, + { + "module": + ["B"], + "mli": + "5624/b.mli" + }, + { + "module": + ["C"], + "ml": + "5624/c.ml" + }] } diff --git a/tests/complex/8-cycles/reference b/tests/complex/8-cycles/reference index c7aa4032..6e0a91fe 100644 --- a/tests/complex/8-cycles/reference +++ b/tests/complex/8-cycles/reference @@ -13,23 +13,105 @@ G βˆ’(8-cycles/g.ml:l8.0βˆ’6)⟢ F βˆ’(8-cycles/f.ml:l7.0βˆ’6)⟢ E βˆ’(8-cycles/e.ml:l6.0βˆ’6)⟢ A { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "8-cycles/a.ml", "deps" : [["H"], ["B"]] }, - { "file" : "8-cycles/b.ml", "deps" : [["C"]] }, - { "file" : "8-cycles/c.ml", "deps" : [["D"]] }, - { "file" : "8-cycles/d.ml", "deps" : [["A"]] }, - { "file" : "8-cycles/e.ml", "deps" : [["A"]] }, - { "file" : "8-cycles/f.ml", "deps" : [["E"]] }, - { "file" : "8-cycles/g.ml", "deps" : [["F"]] }, - { "file" : "8-cycles/h.ml", "deps" : [["G"]] }], -"local" : - [{ "module" : ["A"], "ml" : "8-cycles/a.ml" }, - { "module" : ["B"], "ml" : "8-cycles/b.ml" }, - { "module" : ["C"], "ml" : "8-cycles/c.ml" }, - { "module" : ["D"], "ml" : "8-cycles/d.ml" }, - { "module" : ["E"], "ml" : "8-cycles/e.ml" }, - { "module" : ["F"], "ml" : "8-cycles/f.ml" }, - { "module" : ["G"], "ml" : "8-cycles/g.ml" }, - { "module" : ["H"], "ml" : "8-cycles/h.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "8-cycles/a.ml", + "deps": + [["H"], + ["B"]] + }, + { + "file": + "8-cycles/b.ml", + "deps": + [["C"]] + }, + { + "file": + "8-cycles/c.ml", + "deps": + [["D"]] + }, + { + "file": + "8-cycles/d.ml", + "deps": + [["A"]] + }, + { + "file": + "8-cycles/e.ml", + "deps": + [["A"]] + }, + { + "file": + "8-cycles/f.ml", + "deps": + [["E"]] + }, + { + "file": + "8-cycles/g.ml", + "deps": + [["F"]] + }, + { + "file": + "8-cycles/h.ml", + "deps": + [["G"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "8-cycles/a.ml" + }, + { + "module": + ["B"], + "ml": + "8-cycles/b.ml" + }, + { + "module": + ["C"], + "ml": + "8-cycles/c.ml" + }, + { + "module": + ["D"], + "ml": + "8-cycles/d.ml" + }, + { + "module": + ["E"], + "ml": + "8-cycles/e.ml" + }, + { + "module": + ["F"], + "ml": + "8-cycles/f.ml" + }, + { + "module": + ["G"], + "ml": + "8-cycles/g.ml" + }, + { + "module": + ["H"], + "ml": + "8-cycles/h.ml" + }] } diff --git a/tests/complex/alias_path_with_namespaces/reference b/tests/complex/alias_path_with_namespaces/reference index ff09947e..4c75432e 100644 --- a/tests/complex/alias_path_with_namespaces/reference +++ b/tests/complex/alias_path_with_namespaces/reference @@ -1,23 +1,42 @@ [Notification]: alias_path_with_namespaces/inner/a.ml:l3.0βˆ’6, a non-resolvable module, C, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "alias_path_with_namespaces/inner/a.mli" }, - { "file" : "alias_path_with_namespaces/inner/b.mli" }, +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "alias_path_with_namespaces/inner/a.mli" + }, + { + "file": + "alias_path_with_namespaces/inner/b.mli" + }, { - "file" : "alias_path_with_namespaces/inner/a.ml", - "deps" : [["Inner", "B"], ["C"]] + "file": + "alias_path_with_namespaces/inner/a.ml", + "deps": + [["Inner", + "B"], + ["C"]] }], -"local" : +"local": [{ - "module" : ["Inner", "A"], - "ml" : "alias_path_with_namespaces/inner/a.ml", - "mli" : "alias_path_with_namespaces/inner/a.mli" + "module": + ["Inner", + "A"], + "ml": + "alias_path_with_namespaces/inner/a.ml", + "mli": + "alias_path_with_namespaces/inner/a.mli" }, { - "module" : ["Inner", "B"], - "mli" : "alias_path_with_namespaces/inner/b.mli" + "module": + ["Inner", + "B"], + "mli": + "alias_path_with_namespaces/inner/b.mli" }], -"unknown" : [["C"]] +"unknown": + [["C"]] } diff --git a/tests/complex/alias_values/reference b/tests/complex/alias_values/reference index be256176..975d0ea0 100644 --- a/tests/complex/alias_values/reference +++ b/tests/complex/alias_values/reference @@ -1,10 +1,39 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "alias_values/a.ml" }, { "file" : "alias_values/b.ml" }, - { "file" : "alias_values/c.ml", "deps" : [["B"], ["A"]] }], -"local" : - [{ "module" : ["A"], "ml" : "alias_values/a.ml" }, - { "module" : ["B"], "ml" : "alias_values/b.ml" }, - { "module" : ["C"], "ml" : "alias_values/c.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "alias_values/a.ml" + }, + { + "file": + "alias_values/b.ml" + }, + { + "file": + "alias_values/c.ml", + "deps": + [["B"], + ["A"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "alias_values/a.ml" + }, + { + "module": + ["B"], + "ml": + "alias_values/b.ml" + }, + { + "module": + ["C"], + "ml": + "alias_values/c.ml" + }] } diff --git a/tests/complex/aliases/reference b/tests/complex/aliases/reference index 99390086..9c617248 100644 --- a/tests/complex/aliases/reference +++ b/tests/complex/aliases/reference @@ -1,14 +1,61 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "aliases/amap.ml", "deps" : [["Long__B"]] }, - { "file" : "aliases/long__A.ml" }, { "file" : "aliases/long__B.ml" }, - { "file" : "aliases/long__C.ml" }, - { "file" : "aliases/user.ml", "deps" : [["Long__A"], ["Amap"]] }], -"local" : - [{ "module" : ["Amap"], "ml" : "aliases/amap.ml" }, - { "module" : ["Long__A"], "ml" : "aliases/long__A.ml" }, - { "module" : ["Long__B"], "ml" : "aliases/long__B.ml" }, - { "module" : ["Long__C"], "ml" : "aliases/long__C.ml" }, - { "module" : ["User"], "ml" : "aliases/user.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "aliases/amap.ml", + "deps": + [["Long__B"]] + }, + { + "file": + "aliases/long__A.ml" + }, + { + "file": + "aliases/long__B.ml" + }, + { + "file": + "aliases/long__C.ml" + }, + { + "file": + "aliases/user.ml", + "deps": + [["Long__A"], + ["Amap"]] + }], +"local": + [{ + "module": + ["Amap"], + "ml": + "aliases/amap.ml" + }, + { + "module": + ["Long__A"], + "ml": + "aliases/long__A.ml" + }, + { + "module": + ["Long__B"], + "ml": + "aliases/long__B.ml" + }, + { + "module": + ["Long__C"], + "ml": + "aliases/long__C.ml" + }, + { + "module": + ["User"], + "ml": + "aliases/user.ml" + }] } diff --git a/tests/complex/aliases2/reference b/tests/complex/aliases2/reference index df4dbd59..eb7117aa 100644 --- a/tests/complex/aliases2/reference +++ b/tests/complex/aliases2/reference @@ -1,13 +1,59 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "aliases2/a.ml", "deps" : [["D"], ["B"]] }, - { "file" : "aliases2/b.ml" }, { "file" : "aliases2/c.ml" }, - { "file" : "aliases2/d.ml" }, { "file" : "aliases2/e.ml" }], -"local" : - [{ "module" : ["A"], "ml" : "aliases2/a.ml" }, - { "module" : ["B"], "ml" : "aliases2/b.ml" }, - { "module" : ["C"], "ml" : "aliases2/c.ml" }, - { "module" : ["D"], "ml" : "aliases2/d.ml" }, - { "module" : ["E"], "ml" : "aliases2/e.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "aliases2/a.ml", + "deps": + [["D"], + ["B"]] + }, + { + "file": + "aliases2/b.ml" + }, + { + "file": + "aliases2/c.ml" + }, + { + "file": + "aliases2/d.ml" + }, + { + "file": + "aliases2/e.ml" + }], +"local": + [{ + "module": + ["A"], + "ml": + "aliases2/a.ml" + }, + { + "module": + ["B"], + "ml": + "aliases2/b.ml" + }, + { + "module": + ["C"], + "ml": + "aliases2/c.ml" + }, + { + "module": + ["D"], + "ml": + "aliases2/d.ml" + }, + { + "module": + ["E"], + "ml": + "aliases2/e.ml" + }] } diff --git a/tests/complex/aliases_and_map/reference b/tests/complex/aliases_and_map/reference index 252b88d9..7048e256 100644 --- a/tests/complex/aliases_and_map/reference +++ b/tests/complex/aliases_and_map/reference @@ -1,40 +1,104 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "aliases_and_map/m.mli" }, - { "file" : "aliases_and_map/n__A.mli", "deps" : [["M"]] }, - { "file" : "aliases_and_map/n__B.mli", "deps" : [["M"]] }, - { "file" : "aliases_and_map/n__C.mli", "deps" : [["M"]] }, - { "file" : "aliases_and_map/n__D.mli", "deps" : [["M"]] }, - { "file" : "aliases_and_map/m.ml" }, - { "file" : "aliases_and_map/n__A.ml", "deps" : [["M"]] }, - { "file" : "aliases_and_map/n__B.ml", "deps" : [["M"]] }, - { "file" : "aliases_and_map/n__C.ml", "deps" : [["N__A"], ["M"]] }, - { "file" : "aliases_and_map/n__D.ml", "deps" : [["N__B"], ["M"]] }], -"local" : +"version": + [0, 11, 0], +"dependencies": [{ - "module" : ["M"], - "ml" : "aliases_and_map/m.ml", - "mli" : "aliases_and_map/m.mli" + "file": + "aliases_and_map/m.mli" }, { - "module" : ["N__A"], - "ml" : "aliases_and_map/n__A.ml", - "mli" : "aliases_and_map/n__A.mli" + "file": + "aliases_and_map/n__A.mli", + "deps": + [["M"]] }, { - "module" : ["N__B"], - "ml" : "aliases_and_map/n__B.ml", - "mli" : "aliases_and_map/n__B.mli" + "file": + "aliases_and_map/n__B.mli", + "deps": + [["M"]] }, { - "module" : ["N__C"], - "ml" : "aliases_and_map/n__C.ml", - "mli" : "aliases_and_map/n__C.mli" + "file": + "aliases_and_map/n__C.mli", + "deps": + [["M"]] }, { - "module" : ["N__D"], - "ml" : "aliases_and_map/n__D.ml", - "mli" : "aliases_and_map/n__D.mli" + "file": + "aliases_and_map/n__D.mli", + "deps": + [["M"]] + }, + { + "file": + "aliases_and_map/m.ml" + }, + { + "file": + "aliases_and_map/n__A.ml", + "deps": + [["M"]] + }, + { + "file": + "aliases_and_map/n__B.ml", + "deps": + [["M"]] + }, + { + "file": + "aliases_and_map/n__C.ml", + "deps": + [["N__A"], + ["M"]] + }, + { + "file": + "aliases_and_map/n__D.ml", + "deps": + [["N__B"], + ["M"]] + }], +"local": + [{ + "module": + ["M"], + "ml": + "aliases_and_map/m.ml", + "mli": + "aliases_and_map/m.mli" + }, + { + "module": + ["N__A"], + "ml": + "aliases_and_map/n__A.ml", + "mli": + "aliases_and_map/n__A.mli" + }, + { + "module": + ["N__B"], + "ml": + "aliases_and_map/n__B.ml", + "mli": + "aliases_and_map/n__B.mli" + }, + { + "module": + ["N__C"], + "ml": + "aliases_and_map/n__C.ml", + "mli": + "aliases_and_map/n__C.mli" + }, + { + "module": + ["N__D"], + "ml": + "aliases_and_map/n__D.ml", + "mli": + "aliases_and_map/n__D.mli" }] } diff --git a/tests/complex/aliases_and_with/reference b/tests/complex/aliases_and_with/reference index 9ff34cb3..b126ea46 100644 --- a/tests/complex/aliases_and_with/reference +++ b/tests/complex/aliases_and_with/reference @@ -1,9 +1,28 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "aliases_and_with/a1.ml" }, - { "file" : "aliases_and_with/main.ml", "deps" : [["A1"]] }], -"local" : - [{ "module" : ["A1"], "ml" : "aliases_and_with/a1.ml" }, - { "module" : ["Main"], "ml" : "aliases_and_with/main.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "aliases_and_with/a1.ml" + }, + { + "file": + "aliases_and_with/main.ml", + "deps": + [["A1"]] + }], +"local": + [{ + "module": + ["A1"], + "ml": + "aliases_and_with/a1.ml" + }, + { + "module": + ["Main"], + "ml": + "aliases_and_with/main.ml" + }] } diff --git a/tests/complex/any_m/reference b/tests/complex/any_m/reference index 4eed807c..c852d948 100644 --- a/tests/complex/any_m/reference +++ b/tests/complex/any_m/reference @@ -4,20 +4,94 @@ a non-resolvable module, Ext, has been replaced by an approximation the opening of the external module Ext, at location l1.0βˆ’8. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "any_m/a/m.ml", "deps" : [["B", "M"]] }, - { "file" : "any_m/b/m.ml", "deps" : [["E", "M"], ["D", "M"]] }, - { "file" : "any_m/c/m.ml", "deps" : [["D", "M"], ["Ext"]] }, - { "file" : "any_m/d/m.ml" }, - { "file" : "any_m/e/m.ml", "deps" : [["D", "M"]] }, - { "file" : "any_m/f/m.ml", "deps" : [["A", "M"]] }], -"local" : - [{ "module" : ["A", "M"], "ml" : "any_m/a/m.ml" }, - { "module" : ["B", "M"], "ml" : "any_m/b/m.ml" }, - { "module" : ["C", "M"], "ml" : "any_m/c/m.ml" }, - { "module" : ["D", "M"], "ml" : "any_m/d/m.ml" }, - { "module" : ["E", "M"], "ml" : "any_m/e/m.ml" }, - { "module" : ["F", "M"], "ml" : "any_m/f/m.ml" }], -"unknown" : [["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "any_m/a/m.ml", + "deps": + [["B", + "M"]] + }, + { + "file": + "any_m/b/m.ml", + "deps": + [["E", + "M"], + ["D", + "M"]] + }, + { + "file": + "any_m/c/m.ml", + "deps": + [["D", + "M"], + ["Ext"]] + }, + { + "file": + "any_m/d/m.ml" + }, + { + "file": + "any_m/e/m.ml", + "deps": + [["D", + "M"]] + }, + { + "file": + "any_m/f/m.ml", + "deps": + [["A", + "M"]] + }], +"local": + [{ + "module": + ["A", + "M"], + "ml": + "any_m/a/m.ml" + }, + { + "module": + ["B", + "M"], + "ml": + "any_m/b/m.ml" + }, + { + "module": + ["C", + "M"], + "ml": + "any_m/c/m.ml" + }, + { + "module": + ["D", + "M"], + "ml": + "any_m/d/m.ml" + }, + { + "module": + ["E", + "M"], + "ml": + "any_m/e/m.ml" + }, + { + "module": + ["F", + "M"], + "ml": + "any_m/f/m.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/complex/broken_network/reference b/tests/complex/broken_network/reference index 1040f6cc..861b0db5 100644 --- a/tests/complex/broken_network/reference +++ b/tests/complex/broken_network/reference @@ -10,14 +10,49 @@ dependencies might be inferred due to this ambiguity. [Warning]: Approximate parsing of broken_network/broken.ml. Computed dependencies: at least {}, maybe: {B} { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "broken_network/a.ml", "deps" : [["C"], ["Broken"], ["B"]] }, - { "file" : "broken_network/broken.ml", "deps" : [["B"]] }, - { "file" : "broken_network/c.ml", "deps" : [["Extern"]] }], -"local" : - [{ "module" : ["A"], "ml" : "broken_network/a.ml" }, - { "module" : ["Broken"], "ml" : "broken_network/broken.ml" }, - { "module" : ["C"], "ml" : "broken_network/c.ml" }], -"unknown" : [["B"], ["Extern"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "broken_network/a.ml", + "deps": + [["C"], + ["Broken"], + ["B"]] + }, + { + "file": + "broken_network/broken.ml", + "deps": + [["B"]] + }, + { + "file": + "broken_network/c.ml", + "deps": + [["Extern"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "broken_network/a.ml" + }, + { + "module": + ["Broken"], + "ml": + "broken_network/broken.ml" + }, + { + "module": + ["C"], + "ml": + "broken_network/c.ml" + }], +"unknown": + [["B"], + ["Extern"]] } diff --git a/tests/complex/collision/reference b/tests/complex/collision/reference index 7ec48263..f3948acf 100644 --- a/tests/complex/collision/reference +++ b/tests/complex/collision/reference @@ -4,16 +4,57 @@ a non-resolvable module, Ext, has been replaced by an approximation to the opening of the external module Ext, at location l3.0βˆ’8. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "collision/a.ml", "deps" : [["Ext"], ["B"]] }, - { "file" : "collision/b.ml" }, - { "file" : "collision/c.ml", "deps" : [["B"]] }, - { "file" : "collision/d.ml", "deps" : [["B"]] }], -"local" : - [{ "module" : ["A"], "ml" : "collision/a.ml" }, - { "module" : ["B"], "ml" : "collision/b.ml" }, - { "module" : ["C"], "ml" : "collision/c.ml" }, - { "module" : ["D"], "ml" : "collision/d.ml" }], -"unknown" : [["Ext"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "collision/a.ml", + "deps": + [["Ext"], + ["B"]] + }, + { + "file": + "collision/b.ml" + }, + { + "file": + "collision/c.ml", + "deps": + [["B"]] + }, + { + "file": + "collision/d.ml", + "deps": + [["B"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "collision/a.ml" + }, + { + "module": + ["B"], + "ml": + "collision/b.ml" + }, + { + "module": + ["C"], + "ml": + "collision/c.ml" + }, + { + "module": + ["D"], + "ml": + "collision/d.ml" + }], +"unknown": + [["Ext"]] } diff --git a/tests/complex/deep-eps/reference b/tests/complex/deep-eps/reference index f0bc49c1..efea1133 100644 --- a/tests/complex/deep-eps/reference +++ b/tests/complex/deep-eps/reference @@ -1,19 +1,96 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "deep-eps/a.mli", "deps" : [["Z"], ["W"], ["K"]] }, - { "file" : "deep-eps/b.mli", "deps" : [["Z"], ["W"], ["A"]] }, - { "file" : "deep-eps/c.ml", "deps" : [["Z"], ["W"], ["B"], ["A"]] }, - { "file" : "deep-eps/k.ml", "deps" : [["Z"], ["W"]] }, - { "file" : "deep-eps/w.mli", "deps" : [["Y"]] }, - { "file" : "deep-eps/y.mli" }, - { "file" : "deep-eps/z.mli", "deps" : [["W"]] }], -"local" : - [{ "module" : ["A"], "mli" : "deep-eps/a.mli" }, - { "module" : ["B"], "mli" : "deep-eps/b.mli" }, - { "module" : ["C"], "ml" : "deep-eps/c.ml" }, - { "module" : ["K"], "ml" : "deep-eps/k.ml" }, - { "module" : ["W"], "mli" : "deep-eps/w.mli" }, - { "module" : ["Y"], "mli" : "deep-eps/y.mli" }, - { "module" : ["Z"], "mli" : "deep-eps/z.mli" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "deep-eps/a.mli", + "deps": + [["Z"], + ["W"], + ["K"]] + }, + { + "file": + "deep-eps/b.mli", + "deps": + [["Z"], + ["W"], + ["A"]] + }, + { + "file": + "deep-eps/c.ml", + "deps": + [["Z"], + ["W"], + ["B"], + ["A"]] + }, + { + "file": + "deep-eps/k.ml", + "deps": + [["Z"], + ["W"]] + }, + { + "file": + "deep-eps/w.mli", + "deps": + [["Y"]] + }, + { + "file": + "deep-eps/y.mli" + }, + { + "file": + "deep-eps/z.mli", + "deps": + [["W"]] + }], +"local": + [{ + "module": + ["A"], + "mli": + "deep-eps/a.mli" + }, + { + "module": + ["B"], + "mli": + "deep-eps/b.mli" + }, + { + "module": + ["C"], + "ml": + "deep-eps/c.ml" + }, + { + "module": + ["K"], + "ml": + "deep-eps/k.ml" + }, + { + "module": + ["W"], + "mli": + "deep-eps/w.mli" + }, + { + "module": + ["Y"], + "mli": + "deep-eps/y.mli" + }, + { + "module": + ["Z"], + "mli": + "deep-eps/z.mli" + }] } diff --git a/tests/complex/local_module_subst/reference b/tests/complex/local_module_subst/reference index 2ebb3def..9705a78b 100644 --- a/tests/complex/local_module_subst/reference +++ b/tests/complex/local_module_subst/reference @@ -1,12 +1,33 @@ [Notification]: local_module_subst/b.mli:l2.0βˆ’10, a non-resolvable module, Local, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "local_module_subst/a.mli" }, - { "file" : "local_module_subst/b.mli", "deps" : [["Local"], ["A"]] }], -"local" : - [{ "module" : ["A"], "mli" : "local_module_subst/a.mli" }, - { "module" : ["B"], "mli" : "local_module_subst/b.mli" }], -"unknown" : [["Local"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "local_module_subst/a.mli" + }, + { + "file": + "local_module_subst/b.mli", + "deps": + [["Local"], + ["A"]] + }], +"local": + [{ + "module": + ["A"], + "mli": + "local_module_subst/a.mli" + }, + { + "module": + ["B"], + "mli": + "local_module_subst/b.mli" + }], +"unknown": + [["Local"]] } diff --git a/tests/complex/mixed/reference b/tests/complex/mixed/reference index 0239006b..bcdb8e34 100644 --- a/tests/complex/mixed/reference +++ b/tests/complex/mixed/reference @@ -1,13 +1,61 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "mixed/a.mli", "deps" : [["D"], ["B"]] }, - { "file" : "mixed/b.ml", "deps" : [["C"]] }, - { "file" : "mixed/c.mli", "deps" : [["D"]] }, { "file" : "mixed/d.mli" }, - { "file" : "mixed/a.ml", "deps" : [["D"]] }], -"local" : - [{ "module" : ["A"], "ml" : "mixed/a.ml", "mli" : "mixed/a.mli" }, - { "module" : ["B"], "ml" : "mixed/b.ml" }, - { "module" : ["C"], "mli" : "mixed/c.mli" }, - { "module" : ["D"], "mli" : "mixed/d.mli" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "mixed/a.mli", + "deps": + [["D"], + ["B"]] + }, + { + "file": + "mixed/b.ml", + "deps": + [["C"]] + }, + { + "file": + "mixed/c.mli", + "deps": + [["D"]] + }, + { + "file": + "mixed/d.mli" + }, + { + "file": + "mixed/a.ml", + "deps": + [["D"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "mixed/a.ml", + "mli": + "mixed/a.mli" + }, + { + "module": + ["B"], + "ml": + "mixed/b.ml" + }, + { + "module": + ["C"], + "mli": + "mixed/c.mli" + }, + { + "module": + ["D"], + "mli": + "mixed/d.mli" + }] } diff --git a/tests/complex/module_types/reference b/tests/complex/module_types/reference index 63cf1980..9c370614 100644 --- a/tests/complex/module_types/reference +++ b/tests/complex/module_types/reference @@ -3,12 +3,34 @@ a non-resolvable module, E, has been replaced by an approximation [Warning]: module_types/b.ml:l3.2βˆ’13, module A does not contain any module type B { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "module_types/a.mli", "deps" : [["E"]] }, - { "file" : "module_types/b.ml", "deps" : [["A"]] }], -"local" : - [{ "module" : ["A"], "mli" : "module_types/a.mli" }, - { "module" : ["B"], "ml" : "module_types/b.ml" }], -"unknown" : [["E"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "module_types/a.mli", + "deps": + [["E"]] + }, + { + "file": + "module_types/b.ml", + "deps": + [["A"]] + }], +"local": + [{ + "module": + ["A"], + "mli": + "module_types/a.mli" + }, + { + "module": + ["B"], + "ml": + "module_types/b.ml" + }], +"unknown": + [["E"]] } diff --git a/tests/complex/namespaced/reference b/tests/complex/namespaced/reference index 8dc8d77a..ebb0f32d 100644 --- a/tests/complex/namespaced/reference +++ b/tests/complex/namespaced/reference @@ -1,13 +1,54 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "namespaced/main.ml" }, - { "file" : "namespaced/NAME__a.ml", "deps" : [["NAME__b"], ["Main"]] }, - { "file" : "namespaced/NAME__b.ml", "deps" : [["NAME__c"], ["Main"]] }, - { "file" : "namespaced/NAME__c.ml", "deps" : [["Main"]] }], -"local" : - [{ "module" : ["Main"], "ml" : "namespaced/main.ml" }, - { "module" : ["NAME__a"], "ml" : "namespaced/NAME__a.ml" }, - { "module" : ["NAME__b"], "ml" : "namespaced/NAME__b.ml" }, - { "module" : ["NAME__c"], "ml" : "namespaced/NAME__c.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "namespaced/main.ml" + }, + { + "file": + "namespaced/NAME__a.ml", + "deps": + [["NAME__b"], + ["Main"]] + }, + { + "file": + "namespaced/NAME__b.ml", + "deps": + [["NAME__c"], + ["Main"]] + }, + { + "file": + "namespaced/NAME__c.ml", + "deps": + [["Main"]] + }], +"local": + [{ + "module": + ["Main"], + "ml": + "namespaced/main.ml" + }, + { + "module": + ["NAME__a"], + "ml": + "namespaced/NAME__a.ml" + }, + { + "module": + ["NAME__b"], + "ml": + "namespaced/NAME__b.ml" + }, + { + "module": + ["NAME__c"], + "ml": + "namespaced/NAME__c.ml" + }] } diff --git a/tests/complex/network/reference b/tests/complex/network/reference index 19ed911d..9e70ee55 100644 --- a/tests/complex/network/reference +++ b/tests/complex/network/reference @@ -4,13 +4,45 @@ a non-resolvable module, Extern, has been replaced by an approximation to the opening of the external module Extern, at location l2.0βˆ’11. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "network/a.ml", "deps" : [["Extern"], ["B"]] }, - { "file" : "network/b.ml" }, { "file" : "network/c.ml", "deps" : [["A"]] }], -"local" : - [{ "module" : ["A"], "ml" : "network/a.ml" }, - { "module" : ["B"], "ml" : "network/b.ml" }, - { "module" : ["C"], "ml" : "network/c.ml" }], -"unknown" : [["Extern"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "network/a.ml", + "deps": + [["Extern"], + ["B"]] + }, + { + "file": + "network/b.ml" + }, + { + "file": + "network/c.ml", + "deps": + [["A"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "network/a.ml" + }, + { + "module": + ["B"], + "ml": + "network/b.ml" + }, + { + "module": + ["C"], + "ml": + "network/c.ml" + }], +"unknown": + [["Extern"]] } diff --git a/tests/complex/pair/reference b/tests/complex/pair/reference index 88fdcc48..3daa9f88 100644 --- a/tests/complex/pair/reference +++ b/tests/complex/pair/reference @@ -1,12 +1,34 @@ [Notification]: pair/b.ml:l1.0βˆ’11, a non-resolvable module, Extern, has been replaced by an approximation { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "pair/a.ml", "deps" : [["B"]] }, - { "file" : "pair/b.ml", "deps" : [["Extern"]] }], -"local" : - [{ "module" : ["A"], "ml" : "pair/a.ml" }, - { "module" : ["B"], "ml" : "pair/b.ml" }], -"unknown" : [["Extern"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "pair/a.ml", + "deps": + [["B"]] + }, + { + "file": + "pair/b.ml", + "deps": + [["Extern"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "pair/a.ml" + }, + { + "module": + ["B"], + "ml": + "pair/b.ml" + }], +"unknown": + [["Extern"]] } diff --git a/tests/complex/siblings/reference b/tests/complex/siblings/reference index 7ecb2644..b2bd943f 100644 --- a/tests/complex/siblings/reference +++ b/tests/complex/siblings/reference @@ -1,29 +1,167 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "siblings/a.ml", "deps" : [["R", "R", "B"], ["L", "L", "A"]] }, - { "file" : "siblings/L/a.ml", "deps" : [["L", "R", "A"], ["L", "L", "A"]] }, - { - "file" : "siblings/L/L/a.ml", - "deps" : [["L", "R", "A"], ["L", "L", "B"]] - }, { "file" : "siblings/L/L/b.ml", "deps" : [["L", "R", "B"]] }, - { "file" : "siblings/L/R/a.ml", "deps" : [["L", "R", "B"]] }, - { "file" : "siblings/L/R/b.ml" }, - { "file" : "siblings/R/L/a.ml", "deps" : [["R", "L", "B"]] }, - { "file" : "siblings/R/L/b.ml" }, - { - "file" : "siblings/R/R/a.ml", - "deps" : [["R", "R", "B"], ["R", "L", "A"]] - }, { "file" : "siblings/R/R/b.ml", "deps" : [["R", "L", "B"]] }], -"local" : - [{ "module" : ["A"], "ml" : "siblings/a.ml" }, - { "module" : ["L", "A"], "ml" : "siblings/L/a.ml" }, - { "module" : ["L", "L", "A"], "ml" : "siblings/L/L/a.ml" }, - { "module" : ["L", "L", "B"], "ml" : "siblings/L/L/b.ml" }, - { "module" : ["L", "R", "A"], "ml" : "siblings/L/R/a.ml" }, - { "module" : ["L", "R", "B"], "ml" : "siblings/L/R/b.ml" }, - { "module" : ["R", "L", "A"], "ml" : "siblings/R/L/a.ml" }, - { "module" : ["R", "L", "B"], "ml" : "siblings/R/L/b.ml" }, - { "module" : ["R", "R", "A"], "ml" : "siblings/R/R/a.ml" }, - { "module" : ["R", "R", "B"], "ml" : "siblings/R/R/b.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "siblings/a.ml", + "deps": + [["R", + "R", + "B"], + ["L", + "L", + "A"]] + }, + { + "file": + "siblings/L/a.ml", + "deps": + [["L", + "R", + "A"], + ["L", + "L", + "A"]] + }, + { + "file": + "siblings/L/L/a.ml", + "deps": + [["L", + "R", + "A"], + ["L", + "L", + "B"]] + }, + { + "file": + "siblings/L/L/b.ml", + "deps": + [["L", + "R", + "B"]] + }, + { + "file": + "siblings/L/R/a.ml", + "deps": + [["L", + "R", + "B"]] + }, + { + "file": + "siblings/L/R/b.ml" + }, + { + "file": + "siblings/R/L/a.ml", + "deps": + [["R", + "L", + "B"]] + }, + { + "file": + "siblings/R/L/b.ml" + }, + { + "file": + "siblings/R/R/a.ml", + "deps": + [["R", + "R", + "B"], + ["R", + "L", + "A"]] + }, + { + "file": + "siblings/R/R/b.ml", + "deps": + [["R", + "L", + "B"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "siblings/a.ml" + }, + { + "module": + ["L", + "A"], + "ml": + "siblings/L/a.ml" + }, + { + "module": + ["L", + "L", + "A"], + "ml": + "siblings/L/L/a.ml" + }, + { + "module": + ["L", + "L", + "B"], + "ml": + "siblings/L/L/b.ml" + }, + { + "module": + ["L", + "R", + "A"], + "ml": + "siblings/L/R/a.ml" + }, + { + "module": + ["L", + "R", + "B"], + "ml": + "siblings/L/R/b.ml" + }, + { + "module": + ["R", + "L", + "A"], + "ml": + "siblings/R/L/a.ml" + }, + { + "module": + ["R", + "L", + "B"], + "ml": + "siblings/R/L/b.ml" + }, + { + "module": + ["R", + "R", + "A"], + "ml": + "siblings/R/R/a.ml" + }, + { + "module": + ["R", + "R", + "B"], + "ml": + "siblings/R/R/b.ml" + }] } diff --git a/tests/complex/stops/reference b/tests/complex/stops/reference index 9d59e046..e261ef7e 100644 --- a/tests/complex/stops/reference +++ b/tests/complex/stops/reference @@ -1,34 +1,188 @@ { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "stops/a.ml", "deps" : [["F"], ["E"], ["D"], ["C"], ["B"]] }, - { "file" : "stops/b.ml", "deps" : [["Z"]] }, - { "file" : "stops/c.ml", "deps" : [["Y"]] }, - { "file" : "stops/d.ml", "deps" : [["X"]] }, - { "file" : "stops/e.ml", "deps" : [["W"]] }, - { "file" : "stops/f.ml", "deps" : [["V"]] }, - { "file" : "stops/g.ml", "deps" : [["F"]] }, - { "file" : "stops/h.ml", "deps" : [["G"]] }, - { "file" : "stops/i.ml", "deps" : [["H"]] }, - { "file" : "stops/j.ml", "deps" : [["I"]] }, - { "file" : "stops/v.ml", "deps" : [["E"]] }, - { "file" : "stops/w.ml", "deps" : [["D"]] }, - { "file" : "stops/x.ml", "deps" : [["C"]] }, - { "file" : "stops/y.ml", "deps" : [["B"]] }, { "file" : "stops/z.ml" }], -"local" : - [{ "module" : ["A"], "ml" : "stops/a.ml" }, - { "module" : ["B"], "ml" : "stops/b.ml" }, - { "module" : ["C"], "ml" : "stops/c.ml" }, - { "module" : ["D"], "ml" : "stops/d.ml" }, - { "module" : ["E"], "ml" : "stops/e.ml" }, - { "module" : ["F"], "ml" : "stops/f.ml" }, - { "module" : ["G"], "ml" : "stops/g.ml" }, - { "module" : ["H"], "ml" : "stops/h.ml" }, - { "module" : ["I"], "ml" : "stops/i.ml" }, - { "module" : ["J"], "ml" : "stops/j.ml" }, - { "module" : ["V"], "ml" : "stops/v.ml" }, - { "module" : ["W"], "ml" : "stops/w.ml" }, - { "module" : ["X"], "ml" : "stops/x.ml" }, - { "module" : ["Y"], "ml" : "stops/y.ml" }, - { "module" : ["Z"], "ml" : "stops/z.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "stops/a.ml", + "deps": + [["F"], + ["E"], + ["D"], + ["C"], + ["B"]] + }, + { + "file": + "stops/b.ml", + "deps": + [["Z"]] + }, + { + "file": + "stops/c.ml", + "deps": + [["Y"]] + }, + { + "file": + "stops/d.ml", + "deps": + [["X"]] + }, + { + "file": + "stops/e.ml", + "deps": + [["W"]] + }, + { + "file": + "stops/f.ml", + "deps": + [["V"]] + }, + { + "file": + "stops/g.ml", + "deps": + [["F"]] + }, + { + "file": + "stops/h.ml", + "deps": + [["G"]] + }, + { + "file": + "stops/i.ml", + "deps": + [["H"]] + }, + { + "file": + "stops/j.ml", + "deps": + [["I"]] + }, + { + "file": + "stops/v.ml", + "deps": + [["E"]] + }, + { + "file": + "stops/w.ml", + "deps": + [["D"]] + }, + { + "file": + "stops/x.ml", + "deps": + [["C"]] + }, + { + "file": + "stops/y.ml", + "deps": + [["B"]] + }, + { + "file": + "stops/z.ml" + }], +"local": + [{ + "module": + ["A"], + "ml": + "stops/a.ml" + }, + { + "module": + ["B"], + "ml": + "stops/b.ml" + }, + { + "module": + ["C"], + "ml": + "stops/c.ml" + }, + { + "module": + ["D"], + "ml": + "stops/d.ml" + }, + { + "module": + ["E"], + "ml": + "stops/e.ml" + }, + { + "module": + ["F"], + "ml": + "stops/f.ml" + }, + { + "module": + ["G"], + "ml": + "stops/g.ml" + }, + { + "module": + ["H"], + "ml": + "stops/h.ml" + }, + { + "module": + ["I"], + "ml": + "stops/i.ml" + }, + { + "module": + ["J"], + "ml": + "stops/j.ml" + }, + { + "module": + ["V"], + "ml": + "stops/v.ml" + }, + { + "module": + ["W"], + "ml": + "stops/w.ml" + }, + { + "module": + ["X"], + "ml": + "stops/x.ml" + }, + { + "module": + ["Y"], + "ml": + "stops/y.ml" + }, + { + "module": + ["Z"], + "ml": + "stops/z.ml" + }] } diff --git a/tests/complex/uncoupled/reference b/tests/complex/uncoupled/reference index bfac2329..9a098d83 100644 --- a/tests/complex/uncoupled/reference +++ b/tests/complex/uncoupled/reference @@ -4,14 +4,45 @@ a non-resolvable module, N, has been replaced by an approximation to the opening of the external module N, at location l1.0βˆ’6. Spurious dependencies might be inferred due to this ambiguity. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "uncoupled/a.ml", "deps" : [["N"], ["B"]] }, - { "file" : "uncoupled/b.ml" }, - { "file" : "uncoupled/c.ml", "deps" : [["N"]] }], -"local" : - [{ "module" : ["A"], "ml" : "uncoupled/a.ml" }, - { "module" : ["B"], "ml" : "uncoupled/b.ml" }, - { "module" : ["C"], "ml" : "uncoupled/c.ml" }], -"unknown" : [["N"]] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "uncoupled/a.ml", + "deps": + [["N"], + ["B"]] + }, + { + "file": + "uncoupled/b.ml" + }, + { + "file": + "uncoupled/c.ml", + "deps": + [["N"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "uncoupled/a.ml" + }, + { + "module": + ["B"], + "ml": + "uncoupled/b.ml" + }, + { + "module": + ["C"], + "ml": + "uncoupled/c.ml" + }], +"unknown": + [["N"]] } diff --git "a/tests/complex/\317\211-cycle/reference" "b/tests/complex/\317\211-cycle/reference" index 52127382..30494eee 100644 --- "a/tests/complex/\317\211-cycle/reference" +++ "b/tests/complex/\317\211-cycle/reference" @@ -9,27 +9,128 @@ Ο‰-cycle/k.ml, Ο‰-cycle/l.ml, Ο‰-cycle/w.ml} depend on the compilation units "Ο‰-cycle/c2.ml" that could not be resolved. { -"version" : [0, 11, 0], -"dependencies" : - [{ "file" : "Ο‰-cycle/a.ml", "deps" : [["B"]] }, - { "file" : "Ο‰-cycle/b.ml", "deps" : [["K"]] }, - { "file" : "Ο‰-cycle/c1.ml", "deps" : [["C2"]] }, - { "file" : "Ο‰-cycle/c2.ml", "deps" : [["C3"]] }, - { "file" : "Ο‰-cycle/c3.ml", "deps" : [["C4"]] }, - { "file" : "Ο‰-cycle/c4.ml", "deps" : [["C5"]] }, - { "file" : "Ο‰-cycle/c5.ml", "deps" : [["C1"]] }, - { "file" : "Ο‰-cycle/k.ml", "deps" : [["L"]] }, - { "file" : "Ο‰-cycle/l.ml", "deps" : [["C2"]] }, - { "file" : "Ο‰-cycle/w.ml", "deps" : [["K"]] }], -"local" : - [{ "module" : ["A"], "ml" : "Ο‰-cycle/a.ml" }, - { "module" : ["B"], "ml" : "Ο‰-cycle/b.ml" }, - { "module" : ["C1"], "ml" : "Ο‰-cycle/c1.ml" }, - { "module" : ["C2"], "ml" : "Ο‰-cycle/c2.ml" }, - { "module" : ["C3"], "ml" : "Ο‰-cycle/c3.ml" }, - { "module" : ["C4"], "ml" : "Ο‰-cycle/c4.ml" }, - { "module" : ["C5"], "ml" : "Ο‰-cycle/c5.ml" }, - { "module" : ["K"], "ml" : "Ο‰-cycle/k.ml" }, - { "module" : ["L"], "ml" : "Ο‰-cycle/l.ml" }, - { "module" : ["W"], "ml" : "Ο‰-cycle/w.ml" }] +"version": + [0, 11, 0], +"dependencies": + [{ + "file": + "Ο‰-cycle/a.ml", + "deps": + [["B"]] + }, + { + "file": + "Ο‰-cycle/b.ml", + "deps": + [["K"]] + }, + { + "file": + "Ο‰-cycle/c1.ml", + "deps": + [["C2"]] + }, + { + "file": + "Ο‰-cycle/c2.ml", + "deps": + [["C3"]] + }, + { + "file": + "Ο‰-cycle/c3.ml", + "deps": + [["C4"]] + }, + { + "file": + "Ο‰-cycle/c4.ml", + "deps": + [["C5"]] + }, + { + "file": + "Ο‰-cycle/c5.ml", + "deps": + [["C1"]] + }, + { + "file": + "Ο‰-cycle/k.ml", + "deps": + [["L"]] + }, + { + "file": + "Ο‰-cycle/l.ml", + "deps": + [["C2"]] + }, + { + "file": + "Ο‰-cycle/w.ml", + "deps": + [["K"]] + }], +"local": + [{ + "module": + ["A"], + "ml": + "Ο‰-cycle/a.ml" + }, + { + "module": + ["B"], + "ml": + "Ο‰-cycle/b.ml" + }, + { + "module": + ["C1"], + "ml": + "Ο‰-cycle/c1.ml" + }, + { + "module": + ["C2"], + "ml": + "Ο‰-cycle/c2.ml" + }, + { + "module": + ["C3"], + "ml": + "Ο‰-cycle/c3.ml" + }, + { + "module": + ["C4"], + "ml": + "Ο‰-cycle/c4.ml" + }, + { + "module": + ["C5"], + "ml": + "Ο‰-cycle/c5.ml" + }, + { + "module": + ["K"], + "ml": + "Ο‰-cycle/k.ml" + }, + { + "module": + ["L"], + "ml": + "Ο‰-cycle/l.ml" + }, + { + "module": + ["W"], + "ml": + "Ο‰-cycle/w.ml" + }] } diff --git a/tests/integrated.ml b/tests/integrated.ml index 45beba03..224c6a2d 100644 --- a/tests/integrated.ml +++ b/tests/integrated.ml @@ -117,7 +117,7 @@ type variant = { let full_variant = let cmd arg x = let cmd = match arg with - | None -> [| "codept"; "-nested"; "-expand-deps"; "-no-alias-deps"; "-deps"; "-k"; x |] + | None -> [| "codept"; "-nested"; "-expand-deps"; "-no-alias-deps"; "-deps"; "-format"; "simple-json"; "-k"; x |] | Some a -> Array.concat [ [| "codept"|] ; a ] in codept, cmd in { name = "full_variant"; cmd; filter = (fun _ -> true) } diff --git a/tests/serialization.ml b/tests/serialization.ml index 367fc1e8..52dc24d7 100644 --- a/tests/serialization.ml +++ b/tests/serialization.ml @@ -19,8 +19,8 @@ let round_trip sch x = incr counter; let print scheme ppf x = Schematic.minify ppf "%a" (scheme sch) x in let s scheme = Format.asprintf "%a" (print scheme) x in - let map2 f (x,y) = (f x, f y) in - let j, s = map2 s Schematic.(json,sexp) in + let map3 f (x,y,z) = (f x, f y, f z) in + let j, sj, s = map3 s Schematic.(pretty_json, simple_json,sexp) in log "%d)@." !counter; let check name s = match Schematic.retype sch (parse s) with | Some y -> @@ -30,6 +30,7 @@ let round_trip sch x = fail "@[%s:partial (%s)" name s | None -> fail "%s: failure (%s)@" name s in check "json" j; + check "simple_json" sj; check "sexp" s let round_trip' name sch src trip = @@ -74,14 +75,18 @@ let round_trip' name sch src trip = ;; round_trip (Obj [Opt,X.l,Int;Opt,Y.l,String;Req,Z.l,Float]) [ X.l $=? Some 1; skip Y.l; Z.l $= 2.] + +let s = sexp and j = pretty_json and sj = simple_json + ;; round_trip' "lib/stage.mli" M2l.sch (* from lib/stage.mli *) {|(((Bind_sig((Some envt)(Sig(((Minor((Access(((S(Uloc))(Simple(6 4 10))Normal)((S(Transforms))(Simple(7 30 53))Normal)((S(Summary))(Simple(15 20 29))Normal)((S(Paths Simple))(Simple(6 51 65))Normal)((S(Paths S))(Simple(21 32 41))Normal)((S(Namespaced))(Simple(18 44 56))Normal)((S(Name))(Simple(21 45 51))Normal)((S(Module))(Simple(6 35 47))Normal)((S(Format))(Simple(24 10 26))Normal)((S(Deps Edge))(Simple(6 20 31))Normal)))))(Simple(24 2 39)))))))(Multiline((2 0)(25 3))))((Bind_sig((Some param)(Sig(((Minor((Access(((S(Fault Policy))(Simple(30 14 28))Normal)))))(Simple(30 2 28)))))))(Multiline((28 0)(34 3))))((Minor((Access(((S(Transforms))(Simple(36 16 32))Epsilon)))))(Simple(36 0 38)))((Bind_sig((Some generic_outliner)(Sig(((Minor((Access(((S(Summary))(Simple(51 26 35))Normal)((S(Pp))(Simple(55 19 23))Normal)((S(Pkg))(Simple(48 8 13))Normal)((S(Paths S))(Simple(51 38 47))Normal)((S(Module Sig))(Simple(49 8 20))Normal)((S(M2l))(Simple(46 15 20))Normal)((S(Loc))(Simple(51 49 56))Normal)))))(Simple(55 2 23)))))))(Multiline((40 0)(57 3))))((Bind_sig((Some outliner)(With((Ident(S(generic_outliner)))(((final)true(Type((Access(((S(Deps))(Simple(61 16 22))Epsilon))))))((with_param)true(Type())))))))(Multiline((60 0)(61 60)))))|} - [sexp;json;sexp;json;sexp;sexp;json;json;sexp] + [s;j;s;j;s;s;j;j;sj;sj;s] (* sig from solver.mli *) ;; round_trip' "solver.mli" (Array (pair String Module.Schema.module')) {|((Solver(M((origin(Unit((Local(lib solver.ml))(Solver))))(modules((Directed(Fun((Some((Some Envt)(M())))(Fun((Some((Some Param)(M())))(Fun((Some((Some Eval)(M())))(M()))))))))(Failure(M()))(Make(Fun((Some((Some Envt)(M())))(Fun((Some((Some Param)(M())))(Fun((Some((Some Eval)(M())))(M()))))))))))))))|} - [sexp;json;sexp;json;json;sexp;sexp;json;json;sexp] + [s;j;s;j;s;s;j;j;sj;sj;s] + let () = if !error then exit 1 else exit 0 diff --git a/tests/step_by_step.ml b/tests/step_by_step.ml index d73db674..2ec118b5 100644 --- a/tests/step_by_step.ml +++ b/tests/step_by_step.ml @@ -43,7 +43,7 @@ let build_atlas (lib,unknow) deps = let pp file name deps = let lib, unknown = build_atlas (LibSet.empty, Namespaced.Set.empty) deps in - let pp = Schematic.Ext.json Schema.x in + let pp = Schematic.Ext.simple_json Schema.x in let dependencies = [{ Schema.file; deps= Deps.paths deps }] in let local = [{Schema.path=Namespaced.make name; ml=Some file; mli=None}] in let library = LibSet.elements lib in