This test demonstrates the handling of invalid dune-package files $ mkdir -p findlib/baz $ touch findlib/baz/dune-package $ echo "(lang dune 2.0)" > dune-project $ echo 'let () = print_endline "foo"' > foo.ml $ cat >dune < (executable (name foo)) > (library (name bar) (libraries baz) (modules)) > EOF $ OCAMLPATH=$PWD/findlib dune exec ./foo.exe foo Now we attempt to use an invalid dune-package library: $ cat >dune < (executable (name foo) (libraries baz)) > EOF $ OCAMLPATH=$PWD/findlib dune exec ./foo.exe File "$TESTCASE_ROOT/findlib/baz/dune-package", line 1, characters 0-0: Error: Invalid first line, expected: (lang ) -> required by _build/default/.foo.eobjs/native/dune__exe__Foo.cmx -> required by _build/default/foo.exe [1]