summaryrefslogtreecommitdiffstats
path: root/test/integration/test-or-group-substitution
blob: 51bd9aa3f14ee554d1292980b90006ec1c411a13 (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
#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"

setupenvironment
configarchitecture 'amd64'

# One package (non-essential) depends on either of two other packages, which conflict with each other.

insertinstalledpackage 'chrony' 'amd64' '1' 'Conflicts: openntpd'

insertpackage 'sid' 'openntpd' 'amd64' '1' 'Conflicts: openntpd'

insertinstalledpackage 'systemd' 'amd64' '1' 'Depends: chrony | openntpd'

# An essential package depends on the non-essential package that has an or group dependency.

insertinstalledpackage 'pop-desktop' 'amd64' '1' 'Depends: systemd
Essential: yes'

# An additional, non-essential package depends on the package that has an or group dependency.

insertinstalledpackage 'unrelated-package' 'amd64' '1' 'Depends: systemd'

setupaptarchive

# The test removes the currently-installed part of the or group
# (it should be replaced with the other one automatically.)
#
# The test should fail if the package "unrelated-package" is removed.

testsuccessequal 'Reading package lists...
Building dependency tree...
The following additional packages will be installed:
  openntpd
The following packages will be REMOVED:
  chrony
The following NEW packages will be installed:
  openntpd
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Remv chrony [1] [systemd:amd64 ]
Inst openntpd (1 sid [amd64])
Conf openntpd (1 sid [amd64])' aptget -s remove chrony