From 504689a966df682f72a2ebd673174f641754247c Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 9 Oct 2020 14:49:56 -0700 Subject: [PATCH 1/3] Reproduce duniverse scoping bug Cram tests inside the vendored dir weren't marked as data only correctly Signed-off-by: Rudi Grinberg --- .../mwe-dune-duplicate-dialect.t/dune-project | 1 + .../duniverse/dune | 4 + .../dune-configurator.2.7.1/dune-project | 120 ++++++++++++++++++ .../test/dialects.t/.ocamlformat | 0 .../test/dialects.t/bad1/dune-project | 11 ++ .../test/dialects.t/bad2/dune-project | 11 ++ .../test/dialects.t/bad3/dune-project | 6 + .../test/dialects.t/good/dune | 9 ++ .../test/dialects.t/good/dune-project | 11 ++ .../test/dialects.t/good/fmt.ml | 1 + .../test/dialects.t/good/main.mf | 0 .../test/dialects.t/good/main.mfi | 0 .../test/dialects.t/good/main.opam | 0 .../test/dialects.t/run.t | 38 ++++++ .../mwe-dune-duplicate-dialect.t/run.t | 10 ++ 15 files changed, 222 insertions(+) create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/dune-project create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/.ocamlformat create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad1/dune-project create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mf create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mfi create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.opam create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t create mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/dune-project new file mode 100644 index 00000000000..0636ab6acf4 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/dune-project @@ -0,0 +1 @@ +(lang dune 1.11) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune new file mode 100644 index 00000000000..ad2ec9467ef --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune @@ -0,0 +1,4 @@ +; This file is generated by duniverse. +; Be aware that it is likely to be overwritten by your next duniverse pull invocation. + +(vendored_dirs *) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project new file mode 100644 index 00000000000..3a80436c4c8 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project @@ -0,0 +1,120 @@ +(lang dune 2.7) +; ^^^ +; When changing the version, don't forget to regenerate *.opam files +; by running [dune build]. +(name dune) + +(generate_opam_files true) + +(cram enable) + +; Reserved for Dune itself. This is to help with the bootstrap +(using dune-bootstrap-info 0.1) + +(license MIT) +(maintainers "Jane Street Group, LLC ") +(authors "Jane Street Group, LLC ") +(source (github ocaml/dune)) +(documentation "https://dune.readthedocs.io/") + +(implicit_transitive_deps false) + +(package + (name dune) + ; The "depends" and "build" field are written in dune.opam.template + (conflicts + (dune-configurator (< 2.3.0)) + (odoc (< 1.3.0)) + (dune-release (< 1.3.0)) + (js_of_ocaml-compiler (< 3.6.0)) + (jbuilder (= transition))) + (synopsis "Fast, portable, and opinionated build system") + (description " +dune is a build system that was designed to simplify the release of +Jane Street packages. It reads metadata from \"dune\" files following a +very simple s-expression syntax. + +dune is fast, has very low-overhead, and supports parallel builds on +all platforms. It has no system dependencies; all you need to build +dune or packages using dune is OCaml. You don't need make or bash +as long as the packages themselves don't use bash explicitly. + +dune supports multi-package development by simply dropping multiple +repositories into the same directory. + +It also supports multi-context builds, such as building against +several opam roots/switches simultaneously. This helps maintaining +packages across several versions of OCaml and gives cross-compilation +for free. +")) + +(package + (name dune-build-info) + (synopsis "Embed build informations inside executable") + (description "\ +The build-info library allows to access information about how the +executable was built, such as the version of the project at which it +was built or the list of statically linked libraries with their +versions. It supports reporting the version from the version control +system during development to get an precise reference of when the +executable was built. +")) + +(package + (name dune-private-libs) + (depends + (ocaml (>= 4.08))) + (synopsis "Private libraries of Dune") + (description "\ +!!!!!!!!!!!!!!!!!!!!!! +!!!!! DO NOT USE !!!!! +!!!!!!!!!!!!!!!!!!!!!! + +This package contains code that is shared between various dune-xxx +packages. However, it is not meant for public consumption and provides +no stability guarantee. +")) + +(package + (name dune-configurator) + (depends + (ocaml (>= 4.03.0)) + result + (csexp (>= 1.3.0))) + (synopsis "Helper library for gathering system configuration") + (description "\ +dune-configurator is a small library that helps writing OCaml scripts that +test features available on the system, in order to generate config.h +files for instance. +Among other things, dune-configurator allows one to: +- test if a C program compiles +- query pkg-config +- import #define from OCaml header files +- generate config.h file +")) + +(package + (name dune-action-plugin) + (depends + dune-glob + (ppx_expect :with-test) + (dune-private-libs (= :version))) + (synopsis "[experimental] API for writing dynamic Dune actions") + (description "\ + +This library is experimental. No backwards compatibility is implied. + +dune-action-plugin provides an API for writing dynamic Dune actions. +Dynamic dune actions do not need to declare their dependencies +upfront; they are instead discovered automatically during the +execution of the action. +")) + +(package + (name dune-glob) + (depends + (dune-private-libs (= :version))) + (synopsis "Glob string matching language supported by dune") + (description "\ +dune-glob provides a parser and interpreter for globs as \ +understood by dune language.")) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/.ocamlformat b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/.ocamlformat new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad1/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad1/dune-project new file mode 100644 index 00000000000..56dbb38b169 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad1/dune-project @@ -0,0 +1,11 @@ +(lang dune 1.11) + +(dialect + (name d) + (implementation (extension foo)) + (interface (extension bar))) + +(dialect + (name d) + (implementation (extension foo2)) + (interface (extension bar2))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project new file mode 100644 index 00000000000..797b89b53b6 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project @@ -0,0 +1,11 @@ +(lang dune 1.11) + +(dialect + (name d) + (implementation (extension foo)) + (interface (extension bar))) + +(dialect + (name d2) + (implementation (extension foo)) + (interface (extension bar2))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project new file mode 100644 index 00000000000..fb64de64070 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project @@ -0,0 +1,6 @@ +(lang dune 1.11) + +(dialect + (name d) + (implementation (extension .foo)) + (interface (extension bar))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune new file mode 100644 index 00000000000..bd4d0d55a2b --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune @@ -0,0 +1,9 @@ +(executable + (name main) + (public_name main) + (modules main)) + +(executable + (name fmt) + (public_name fmt) + (modules fmt)) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project new file mode 100644 index 00000000000..2b3c83822fe --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project @@ -0,0 +1,11 @@ +(lang dune 1.11) +(using fmt 1.2 (enabled_for mlfi)) + +(dialect + (name mlfi) + (implementation + (extension mf) + (format (run fmt %{input-file}))) + (interface + (extension mfi) + (format (run fmt %{input-file})))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml new file mode 100644 index 00000000000..7ff80db14f4 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml @@ -0,0 +1 @@ +prerr_endline ("Formatting " ^ Sys.argv.(1)) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mf b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mf new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mfi b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mfi new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.opam b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.opam new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t new file mode 100644 index 00000000000..31da71267d8 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t @@ -0,0 +1,38 @@ +Test the (dialect ...) stanza inside the dune-project file. + + $ dune exec --root good ./main.exe + Entering directory 'good' + Entering directory 'good' + + $ dune build --root good @fmt + Entering directory 'good' + fmt .formatted/main.mf + Formatting main.mf + fmt .formatted/main.mfi + Formatting main.mfi + + $ dune build --root bad1 + Entering directory 'bad1' + File "dune-project", line 9, characters 1-74: + 9 | (name d) + 10 | (implementation (extension foo2)) + 11 | (interface (extension bar2))) + Error: dialect "d" is already defined + [1] + + $ dune build --root bad2 + Entering directory 'bad2' + File "dune-project", line 9, characters 1-74: + 9 | (name d2) + 10 | (implementation (extension foo)) + 11 | (interface (extension bar2))) + Error: extension "foo" is already registered by dialect "d" + [1] + + $ dune build --root bad3 + Entering directory 'bad3' + File "dune-project", line 5, characters 28-32: + 5 | (implementation (extension .foo)) + ^^^^ + Error: extension must not contain '.' + [1] diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t new file mode 100644 index 00000000000..405829ab017 --- /dev/null +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t @@ -0,0 +1,10 @@ +This test should demonstrate that cram tests inside the vendor dir have their +directories marked as data only + + $ dune build + File "duniverse/dune-configurator.2.7.1/test/dialects.t/bad1/dune-project", line 9, characters 1-74: + 9 | (name d) + 10 | (implementation (extension foo2)) + 11 | (interface (extension bar2))) + Error: dialect "d" is already defined + [1] From 33a5084670650f71c80888571efdda095219eb74 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 9 Oct 2020 14:52:33 -0700 Subject: [PATCH 2/3] Fix cram & vendored dirs bug Cram tests inside vendored directory weren't properly marked as data only Signed-off-by: Rudi Grinberg --- CHANGES.md | 3 +++ src/dune_engine/file_tree.ml | 1 - .../test-cases/mwe-dune-duplicate-dialect.t/run.t | 6 ------ 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e5f90c64818..5087b21ee8b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -37,6 +37,9 @@ Unreleased - Do no run ocamldep to for single module executables & libraries. The dependency graph for such artifacts is trivial (#3847, @rgrinberg) +- Fix cram tests inside vendored directories not being interpreted correctly. + (@rgrinberg, #3860) + 2.7.1 (2/09/2020) ----------------- diff --git a/src/dune_engine/file_tree.ml b/src/dune_engine/file_tree.ml index 6951a825b38..2c2bb41dc0a 100644 --- a/src/dune_engine/file_tree.ml +++ b/src/dune_engine/file_tree.ml @@ -595,7 +595,6 @@ end = struct if Dune_project.cram parent_dir.project && Cram_test.is_cram_suffix basename - && status = Normal then Sub_dirs.Status.Data_only else diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t index 405829ab017..cc75609f6c5 100644 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/run.t @@ -2,9 +2,3 @@ This test should demonstrate that cram tests inside the vendor dir have their directories marked as data only $ dune build - File "duniverse/dune-configurator.2.7.1/test/dialects.t/bad1/dune-project", line 9, characters 1-74: - 9 | (name d) - 10 | (implementation (extension foo2)) - 11 | (interface (extension bar2))) - Error: dialect "d" is already defined - [1] From f639ff16caf4c2af5f652ed7a4fdba6cf293ef6c Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Mon, 12 Oct 2020 14:18:23 -0700 Subject: [PATCH 3/3] simplify cram + vendor test Signed-off-by: Rudi Grinberg --- .../dune-configurator.2.7.1/dune-project | 117 ------------------ .../test/dialects.t/.ocamlformat | 0 .../test/dialects.t/bad2/dune-project | 11 -- .../test/dialects.t/bad3/dune-project | 6 - .../test/dialects.t/good/dune | 9 -- .../test/dialects.t/good/dune-project | 11 -- .../test/dialects.t/good/fmt.ml | 1 - .../test/dialects.t/good/main.mf | 0 .../test/dialects.t/good/main.mfi | 0 .../test/dialects.t/good/main.opam | 0 .../test/dialects.t/run.t | 30 ----- 11 files changed, 185 deletions(-) delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/.ocamlformat delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mf delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mfi delete mode 100644 test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.opam diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project index 3a80436c4c8..e8341c0ea3f 100644 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/dune-project @@ -1,120 +1,3 @@ (lang dune 2.7) -; ^^^ -; When changing the version, don't forget to regenerate *.opam files -; by running [dune build]. (name dune) - -(generate_opam_files true) - (cram enable) - -; Reserved for Dune itself. This is to help with the bootstrap -(using dune-bootstrap-info 0.1) - -(license MIT) -(maintainers "Jane Street Group, LLC ") -(authors "Jane Street Group, LLC ") -(source (github ocaml/dune)) -(documentation "https://dune.readthedocs.io/") - -(implicit_transitive_deps false) - -(package - (name dune) - ; The "depends" and "build" field are written in dune.opam.template - (conflicts - (dune-configurator (< 2.3.0)) - (odoc (< 1.3.0)) - (dune-release (< 1.3.0)) - (js_of_ocaml-compiler (< 3.6.0)) - (jbuilder (= transition))) - (synopsis "Fast, portable, and opinionated build system") - (description " -dune is a build system that was designed to simplify the release of -Jane Street packages. It reads metadata from \"dune\" files following a -very simple s-expression syntax. - -dune is fast, has very low-overhead, and supports parallel builds on -all platforms. It has no system dependencies; all you need to build -dune or packages using dune is OCaml. You don't need make or bash -as long as the packages themselves don't use bash explicitly. - -dune supports multi-package development by simply dropping multiple -repositories into the same directory. - -It also supports multi-context builds, such as building against -several opam roots/switches simultaneously. This helps maintaining -packages across several versions of OCaml and gives cross-compilation -for free. -")) - -(package - (name dune-build-info) - (synopsis "Embed build informations inside executable") - (description "\ -The build-info library allows to access information about how the -executable was built, such as the version of the project at which it -was built or the list of statically linked libraries with their -versions. It supports reporting the version from the version control -system during development to get an precise reference of when the -executable was built. -")) - -(package - (name dune-private-libs) - (depends - (ocaml (>= 4.08))) - (synopsis "Private libraries of Dune") - (description "\ -!!!!!!!!!!!!!!!!!!!!!! -!!!!! DO NOT USE !!!!! -!!!!!!!!!!!!!!!!!!!!!! - -This package contains code that is shared between various dune-xxx -packages. However, it is not meant for public consumption and provides -no stability guarantee. -")) - -(package - (name dune-configurator) - (depends - (ocaml (>= 4.03.0)) - result - (csexp (>= 1.3.0))) - (synopsis "Helper library for gathering system configuration") - (description "\ -dune-configurator is a small library that helps writing OCaml scripts that -test features available on the system, in order to generate config.h -files for instance. -Among other things, dune-configurator allows one to: -- test if a C program compiles -- query pkg-config -- import #define from OCaml header files -- generate config.h file -")) - -(package - (name dune-action-plugin) - (depends - dune-glob - (ppx_expect :with-test) - (dune-private-libs (= :version))) - (synopsis "[experimental] API for writing dynamic Dune actions") - (description "\ - -This library is experimental. No backwards compatibility is implied. - -dune-action-plugin provides an API for writing dynamic Dune actions. -Dynamic dune actions do not need to declare their dependencies -upfront; they are instead discovered automatically during the -execution of the action. -")) - -(package - (name dune-glob) - (depends - (dune-private-libs (= :version))) - (synopsis "Glob string matching language supported by dune") - (description "\ -dune-glob provides a parser and interpreter for globs as \ -understood by dune language.")) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/.ocamlformat b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/.ocamlformat deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project deleted file mode 100644 index 797b89b53b6..00000000000 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad2/dune-project +++ /dev/null @@ -1,11 +0,0 @@ -(lang dune 1.11) - -(dialect - (name d) - (implementation (extension foo)) - (interface (extension bar))) - -(dialect - (name d2) - (implementation (extension foo)) - (interface (extension bar2))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project deleted file mode 100644 index fb64de64070..00000000000 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/bad3/dune-project +++ /dev/null @@ -1,6 +0,0 @@ -(lang dune 1.11) - -(dialect - (name d) - (implementation (extension .foo)) - (interface (extension bar))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune deleted file mode 100644 index bd4d0d55a2b..00000000000 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune +++ /dev/null @@ -1,9 +0,0 @@ -(executable - (name main) - (public_name main) - (modules main)) - -(executable - (name fmt) - (public_name fmt) - (modules fmt)) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project deleted file mode 100644 index 2b3c83822fe..00000000000 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/dune-project +++ /dev/null @@ -1,11 +0,0 @@ -(lang dune 1.11) -(using fmt 1.2 (enabled_for mlfi)) - -(dialect - (name mlfi) - (implementation - (extension mf) - (format (run fmt %{input-file}))) - (interface - (extension mfi) - (format (run fmt %{input-file})))) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml deleted file mode 100644 index 7ff80db14f4..00000000000 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/fmt.ml +++ /dev/null @@ -1 +0,0 @@ -prerr_endline ("Formatting " ^ Sys.argv.(1)) diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mf b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mf deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mfi b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.mfi deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.opam b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/good/main.opam deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t index 31da71267d8..97af14d8190 100644 --- a/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t +++ b/test/blackbox-tests/test-cases/mwe-dune-duplicate-dialect.t/duniverse/dune-configurator.2.7.1/test/dialects.t/run.t @@ -1,16 +1,3 @@ -Test the (dialect ...) stanza inside the dune-project file. - - $ dune exec --root good ./main.exe - Entering directory 'good' - Entering directory 'good' - - $ dune build --root good @fmt - Entering directory 'good' - fmt .formatted/main.mf - Formatting main.mf - fmt .formatted/main.mfi - Formatting main.mfi - $ dune build --root bad1 Entering directory 'bad1' File "dune-project", line 9, characters 1-74: @@ -19,20 +6,3 @@ Test the (dialect ...) stanza inside the dune-project file. 11 | (interface (extension bar2))) Error: dialect "d" is already defined [1] - - $ dune build --root bad2 - Entering directory 'bad2' - File "dune-project", line 9, characters 1-74: - 9 | (name d2) - 10 | (implementation (extension foo)) - 11 | (interface (extension bar2))) - Error: extension "foo" is already registered by dialect "d" - [1] - - $ dune build --root bad3 - Entering directory 'bad3' - File "dune-project", line 5, characters 28-32: - 5 | (implementation (extension .foo)) - ^^^^ - Error: extension must not contain '.' - [1]