Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions check/classic/classic.exp
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
.> UNUSED EXPORTED VALUES:
=========================
./examples/docs/exported_values/code_constructs/function/function_lib.mli:7: unused

./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:9: F.internally_used
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:10: F.unused
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:14: Internal_param.used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:15: Internal_param.unused_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:25: Internal_app.internally_used
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:26: Internal_app.unused

./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: Original.unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: Redefine.unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: Original.unused
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:12: Alias_with_sig.used_by_requirement

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.mli:18: M_redef.internally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.mli:19: M_redef.unused

./examples/docs/exported_values/code_constructs/module/module_lib.mli:5: M.internally_used
./examples/docs/exported_values/code_constructs/module/module_lib.mli:6: M.unused

./examples/docs/exported_values/hello_world/hello_world_with_intf.mli:2: hello
./examples/docs/exported_values/hello_world/hello_world_with_intf.mli:3: goodbye
./examples/docs/exported_values/hello_world/hello_world_with_intf.mli:4: world

./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused
./examples/using_dune/preprocessed_lib/preprocessed.mli:3: internally_used
./examples/using_dune/preprocessed_lib/preprocessed.mli:38: internally_used_f
Expand Down Expand Up @@ -518,6 +543,32 @@ Nothing else to report in this section

.> CODING STYLE:
===============
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:16: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:17: unit pattern unused_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:21: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:22: unit pattern unused_required

./examples/docs/exported_values/code_constructs/include/include_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: unit pattern unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:14: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: unit pattern unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:5: unit pattern used_by_requirement
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: unit pattern unused

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:11: unit pattern externally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:12: unit pattern internally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:13: unit pattern unused
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:14: unit pattern unused_unexported

./examples/docs/exported_values/code_constructs/module/module_lib.ml:4: unit pattern externally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:5: unit pattern internally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:6: unit pattern unused
./examples/docs/exported_values/code_constructs/module/module_lib.ml:7: unit pattern unused_unexported

./examples/using_dune/preprocessed_lib/preprocessed.ml:83: let () = ... in ... (=> use sequence)
./examples/using_dune/preprocessed_lib/preprocessed.ml:83: unit pattern unit_binding
./examples/using_dune/preprocessed_lib/preprocessed.ml:84: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand Down Expand Up @@ -563,3 +614,5 @@ Nothing else to report in this section

Nothing else to report in this section
--------------------------------------------------------------------------------


60 changes: 56 additions & 4 deletions check/classic/classic.ref
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
.> UNUSED EXPORTED VALUES:
=========================
./examples/docs/exported_values/code_constructs/function/function_lib.mli:7: unused

./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:9: F.internally_used
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:10: F.unused
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:14: Internal_param.used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:15: Internal_param.unused_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:25: Internal_app.internally_used
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:26: Internal_app.unused

./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: Original.unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: Reexport.unused: Should not be detected
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: Redefine.unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: Original.unused
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:12: Alias_with_sig.used_by_requirement

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.mli:18: M_redef.internally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.mli:19: M_redef.unused

./examples/docs/exported_values/code_constructs/module/module_lib.mli:5: M.internally_used
./examples/docs/exported_values/code_constructs/module/module_lib.mli:6: M.unused

./examples/docs/exported_values/hello_world/hello_world_with_intf.mli:2: hello
./examples/docs/exported_values/hello_world/hello_world_with_intf.mli:3: goodbye
./examples/docs/exported_values/hello_world/hello_world_with_intf.mli:4: world

./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused
./examples/using_dune/preprocessed_lib/preprocessed.mli:3: internally_used
./examples/using_dune/preprocessed_lib/preprocessed.mli:38: internally_used_f
Expand Down Expand Up @@ -518,6 +544,32 @@ Nothing else to report in this section

.> CODING STYLE:
===============
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:16: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:17: unit pattern unused_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:21: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:22: unit pattern unused_required

./examples/docs/exported_values/code_constructs/include/include_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: unit pattern unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:14: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: unit pattern unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:5: unit pattern used_by_requirement
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: unit pattern unused

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:11: unit pattern externally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:12: unit pattern internally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:13: unit pattern unused
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:14: unit pattern unused_unexported

./examples/docs/exported_values/code_constructs/module/module_lib.ml:4: unit pattern externally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:5: unit pattern internally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:6: unit pattern unused
./examples/docs/exported_values/code_constructs/module/module_lib.ml:7: unit pattern unused_unexported

./examples/using_dune/preprocessed_lib/preprocessed.ml:83: let () = ... in ... (=> use sequence)
./examples/using_dune/preprocessed_lib/preprocessed.ml:83: unit pattern unit_binding
./examples/using_dune/preprocessed_lib/preprocessed.ml:84: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand Down Expand Up @@ -565,7 +617,7 @@ Nothing else to report in this section
--------------------------------------------------------------------------------


Total: 491
Success: 491
Failed: 0
Ratio: 100.%
Total: 531
Success: 530
Failed: 1
Ratio: 99.8116760829%
43 changes: 43 additions & 0 deletions check/internal/internal.exp
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
.> UNUSED EXPORTED VALUES:
=========================
./examples/docs/exported_values/code_constructs/function/function_lib.mli:7: unused

./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:10: F.unused
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:26: Internal_app.unused

./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: Original.unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: Redefine.unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: Original.unused
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:12: Alias_with_sig.used_by_requirement

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.mli:19: M_redef.unused

./examples/docs/exported_values/code_constructs/module/module_lib.mli:6: M.unused

./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused
./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused

Expand Down Expand Up @@ -483,6 +498,32 @@ Nothing else to report in this section

