aboutsummaryrefslogtreecommitdiff
path: root/t/test_pbuilder-apt-config
blob: e396aa565d2e39f765fe484fa3acbdc81c8fdc6e (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
#!/bin/bash

set -e

self="$(basename "$0")"

TD="$(dirname "$0")"
if [ -n "$PBUILDER_CHECKOUT" ]; then
    . "$TD/testlib.sh"
    PBUILDER_APT_CONFIG="$PBUILDER_CHECKOUT/pbuilder-apt-config"
else
    . "$TD/testlib.sh"
    PBUILDER_APT_CONFIG="$PBUILDER_TEST_PKGLIBDIR/pbuilder-apt-config"
fi

mirror_map=""

cleanup() {
    if [ -n "$mirror_map" ]; then
        rm -f "$mirror_map"
    fi
}

mirror_map="$(mktemp -t "$self.XXXXXXXXXX")"
cat >"$mirror_map" <<EOF
archive                 archive-mirror
ubuntu                  ubuntu-mirror
ubuntu-ports            ubuntu-ports-mirror
ubuntu-security         ubuntu-security-mirror
nomirror

ppa:people              ppa-people-ppa
ppa:people/otherppa     ppa-people-otherppa

# no mirror
debian-archive
EOF

run_suite_mode() {
    "$PBUILDER_APT_CONFIG" --mirror-map="$mirror_map" --with-sources=no --mirror mirror --suite hamm --components component apt-sources "$@"
}

debootstrap_suite() {
    "$PBUILDER_APT_CONFIG" --mirror-map="$mirror_map" --with-sources=no --mirror mirror --components component debootstrap-suite "$@"
}

debootstrap_mirror() {
    "$PBUILDER_APT_CONFIG" --mirror-map="$mirror_map" --with-sources=no --components component debootstrap-mirror "$@"
}

test_components() {
    run_suite_mode --components comp1
    run_suite_mode --components comp1,comp2,comp3
    run_suite_mode --components "comp1 comp2 comp3"
}

test_pockets() {
    run_suite_mode --pockets ""
    echo
    run_suite_mode --pockets pocket1
    echo
    run_suite_mode --pockets pocket1,pocket2,pocket3
    echo
    run_suite_mode --pockets "pocket1 pocket2 pocket3"
}

strip_mirror() {
    local deb mirror eol

    while read deb mirror eol; do
        echo "$deb $eol"
    done
}

test_profile() {
    local profile="$1"
    "$PBUILDER_APT_CONFIG" --with-sources=no --profile "$profile" --components comp1 apt-sources | strip_mirror
}

test_fail() {
    exit 1
}

test_options() {
    echo "$@"
    exit 1
}

expect_output "deb mirror hamm component" run_suite_mode --suite hamm

expect_output "deb archive-mirror hamm component" run_suite_mode --mirror "" --archive archive
expect_fail run_suite_mode --mirror "" --archive nomirror
expect_output "deb http://archive.debian.org/debian/ bo component" run_suite_mode --mirror "" --suite bo

expect_output "deb ubuntu-mirror lucid component" run_suite_mode --mirror "" --suite lucid --arch i386
expect_output "deb ubuntu-ports-mirror lucid component" run_suite_mode --mirror "" --suite lucid --arch armel

expect_output "deb mirror hamm comp1
deb mirror hamm comp1 comp2 comp3
deb mirror hamm comp1 comp2 comp3" test_components

expect_output "deb mirror hamm component

deb mirror hamm component
deb mirror hamm-pocket1 component

deb mirror hamm component
deb mirror hamm-pocket1 component
deb mirror hamm-pocket2 component
deb mirror hamm-pocket3 component

deb mirror hamm component
deb mirror hamm-pocket1 component
deb mirror hamm-pocket2 component
deb mirror hamm-pocket3 component" test_pockets

expect_output "deb unstable comp1" test_profile unstable
expect_output "deb sid comp1" test_profile sid
expect_output "deb unstable comp1
deb experimental comp1" test_profile experimental
expect_output "deb squeeze comp1
deb squeeze/updates comp1" test_profile squeeze/updates
expect_output "deb squeeze comp1
deb squeeze-proposed-updates comp1" test_profile squeeze-proposed-updates
expect_output "deb squeeze comp1
deb squeeze-backports comp1" test_profile squeeze-backports
expect_output "deb squeeze comp1
deb squeeze/volatile comp1" test_profile squeeze/volatile
expect_output "deb squeeze comp1
deb squeeze/volatile comp1
deb squeeze/volatile-sloppy comp1" test_profile squeeze/volatile-sloppy
expect_output "deb squeeze comp1
deb squeeze/volatile comp1
deb squeeze-proposed-updates/volatile comp1" test_profile squeeze-proposed-updates/volatile
expect_output "deb bo comp1" test_profile bo

expect_output "deb lucid comp1" test_profile lucid
expect_output "deb lucid comp1
deb lucid-security comp1
deb lucid-security comp1" test_profile lucid-security
expect_output "deb lucid comp1
deb lucid-security comp1
deb lucid-updates comp1
deb lucid-security comp1" test_profile lucid-updates
expect_output "deb lucid comp1
deb lucid-security comp1
deb lucid-updates comp1
deb lucid-backports comp1
deb lucid-security comp1" test_profile lucid-backports
expect_output "deb lucid comp1
deb lucid-security comp1
deb lucid-updates comp1
deb lucid-proposed comp1
deb lucid-security comp1" test_profile lucid-proposed

expect_output "deb     mirror hamm component
deb-src mirror hamm component" run_suite_mode --with-sources=yes
expect_output "deb     mirror hamm component
deb-src mirror hamm component" run_suite_mode --with-sources=
expect_output "deb     mirror hamm component
#deb-src mirror hamm component" run_suite_mode --with-sources=disabled
expect_output "deb mirror hamm component" run_suite_mode --with-sources=no

expect_output "deb ubuntu-mirror hamm component" run_suite_mode --mirror "" --archive ubuntu
expect_output "deb ubuntu-ports-mirror hamm component" run_suite_mode --arch armel --mirror "" --archive ubuntu-ports
expect_fail run_hamm_mode --arch armel --mirror "" --archive otherarchive
expect_success run_suite_mode --mirror "" --suite lucid
expect_fail    run_suite_mode --mirror "" --suite suite
expect_success run_suite_mode --mirror "" --suite suite --archive ubuntu
expect_output "deb ppa-people-ppa suite component" run_suite_mode --mirror "" --suite suite --archive ppa:people
expect_output "deb ppa-people-otherppa suite component" run_suite_mode --mirror "" --suite suite --archive ppa:people/otherppa

expect_output "hamm" debootstrap_suite --suite hamm
expect_output "sid" debootstrap_suite --suite sid
expect_output "sid" debootstrap_suite --suite unstable
expect_output "mirror" debootstrap_mirror --suite sid --mirror mirror

expect_output "sid" debootstrap_suite --profile sid
expect_output "sid" debootstrap_suite --profile unstable
expect_output "ubuntu-mirror" debootstrap_mirror --profile lucid --arch amd64
expect_output "ubuntu-ports-mirror" debootstrap_mirror --profile lucid --arch armel

rm -f "$mirror_map"

testlib_summary