summaryrefslogtreecommitdiffstats
path: root/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends
blob: da11fc881461f07a3089c4e88dbcb463a8567062 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'amd64'

# without requires-foo it is sadly not as clear cut what should happen
insertpackage 'unstable' 'foobar' 'all' '1' 'Depends: foo | bar, requires-foo, conflicts-foo | fine-foo'
insertpackage 'unstable' 'foo' 'all' '1' 'Depends: foo-depends'
insertpackage 'unstable' 'foo-depends' 'all' '1'
insertpackage 'unstable' 'bar' 'all' '1'
insertpackage 'unstable' 'requires-foo' 'all' '1' 'Depends: foo'
insertpackage 'unstable' 'conflicts-foo' 'all' '1' 'Conflicts: foo'
insertpackage 'unstable' 'fine-foo' 'all' '1'


setupaptarchive

testsuccessequal "Reading package lists...
Building dependency tree...
Solving dependencies...MANUAL foobar:amd64
[0] Install:foobar:amd64=1 ()
[0] Install:requires-foo:amd64=1 (foobar:amd64=1)
[0] Install:foo:amd64=1 (foobar:amd64=1 -> requires-foo:amd64=1)
[0] Install:foo-depends:amd64=1 (foobar:amd64=1 -> requires-foo:amd64=1 -> foo:amd64=1)
Item (2@0) foobar:amd64=1 ->  | conflicts-foo:amd64=1 | fine-foo:amd64=1
[1] Install:conflicts-foo:amd64=1 (foobar:amd64=1)
[0] Reject:conflicts-foo:amd64=1 ()
Item (1@0) foobar:amd64=1 ->  | conflicts-foo:amd64=1 | fine-foo:amd64=1
[0] Install:fine-foo:amd64=1 (foobar:amd64=1)

The following additional packages will be installed:
  fine-foo foo foo-depends requires-foo
The following NEW packages will be installed:
  fine-foo foo foo-depends foobar requires-foo
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Inst fine-foo (1 unstable [all])
Inst foo-depends (1 unstable [all])
Inst foo (1 unstable [all])
Inst requires-foo (1 unstable [all])
Inst foobar (1 unstable [all])
Conf fine-foo (1 unstable [all])
Conf foo-depends (1 unstable [all])
Conf foo (1 unstable [all])
Conf requires-foo (1 unstable [all])
Conf foobar (1 unstable [all])" apt install foobar -so Debug::APT::Solver=1 --solver 3.0

testsuccessequal "Reading package lists...
Building dependency tree...
  Installing foo:amd64 as Depends of foobar:amd64
    Installing foo-depends:amd64 as Depends of foo:amd64
  Installing requires-foo:amd64 as Depends of foobar:amd64
  Installing conflicts-foo:amd64 as Depends of foobar:amd64
  Installing fine-foo:amd64 as Depends of foobar:amd64
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following additional packages will be installed:
  fine-foo foo foo-depends requires-foo
The following NEW packages will be installed:
  fine-foo foo foo-depends foobar requires-foo
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Inst fine-foo (1 unstable [all])
Inst foo-depends (1 unstable [all])
Inst foo (1 unstable [all])
Inst requires-foo (1 unstable [all])
Inst foobar (1 unstable [all])
Conf fine-foo (1 unstable [all])
Conf foo-depends (1 unstable [all])
Conf foo (1 unstable [all])
Conf requires-foo (1 unstable [all])
Conf foobar (1 unstable [all])" apt install foobar -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 --solver internal