.> CODING STYLE:
===============
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:16: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:17: unit pattern unused_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:21: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:22: unit pattern unused_required

./examples/docs/exported_values/code_constructs/include/include_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: unit pattern unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:14: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: unit pattern unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:5: unit pattern used_by_requirement
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: unit pattern unused

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:11: unit pattern externally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:12: unit pattern internally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:13: unit pattern unused
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:14: unit pattern unused_unexported

./examples/docs/exported_values/code_constructs/module/module_lib.ml:4: unit pattern externally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:5: unit pattern internally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:6: unit pattern unused
./examples/docs/exported_values/code_constructs/module/module_lib.ml:7: unit pattern unused_unexported

./examples/using_dune/preprocessed_lib/preprocessed.ml:83: let () = ... in ... (=> use sequence)
./examples/using_dune/preprocessed_lib/preprocessed.ml:83: unit pattern unit_binding
./examples/using_dune/preprocessed_lib/preprocessed.ml:84: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand Down Expand Up @@ -528,3 +569,5 @@ Nothing else to report in this section

Nothing else to report in this section
--------------------------------------------------------------------------------


50 changes: 46 additions & 4 deletions check/internal/internal.ref
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
.> UNUSED EXPORTED VALUES:
=========================
./examples/docs/exported_values/code_constructs/function/function_lib.mli:7: unused

./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:10: F.unused
./examples/docs/exported_values/code_constructs/functor/functor_lib.mli:26: Internal_app.unused

./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: Original.unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: Reexport.unused: Should not be detected
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: Redefine.unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: Original.unused
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:12: Alias_with_sig.used_by_requirement

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.mli:19: M_redef.unused

./examples/docs/exported_values/code_constructs/module/module_lib.mli:6: M.unused

./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused
./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused

Expand Down Expand Up @@ -483,6 +499,32 @@ Nothing else to report in this section

.> CODING STYLE:
===============
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:16: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:17: unit pattern unused_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:21: unit pattern used_required
./examples/docs/exported_values/code_constructs/functor/functor_lib.ml:22: unit pattern unused_required

./examples/docs/exported_values/code_constructs/include/include_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:5: unit pattern unused
./examples/docs/exported_values/code_constructs/include/include_lib.ml:14: unit pattern used_directly
./examples/docs/exported_values/code_constructs/include/include_lib.ml:15: unit pattern unused

./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:3: unit pattern used_directly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:4: unit pattern used_indirectly
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:5: unit pattern used_by_requirement
./examples/docs/exported_values/code_constructs/modsig/modsig_lib.ml:6: unit pattern unused

./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:11: unit pattern externally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:12: unit pattern internally_used
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:13: unit pattern unused
./examples/docs/exported_values/code_constructs/modtyp/modtyp_lib.ml:14: unit pattern unused_unexported

./examples/docs/exported_values/code_constructs/module/module_lib.ml:4: unit pattern externally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:5: unit pattern internally_used
./examples/docs/exported_values/code_constructs/module/module_lib.ml:6: unit pattern unused
./examples/docs/exported_values/code_constructs/module/module_lib.ml:7: unit pattern unused_unexported

./examples/using_dune/preprocessed_lib/preprocessed.ml:83: let () = ... in ... (=> use sequence)
./examples/using_dune/preprocessed_lib/preprocessed.ml:83: unit pattern unit_binding
./examples/using_dune/preprocessed_lib/preprocessed.ml:84: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand Down Expand Up @@ -530,7 +572,7 @@ Nothing else to report in this section
--------------------------------------------------------------------------------


Total: 458
Success: 458
Failed: 0
Ratio: 100.%
Total: 489
Success: 488
Failed: 1
Ratio: 99.7955010225%
17 changes: 9 additions & 8 deletions check/src/path.ml
Original file line number Diff line number Diff line change
Expand Up @@ -37,22 +37,23 @@ let normalize path =

(* Relocate a `path` found in a `.got` file as a relative path from the
project's root.
- For files in 'using_make': there is no 'using_make' file or directory in
'<project_root>/examples/using_<dune|make>'. Therefore, taking everything in the
path from the last 'using_make' filename provides the common part for the
relocation. Then, adding an extra './' completes the path as found in the
expected reports
- For files in 'docs' and 'using_make': there is no 'using_make' file or
directory in '<project_root>/examples/*'. Therefore, taking everything in the
path from the last 'docs' or 'using_make' filename provides the common part
for the relocation. Then, adding an extra './iexamples' completes the path as
found in the expected reports
- For files in 'using_dune': the same startegy as for files in 'using_make'
can be applied with the removal of '_build/default' on the way.
Because those directory names are unique, we can actually share the same
logic for both 'using_make' and 'using_dune'. *)
let relocate path =
(* retrieve the subpath starting from the last occurence of
"using_<make|dune>" if it exists, and remove "_build" and "default"
a valid basename if it exists, and remove "_build" and "default"
directories from the path *)
let valid_basenames = ["docs"; "using_make"; "using_dune"] in
let rec extract_subpath acc dirpath =
let basename = Filename.basename dirpath in
if basename = "using_make" || basename = "using_dune" then
if List.mem basename valid_basenames then
basename::acc
else if basename = dirpath (* fixpoint *) then
path::[] (* TODO: error handling *)
Expand All @@ -64,7 +65,7 @@ let relocate path =
in
extract_subpath acc (Filename.dirname dirpath)
in
let relative_path = (* ["using<make|dune>"; <path/to/file>...] *)
let relative_path = (* [valid_basename; <path/to/file>...] *)
extract_subpath [] path
in
String.concat Filename.dir_sep ("."::"examples"::relative_path)
Loading