diff --git a/test/blackbox-tests/test-cases/melange/virtual-lib-private.t b/test/blackbox-tests/test-cases/melange/virtual-lib-private.t new file mode 100644 index 00000000000..3dfc22c59ac --- /dev/null +++ b/test/blackbox-tests/test-cases/melange/virtual-lib-private.t @@ -0,0 +1,46 @@ +Test private virtual libraries and implementations + + $ mkdir -p vlib js_impl test + $ cat > dune-project < (lang dune 3.13) + > (using melange 0.1) + > EOF + $ cat > vlib/dune < (library + > (name the_lib) + > (modes melange native) + > (virtual_modules virt)) + > EOF + $ cat > vlib/the_lib.mli < module Time : sig + > val gettimeofday : unit -> float + > end + > EOF + $ cat > vlib/the_lib.ml < module Time = struct + > let gettimeofday () = Virt.gettimeofday () + > end + > EOF + $ cat > vlib/virt.mli < val gettimeofday : unit -> float + > EOF + + $ cat > js_impl/dune < (library + > (name timeJs) + > (implements the_lib) + > (modes melange) + > (preprocess (pps melange.ppx))) + > EOF + $ cat > js_impl/virt.ml < let gettimeofday : unit -> float = fun () -> 42. + > EOF + + $ cat > test/dune < (melange.emit + > (target output) + > (libraries the_lib timeJs) + > (emit_stdlib false)) + > EOF + + $ dune build @melange