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 186
|
#!/bin/bash
set -e
self="$(basename "$0")"
recent_enough_ubuntu=xenial
TD="$(dirname "$0")"
. "$TD/testlib.sh"
if [ -n "$PBUILDER_CHECKOUT" ]; then
PBUILDER_APT_CONFIG="$PBUILDER_CHECKOUT/pbuilder-apt-config"
else
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 ${recent_enough_ubuntu} component" run_suite_mode --mirror "" --suite ${recent_enough_ubuntu} --arch i386
expect_output "deb ubuntu-ports-mirror ${recent_enough_ubuntu} component" run_suite_mode --mirror "" --suite ${recent_enough_ubuntu} --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 ${recent_enough_ubuntu} comp1" test_profile ${recent_enough_ubuntu} --arch amd64
expect_output "deb ${recent_enough_ubuntu} comp1
deb ${recent_enough_ubuntu}-security comp1
deb ${recent_enough_ubuntu}-security comp1" test_profile ${recent_enough_ubuntu}-security --arch amd64
expect_output "deb ${recent_enough_ubuntu} comp1
deb ${recent_enough_ubuntu}-security comp1
deb ${recent_enough_ubuntu}-updates comp1
deb ${recent_enough_ubuntu}-security comp1" test_profile ${recent_enough_ubuntu}-updates --arch amd64
expect_output "deb ${recent_enough_ubuntu} comp1
deb ${recent_enough_ubuntu}-security comp1
deb ${recent_enough_ubuntu}-updates comp1
deb ${recent_enough_ubuntu}-backports comp1
deb ${recent_enough_ubuntu}-security comp1" test_profile ${recent_enough_ubuntu}-backports --arch amd64
expect_output "deb ${recent_enough_ubuntu} comp1
deb ${recent_enough_ubuntu}-security comp1
deb ${recent_enough_ubuntu}-updates comp1
deb ${recent_enough_ubuntu}-proposed comp1
deb ${recent_enough_ubuntu}-security comp1" test_profile ${recent_enough_ubuntu}-proposed --arch amd64
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 ${recent_enough_ubuntu} --arch amd64
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 ${recent_enough_ubuntu} --arch amd64
expect_output "ubuntu-ports-mirror" debootstrap_mirror --profile ${recent_enough_ubuntu} --arch armel
rm -f "$mirror_map"
testlib_summary
|