diff --git a/test/blackbox-tests/dune.inc b/test/blackbox-tests/dune.inc index 80a06411592..4b627ca6b07 100644 --- a/test/blackbox-tests/dune.inc +++ b/test/blackbox-tests/dune.inc @@ -755,6 +755,14 @@ test-cases/github24 (progn (run %{exe:cram.exe} -test run.t) (diff? run.t run.t.corrected))))) +(alias + (name github2499) + (deps (package dune) (source_tree test-cases/github2499)) + (action + (chdir + test-cases/github2499 + (progn (run %{exe:cram.exe} -test run.t) (diff? run.t run.t.corrected))))) + (alias (name github25) (deps (package dune) (source_tree test-cases/github25)) @@ -1789,6 +1797,7 @@ (alias github2228) (alias github2272) (alias github24) + (alias github2499) (alias github25) (alias github534) (alias github568) @@ -1987,6 +1996,7 @@ (alias github2228) (alias github2272) (alias github24) + (alias github2499) (alias github25) (alias github534) (alias github568) diff --git a/test/blackbox-tests/test-cases/github2499/run.t b/test/blackbox-tests/test-cases/github2499/run.t new file mode 100644 index 00000000000..105c4165e86 --- /dev/null +++ b/test/blackbox-tests/test-cases/github2499/run.t @@ -0,0 +1,28 @@ +Reproduction case for #2499: dune doesn't cleanup stale directories + + $ cat >dune-project < (lang dune 2.0) + > EOF + + $ cat >dune < (data_only_dirs data) + > (rule + > (deps (source_tree data)) + > (action (with-stdout-to list (system "find data -type f | sort")))) + > EOF + + + $ mkdir -p data/{a,b} + $ touch data/{a,b}/x + + $ dune build list + $ cat _build/default/list + data/a/x + data/b/x + + $ rm -rf data/b + + $ dune build list + $ cat _build/default/list + data/a/x + data/b/x