]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | set -e | |
3 | ||
4 | TESTDIR=$(readlink -f $(dirname $0)) | |
5 | . $TESTDIR/framework | |
6 | ||
7 | setupenvironment | |
8 | configarchitecture 'i386' | |
9 | ||
10 | echo 'APT::Sources::Use-Deb822 "true";' > rootdir/etc/apt/apt.conf.d/00enabledeb822 | |
11 | ||
12 | SOURCES='rootdir/etc/apt/sources.list' | |
13 | BASE='# some comment | |
14 | # that contains a : as well | |
15 | #Types: meep | |
16 | ||
17 | Types: deb | |
18 | URIs: http://ftp.debian.org/debian | |
19 | Suites: stable | |
20 | Sections: main | |
21 | Description: summay | |
22 | and the long part' | |
23 | ||
24 | msgtest 'Test sources.list' 'old style' | |
25 | echo "deb http://ftp.debian.org/debian stable main" > $SOURCES | |
26 | testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
27 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
28 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 " aptget update --print-uris | |
29 | ||
30 | msgtest 'Test sources.list' 'simple deb822' | |
31 | echo "$BASE" > $SOURCES | |
32 | testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
33 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
34 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 " aptget update --print-uris | |
35 | ||
36 | ||
37 | msgtest 'Test deb822 with' 'two entries' | |
38 | # Two entries | |
39 | echo "$BASE" > $SOURCES | |
40 | echo "" >> $SOURCES | |
41 | echo "$BASE" | sed s/stable/unstable/ >> $SOURCES | |
42 | testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
43 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
44 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 | |
45 | 'http://ftp.debian.org/debian/dists/unstable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_unstable_main_binary-i386_Packages 0 | |
46 | 'http://ftp.debian.org/debian/dists/unstable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_unstable_main_i18n_Translation-en 0 | |
47 | 'http://ftp.debian.org/debian/dists/unstable/InRelease' ftp.debian.org_debian_dists_unstable_InRelease 0 " aptget update --print-uris | |
48 | ||
49 | # two suite entries | |
50 | msgtest 'Test deb822 with' 'two Suite entries' | |
51 | echo "$BASE" | sed -e "s/stable/stable unstable/" > $SOURCES | |
52 | testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
53 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
54 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 | |
55 | 'http://ftp.debian.org/debian/dists/unstable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_unstable_main_binary-i386_Packages 0 | |
56 | 'http://ftp.debian.org/debian/dists/unstable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_unstable_main_i18n_Translation-en 0 | |
57 | 'http://ftp.debian.org/debian/dists/unstable/InRelease' ftp.debian.org_debian_dists_unstable_InRelease 0 " aptget update --print-uris | |
58 | ||
59 | msgtest 'Test deb822' 'architecture option' | |
60 | echo "$BASE" > $SOURCES | |
61 | echo "Architectures: amd64 armel" >> $SOURCES | |
62 | testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/main/binary-amd64/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-amd64_Packages 0 | |
63 | 'http://ftp.debian.org/debian/dists/stable/main/binary-armel/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-armel_Packages 0 | |
64 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
65 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 " aptget update --print-uris | |
66 | ||
67 | ||
68 | msgtest 'Test old-style sources.list file which has' 'malformed dist' | |
69 | echo "deb http://ftp.debian.org" > $SOURCES | |
70 | testequal --nomsg "E: Malformed line 1 in source list $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list (dist) | |
71 | E: The list of sources could not be read." aptget update --print-uris | |
72 | ||
73 | msgtest 'Test deb822 sources.list file which has' 'malformed URI' | |
74 | echo "Types: deb | |
75 | Suites: stable | |
76 | " > $SOURCES | |
77 | testequal --nomsg "E: Malformed stanza 0 in source list $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list (URI parse) | |
78 | E: The list of sources could not be read." aptget update --print-uris | |
79 | ||
80 | # with Enabled: false | |
81 | echo "$BASE" > $SOURCES | |
82 | echo "Enabled: no" >> $SOURCES | |
83 | testempty aptget update --print-uris | |
84 | ||
85 | # multiple URIs | |
86 | msgtest 'Test deb822 sources.list file which has' 'Multiple URIs work' | |
87 | echo "$BASE" | sed -e 's#http://ftp.debian.org/debian#http://ftp.debian.org/debian http://ftp.de.debian.org/debian#' > $SOURCES | |
88 | testequal --nomsg "'http://ftp.de.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.de.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
89 | 'http://ftp.de.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.de.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
90 | 'http://ftp.de.debian.org/debian/dists/stable/InRelease' ftp.de.debian.org_debian_dists_stable_InRelease 0 | |
91 | 'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
92 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
93 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 " aptget update --print-uris | |
94 | ||
95 | # multiple Type in one field | |
96 | msgtest 'Test deb822 sources.list file which has' 'Multiple Types work' | |
97 | echo "$BASE" | sed -e 's#Types: deb#Types: deb deb-src#' > $SOURCES | |
98 | testequal --nomsg "'http://ftp.debian.org/debian/dists/stable/main/source/Sources.bz2' ftp.debian.org_debian_dists_stable_main_source_Sources 0 | |
99 | 'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.bz2' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 | |
100 | 'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.bz2' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 | |
101 | 'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 " aptget update --print-uris | |
102 | ||
103 | # a Suite | |
104 | msgtest 'Test deb822 sources.list file which has' 'a exact path and no sections' | |
105 | cat > $SOURCES <<EOF | |
106 | Types: deb | |
107 | URIs: http://emacs.naquadah.org | |
108 | Suites: stable/ | |
109 | EOF | |
110 | testequal --nomsg "'http://emacs.naquadah.org/stable/Packages.bz2' emacs.naquadah.org_stable_Packages 0 | |
111 | 'http://emacs.naquadah.org/stable/en.bz2' emacs.naquadah.org_stable_en 0 | |
112 | 'http://emacs.naquadah.org/stable/InRelease' emacs.naquadah.org_stable_InRelease 0 " aptget update --print-uris |