mte/unikernel/duniverse/dune_/test/blackbox-tests/test-cases/pkg/opam-package-with-patch.t

50 lines
1 KiB
Perl
Raw Normal View History

2025-11-11 02:07:51 +01:00
This test checks that the patches field of an opam file is correctly translated into the
appropriate build step.
$ . ./helpers.sh
$ mkrepo
Make a package with a patch
$ mkpkg with-patch <<EOF
> patches: ["foo.patch"]
> build: ["cat" "foo.ml"]
> EOF
$ mkdir -p $mock_packages/with-patch/with-patch.0.0.1/files
$ cat >$mock_packages/with-patch/with-patch.0.0.1/files/foo.patch <<EOF
> diff --git a/foo.ml b/foo.ml
> index b69a69a5a..ea988f6bd 100644
> --- a/foo.ml
> +++ b/foo.ml
> @@ -1,1 +1,1 @@
> -This is wrong
> +This is right
> EOF
$ solve with-patch
Solution for dune.lock:
- with-patch.0.0.1
$ cat >>dune.lock/with-patch.pkg <<EOF
> (source (copy $PWD/source))
> EOF
The lockfile should contain the patch action.
$ cat dune.lock/with-patch.pkg
(version 0.0.1)
(build
(progn
(patch foo.patch)
(run cat foo.ml)))
(source (copy $TESTCASE_ROOT/source))
$ mkdir source
$ cat > source/foo.ml <<EOF
> This is wrong
> EOF
$ build_pkg with-patch
This is right