N0REP0
### OPAMYES=1
### <pkg:foo.1>
opam-version: "2.0"
### <pkg:bar.1>
opam-version: "2.0"
depends: "foo"
### <pkg:baz.1>
opam-version: "2.0"
depends: "bar"
### <pkg:qux.1>
opam-version: "2.0"
depends: "foo"
### <pkg:corge.1>
opam-version: "2.0"
depends: "qux"
### <pkg:grault.1>
opam-version: "2.0"
### <pkg:garply.1>
opam-version: "2.0"
### opam switch create check --empty
### opam install --check baz
Missing dependencies:
bar
# Return code 1 #
### opam install --check baz corge
Missing dependencies:
bar qux
# Return code 1 #
### opam install --check grault
All dependencies installed
### opam install foo
The following actions will be performed:
=== install 1 package
  - install foo 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed foo.1
Done.
### opam install --check baz
Missing dependencies:
bar
# Return code 1 #
### opam install --check baz corge
Missing dependencies:
bar qux
# Return code 1 #
### opam install --check grault
All dependencies installed
### opam install qux
The following actions will be performed:
=== install 1 package
  - install qux 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed qux.1
Done.
### opam install --check baz corge
Missing dependencies:
bar
# Return code 1 #
### opam install bar
The following actions will be performed:
=== install 1 package
  - install bar 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed bar.1
Done.
### opam install --check baz
All dependencies installed
### opam install --check baz corge
All dependencies installed
### opam switch create test-switch --empty
### ::: dependencies disjunction
### <pkg:top.1>
opam-version: "2.0"
depends: [
  "foo"
  ("grault" | "garply")
]
### opam install --check top
Missing dependencies:
foo garply grault
# Return code 1 #
### opam install foo
The following actions will be performed:
=== install 1 package
  - install foo 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed foo.1
Done.
### opam install --check top
Missing dependencies:
garply grault
# Return code 1 #
### opam install grault
The following actions will be performed:
=== install 1 package
  - install grault 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed grault.1
Done.
### opam install --check top
All dependencies installed
### opam remove grault
The following actions will be performed:
=== remove 1 package
  - remove grault 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   grault.1
Done.
### opam install garply
The following actions will be performed:
=== install 1 package
  - install garply 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed garply.1
Done.
### opam install --check top
All dependencies installed
### opam install grault
The following actions will be performed:
=== install 1 package
  - install grault 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed grault.1
Done.
### opam install --check top
All dependencies installed
### ::: check that --check works correctly with non-registered packages
### <pkg:test.1>
opam-version: "2.0"
depends: [
  "a"
  "does-no-exists"
]
### <pkg:a.1>
opam-version: "2.0"
### opam install --check test.1
Missing dependencies:
a does-no-exists
# Return code 1 #
### opam install --fake a
The following actions will be faked:
=== install 1 package
  - install a 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Faking installation of a.1
Done.
### opam install --check test.1
Missing dependencies:
does-no-exists
# Return code 1 #
### ::: check that --check works correctly with non-registered versions
### <pkg:test.2>
opam-version: "2.0"
depends: [
  "a" {= "2"}
]
### opam install --check test.2
Missing dependencies:
a
# Return code 1 #
### ::: check that --check correctly checks dependencies recursively
### <pkg:test.3>
opam-version: "2.0"
depends: [
  "a" {= "3"}
]
### <pkg:a.3>
opam-version: "2.0"
depends: [
  "b"
]
### <pkg:b.1>
opam-version: "2.0"
### opam install --fake a.3
The following actions will be faked:
=== upgrade 1 package
  - upgrade a 1 to 3
=== install 1 package
  - install b 1      [required by a]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Faking installation of b.1
Faking installation of a.3
Done.
### <pkg:a.3>
opam-version: "2.0"
depends: [
  "b" {> "1"}
]
### opam install --check test.3
Missing dependencies:
b
# Return code 1 #
### : make sure disjunctions and post-dependencies work
### <pkg:ocaml.1>
opam-version: "2.0"
depends: [
  "base-unix" {post}
  "ocaml-base-compiler" | "ocaml-variants"
]
### <pkg:base-unix.1>
opam-version: "2.0"
depends: [
  "ocaml"
]
### <pkg:ocaml-base-compiler.1>
opam-version: "2.0"
### <pkg:ocaml-variants.1>
opam-version: "2.0"
### <pkg:dune.1>
opam-version: "2.0"
depends: [
  "ocaml"
]
### <pkg:some-ocaml-pkg.1>
opam-version: "2.0"
depends: [
  "ocaml"
  "dune"
]
### opam install --check some-ocaml-pkg
Missing dependencies:
dune ocaml
# Return code 1 #
### opam install ocaml
The following actions will be performed:
=== install 3 packages
  - install base-unix           1
  - install ocaml               1
  - install ocaml-base-compiler 1 [required by ocaml]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed ocaml-base-compiler.1
-> installed ocaml.1
-> installed base-unix.1
Done.
### opam install --check some-ocaml-pkg
Missing dependencies:
dune
# Return code 1 #
### opam install --deps-only some-ocaml-pkg.1
The following actions will be performed:
=== install 1 package
  - install dune 1 [required by some-ocaml-pkg]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dune.1
Done.
### opam install --check some-ocaml-pkg.1
All dependencies installed
### opam install some-ocaml-pkg.1
The following actions will be performed:
=== install 1 package
  - install some-ocaml-pkg 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed some-ocaml-pkg.1
Done.
### opam install --check some-ocaml-pkg.1
All dependencies installed
### ::: check that --check correctly detect an unknown package
### <pkg:unknown-dep.1>
opam-version: "2.0"
depends: [
  "does-not-exist"
]
### opam install --check unknown-dep.1
Missing dependencies:
does-not-exist
# Return code 1 #
### opam install --check does-not-exist
Missing dependencies:
does-not-exist
# Return code 1 #
### opam install --check does-not-exist.9999
Missing dependencies:
does-not-exist
# Return code 1 #
### opam install --check some-ocaml-pkg.2
Missing dependencies:
some-ocaml-pkg
# Return code 1 #
