From 654282c676291e97ae5d0a90739ea841f2ea2baa Mon Sep 17 00:00:00 2001 From: Etienne Millon Date: Wed, 11 Jul 2018 10:59:16 +0200 Subject: [PATCH] Fix "dune external-lib-deps" hint for dune exec Previously, it was not displaying any target. Signed-off-by: Etienne Millon --- bin/main.ml | 2 +- test/blackbox-tests/dune.inc | 10 ++++++++++ test/blackbox-tests/test-cases/exec-missing/dune | 3 +++ .../test-cases/exec-missing/dune-project | 1 + test/blackbox-tests/test-cases/exec-missing/run.t | 7 +++++++ test/blackbox-tests/test-cases/exec-missing/x.ml | 0 6 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 test/blackbox-tests/test-cases/exec-missing/dune create mode 100644 test/blackbox-tests/test-cases/exec-missing/dune-project create mode 100644 test/blackbox-tests/test-cases/exec-missing/run.t create mode 100644 test/blackbox-tests/test-cases/exec-missing/x.ml diff --git a/bin/main.ml b/bin/main.ml index 2d6c71ce..9e0add62 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1223,7 +1223,7 @@ let exec = ] in let go common context prog no_rebuild args = - set_common common ~targets:[]; + set_common common ~targets:[prog]; let log = Log.create common in let setup = Scheduler.go ~log ~common (Main.setup ~log common) in let context = Main.find_context_exn setup ~name:context in diff --git a/test/blackbox-tests/dune.inc b/test/blackbox-tests/dune.inc index b4480d6b..aa13d88b 100644 --- a/test/blackbox-tests/dune.inc +++ b/test/blackbox-tests/dune.inc @@ -152,6 +152,14 @@ test-cases/exec-cmd (progn (run %{exe:cram.exe} -test run.t) (diff? run.t run.t.corrected))))) +(alias + (name exec-missing) + (deps (package dune) (source_tree test-cases/exec-missing)) + (action + (chdir + test-cases/exec-missing + (progn (run %{exe:cram.exe} -test run.t) (diff? run.t run.t.corrected))))) + (alias (name fallback-dune) (deps (package dune) (source_tree test-cases/fallback-dune)) @@ -729,6 +737,7 @@ (alias env) (alias exclude-missing-module) (alias exec-cmd) + (alias exec-missing) (alias fallback-dune) (alias findlib) (alias findlib-error) @@ -816,6 +825,7 @@ (alias env) (alias exclude-missing-module) (alias exec-cmd) + (alias exec-missing) (alias fallback-dune) (alias findlib) (alias findlib-error) diff --git a/test/blackbox-tests/test-cases/exec-missing/dune b/test/blackbox-tests/test-cases/exec-missing/dune new file mode 100644 index 00000000..a6229eee --- /dev/null +++ b/test/blackbox-tests/test-cases/exec-missing/dune @@ -0,0 +1,3 @@ +(executable + (name x) + (libraries does-not-exist)) diff --git a/test/blackbox-tests/test-cases/exec-missing/dune-project b/test/blackbox-tests/test-cases/exec-missing/dune-project new file mode 100644 index 00000000..de4fc209 --- /dev/null +++ b/test/blackbox-tests/test-cases/exec-missing/dune-project @@ -0,0 +1 @@ +(lang dune 1.0) diff --git a/test/blackbox-tests/test-cases/exec-missing/run.t b/test/blackbox-tests/test-cases/exec-missing/run.t new file mode 100644 index 00000000..20bb31fe --- /dev/null +++ b/test/blackbox-tests/test-cases/exec-missing/run.t @@ -0,0 +1,7 @@ +When using dune exec, the external-lib-deps command refers to the executable: + + $ dune exec ./x.exe + File "dune", line 3, characters 12-26: + Error: Library "does-not-exist" not found. + Hint: try: dune external-lib-deps --missing ./x.exe + [1] diff --git a/test/blackbox-tests/test-cases/exec-missing/x.ml b/test/blackbox-tests/test-cases/exec-missing/x.ml new file mode 100644 index 00000000..e69de29b