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