diff --git a/test/blackbox-tests/test-cases/enabled_if/eif-exe-name-collision-same-folder.t b/test/blackbox-tests/test-cases/enabled_if/eif-exe-name-collision-same-folder.t new file mode 100644 index 00000000000..a00dede320b --- /dev/null +++ b/test/blackbox-tests/test-cases/enabled_if/eif-exe-name-collision-same-folder.t @@ -0,0 +1,35 @@ +Using same executable name in two contexts, where the executables are defined +in the same dune file + + $ cat > dune-project << EOF + > (lang dune 3.13) + > EOF + + $ cat > dune-workspace << EOF + > (lang dune 3.13) + > + > (context default) + > + > (context + > (default + > (name alt-context))) + > EOF + $ cat > dune << EOF + > (executable + > (name foo) + > (enabled_if (= %{context_name} "default"))) + > (executable + > (name foo) + > (enabled_if (= %{context_name} "alt-context"))) + > EOF + $ cat > foo.ml < let () = print_endline "foo" + > EOF + + $ dune build + File "dune", line 4, characters 0-72: + 4 | (executable + 5 | (name foo) + 6 | (enabled_if (= %{context_name} "alt-context"))) + Error: Executable "foo" appears for the second time in this directory + [1] diff --git a/test/blackbox-tests/test-cases/enabled_if/eif-exe-name-collision.t b/test/blackbox-tests/test-cases/enabled_if/eif-exe-name-collision.t new file mode 100644 index 00000000000..e57ffce674c --- /dev/null +++ b/test/blackbox-tests/test-cases/enabled_if/eif-exe-name-collision.t @@ -0,0 +1,35 @@ +Using same executable name in two contexts + + $ mkdir -p a b + $ cat > dune-project << EOF + > (lang dune 3.13) + > EOF + + $ cat > dune-workspace << EOF + > (lang dune 3.13) + > + > (context default) + > + > (context + > (default + > (name alt-context))) + > EOF + $ cat > a/dune << EOF + > (executable + > (name foo) + > (enabled_if (= %{context_name} "default"))) + > EOF + $ cat > a/foo.ml < let () = print_endline "foo" + > EOF + + $ cat > b/dune << EOF + > (executable + > (name foo) + > (enabled_if (= %{context_name} "alt-context"))) + > EOF + $ cat > b/foo.ml < let () = print_endline "foo" + > EOF + + $ dune build diff --git a/test/blackbox-tests/test-cases/enabled_if/eif-melange-emit-name-collision-same-folder.t b/test/blackbox-tests/test-cases/enabled_if/eif-melange-emit-name-collision-same-folder.t new file mode 100644 index 00000000000..d680b59de29 --- /dev/null +++ b/test/blackbox-tests/test-cases/enabled_if/eif-melange-emit-name-collision-same-folder.t @@ -0,0 +1,36 @@ +Using same melange.emit target in two contexts, where the stanzas are defined +in the same dune file + + $ cat > dune-project << EOF + > (lang dune 3.13) + > (using melange 0.1) + > EOF + + $ cat > dune-workspace << EOF + > (lang dune 3.13) + > + > (context default) + > + > (context + > (default + > (name alt-context))) + > EOF + $ cat > dune << EOF + > (melange.emit + > (target foo) + > (enabled_if (= %{context_name} "default"))) + > (melange.emit + > (target foo) + > (enabled_if (= %{context_name} "alt-context"))) + > EOF + $ cat > foo.ml < let () = print_endline "foo" + > EOF + + $ dune build + File "dune", line 4, characters 0-76: + 4 | (melange.emit + 5 | (target foo) + 6 | (enabled_if (= %{context_name} "alt-context"))) + Error: Target "foo" appears for the second time in this directory + [1] diff --git a/test/blackbox-tests/test-cases/enabled_if/eif-melange-emit-name-collision.t b/test/blackbox-tests/test-cases/enabled_if/eif-melange-emit-name-collision.t new file mode 100644 index 00000000000..f4838f7881f --- /dev/null +++ b/test/blackbox-tests/test-cases/enabled_if/eif-melange-emit-name-collision.t @@ -0,0 +1,36 @@ +Using same melange.emit target in two contexts + + $ mkdir -p a b + $ cat > dune-project << EOF + > (lang dune 3.13) + > (using melange 0.1) + > EOF + + $ cat > dune-workspace << EOF + > (lang dune 3.13) + > + > (context default) + > + > (context + > (default + > (name alt-context))) + > EOF + $ cat > a/dune << EOF + > (melange.emit + > (target foo) + > (enabled_if (= %{context_name} "default"))) + > EOF + $ cat > a/foo.ml < let () = print_endline "foo" + > EOF + + $ cat > b/dune << EOF + > (melange.emit + > (target foo) + > (enabled_if (= %{context_name} "alt-context"))) + > EOF + $ cat > b/foo.ml < let () = print_endline "foo" + > EOF + + $ dune build