From 55d0da00ebf2578b693543720388e15947a1ac38 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Thu, 7 Nov 2019 23:59:46 +0900 Subject: [PATCH] Add test select validation tests Signed-off-by: Rudi Grinberg --- src/dune/lib_dep.ml | 2 +- test/blackbox-tests/dune.inc | 10 ++++++++++ .../test-cases/select-2-0-rules/run.t | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 test/blackbox-tests/test-cases/select-2-0-rules/run.t diff --git a/src/dune/lib_dep.ml b/src/dune/lib_dep.ml index 6d4aa25f0064..10a2741e3ee7 100644 --- a/src/dune/lib_dep.ml +++ b/src/dune/lib_dep.ml @@ -42,7 +42,7 @@ module Select = struct "The prefix for files in this select branch must be %S" prefix ]; - if not (String.is_suffix result_fn ~suffix) then + if not (String.is_suffix file ~suffix) then User_error.raise ~loc:loc_file [ Pp.textf "The suffix for files in this select branch must be %S" diff --git a/test/blackbox-tests/dune.inc b/test/blackbox-tests/dune.inc index da93c46ef79b..a554dc21f701 100644 --- a/test/blackbox-tests/dune.inc +++ b/test/blackbox-tests/dune.inc @@ -1566,6 +1566,14 @@ test-cases/select (progn (run %{exe:cram.exe} -test run.t) (diff? run.t run.t.corrected))))) +(rule + (alias select-2-0-rules) + (deps (package dune) (source_tree test-cases/select-2-0-rules)) + (action + (chdir + test-cases/select-2-0-rules + (progn (run %{exe:cram.exe} -test run.t) (diff? run.t run.t.corrected))))) + (rule (alias several-packages) (deps (package dune) (source_tree test-cases/several-packages)) @@ -2100,6 +2108,7 @@ (alias scope-bug) (alias scope-ppx-bug) (alias select) + (alias select-2-0-rules) (alias several-packages) (alias shadow-bindings) (alias stale-artifact-removal) @@ -2305,6 +2314,7 @@ (alias sandboxing) (alias scope-bug) (alias select) + (alias select-2-0-rules) (alias several-packages) (alias shadow-bindings) (alias stale-artifact-removal) diff --git a/test/blackbox-tests/test-cases/select-2-0-rules/run.t b/test/blackbox-tests/test-cases/select-2-0-rules/run.t new file mode 100644 index 000000000000..51e5b118e165 --- /dev/null +++ b/test/blackbox-tests/test-cases/select-2-0-rules/run.t @@ -0,0 +1,19 @@ + $ echo "(lang dune 2.0)" > dune-project + $ cat > dune < (library (name foo) (libraries (select foo.ml from (!bar -> f.ml)))) + > EOF + $ dune build + File "dune", line 1, characters 60-64: + 1 | (library (name foo) (libraries (select foo.ml from (!bar -> f.ml)))) + ^^^^ + Error: The prefix for files in this select branch must be "foo." + [1] + $ cat > dune < (library (name foo) (libraries (select foo.ml from (!bar -> foo.mli)))) + > EOF + $ dune build + File "dune", line 1, characters 60-67: + 1 | (library (name foo) (libraries (select foo.ml from (!bar -> foo.mli)))) + ^^^^^^^ + Error: The suffix for files in this select branch must be ".ml" + [1]