From e7810813215d429a6b1c645c5d4c11182043ccbb Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Fri, 12 Apr 2024 16:29:04 -0700 Subject: [PATCH] test(melange): test melange private libraries with `(package ..)` field Signed-off-by: Antonio Nuno Monteiro --- .../melange/private-lib-with-package.t | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/blackbox-tests/test-cases/melange/private-lib-with-package.t diff --git a/test/blackbox-tests/test-cases/melange/private-lib-with-package.t b/test/blackbox-tests/test-cases/melange/private-lib-with-package.t new file mode 100644 index 00000000000..30b6425c72f --- /dev/null +++ b/test/blackbox-tests/test-cases/melange/private-lib-with-package.t @@ -0,0 +1,34 @@ +Test melange private libraries with `(package ..)` field + + $ cat > dune-project < (lang dune 3.9) + > (using melange 0.1) + > (package (name foo)) + > EOF + +Add a private library to package foo + + $ mkdir lib + $ cat > lib/dune < (library + > (name a) + > (package foo) + > (modes melange)) + > EOF + +Cmj rules `--bs-package-output` should be `.` like public libraries (relative +to the dune file dir) + + $ dune rules lib/.a.objs/melange/a.cmj | + > grep -e "--bs-package-output" --after-context=1 + --bs-package-output + . + +Cmj rules should include `--bs-package-name` with the private mangled name + + $ dune rules lib/.a.objs/melange/a.cmj | + > grep -A1 -e "--bs-package-name" + --bs-package-name + foo.__private__.a + +