4 TESTDIR
=$(readlink -f $(dirname $0))
8 configarchitecture
'native'
10 buildsimplenativepackage
'foo' 'all' '1.0' 'stable'
11 buildsimplenativepackage
'libbar' 'all' '1.0' 'stable'
13 getlabelfromsuite
() { echo 'Testcases'; }
14 getoriginfromsuite
() { echo 'Debian'; }
16 setupaptarchive
--no-update
18 testsuccess aptget update
20 testsuccessequal
"'http://metadata.ftp-master.debian.org/changelogs/main/f/foo/foo_1.0_changelog' foo.changelog
21 'http://metadata.ftp-master.debian.org/changelogs/main/libb/libbar/libbar_1.0_changelog' libbar.changelog" aptget changelog foo libbar
--print-uris
24 # modifying the Release files in lists… bad stuff. Good that this is only a test…
25 sed -i "s#^${1}: .*#${1}: ${2}#" $(find rootdir/var/lib/apt/lists -name '*Release')
26 rm -f rootdir
/var
/cache
/apt
/*.bin
28 releasechanger
'Origin' 'Ubuntu'
29 testsuccessequal
"'http://changelogs.ubuntu.com/changelogs/pool/main/f/foo/foo_1.0/changelog' foo.changelog
30 'http://changelogs.ubuntu.com/changelogs/pool/main/libb/libbar/libbar_1.0/changelog' libbar.changelog" aptget changelog foo libbar
--print-uris
32 releasechanger
'Label' 'Debian'
33 testsuccessequal
"'http://changelogs.ubuntu.com/changelogs/pool/main/f/foo/foo_1.0/changelog' foo.changelog
34 'http://changelogs.ubuntu.com/changelogs/pool/main/libb/libbar/libbar_1.0/changelog' libbar.changelog" aptget changelog foo libbar
--print-uris
36 testsuccessequal
"'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0.changelog' foo.changelog
37 'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0.changelog' libbar.changelog" aptget changelog foo libbar
--print-uris -o Acquire
::Changelogs
::URI
::Label
::Debian
="http://localhost:${APTHTTPPORT}/CHANGEPATH.changelog"
39 sed -i '/^Origin: / a\
40 Changelogs: http://example.org/CHANGEPATH-changelog' $(find rootdir/var/lib/apt/lists -name '*Release')
41 rm -f rootdir
/var
/cache
/apt
/*.bin
43 testsuccessequal
"'http://example.org/main/f/foo/foo_1.0-changelog' foo.changelog
44 'http://example.org/main/libb/libbar/libbar_1.0-changelog' libbar.changelog" aptget changelog foo libbar
--print-uris -o Acquire
::Changelogs
::URI
::Label
::Debian
="http://localhost:${APTHTTPPORT}/CHANGEPATH.changelog"
46 testsuccessequal
"'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0.changelog' foo.changelog
47 'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0.changelog' libbar.changelog" aptget changelog foo libbar
--print-uris -o Acquire
::Changelogs
::URI
::Override
::Label
::Debian
="http://localhost:${APTHTTPPORT}/CHANGEPATH.changelog"
49 releasechanger
'Changelogs' 'no'
50 if [ "$(id -u)" = '0' ]; then
51 testfailuremsg
"W: Can't drop privileges for downloading as file 'foo.changelog' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
52 E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0" aptget changelog foo
-d
54 testfailuremsg
'E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0' aptget changelog foo
-d
57 sed -i '/^Changelogs: / d' $(find rootdir/var/lib/apt/lists -name '*Release')
58 releasechanger
'Label' 'Testcases'
60 echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/CHANGEPATH/change.txt\";" > rootdir
/etc
/apt
/apt.conf.d
/changelog.conf
61 testsuccessequal
"'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0/change.txt' foo.changelog
62 'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0/change.txt' libbar.changelog" aptget changelog foo libbar
--print-uris
64 echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/pool/CHANGEPATH/changelog\";" > rootdir
/etc
/apt
/apt.conf.d
/changelog.conf
65 testsuccessequal
"'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" aptget changelog foo
--print-uris
68 testsuccess aptget changelog foo
-qq
69 testfileequal
'rootdir/tmp/testsuccess.output' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)"
71 testsuccess aptget changelog foo libbar
-qq
72 testfileequal
'rootdir/tmp/testsuccess.output' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)
73 $(cat aptarchive/pool/main/libb/libbar/libbar_1.0/changelog)"
77 testsuccess aptget changelog foo
-d
78 testfilestats
'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
79 testfileequal
'foo.changelog' "$(cat ../aptarchive/pool/main/f/foo/foo_1.0/changelog)"
82 testsuccess aptget changelog libbar foo
-d
83 testfilestats
'libbar.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
84 testfilestats
'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
85 testfileequal
'libbar.changelog' "$(cat ../aptarchive/pool/main/libb/libbar/libbar_1.0/changelog)"
86 testfileequal
'foo.changelog' "$(cat ../aptarchive/pool/main/f/foo/foo_1.0/changelog)"
87 rm -f libbar.changelog foo.changelog
89 # as such bogus, but can happen with multiple binaries from the same source
90 testsuccessequal
"'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog
91 'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" aptget changelog foo foo
--print-uris
92 testsuccess aptget changelog foo foo
-qq
93 testfileequal
'../rootdir/tmp/testsuccess.output' "$(cat ../aptarchive/pool/main/f/foo/foo_1.0/changelog)
94 $(cat ../aptarchive/pool/main/f/foo/foo_1.0/changelog)"
95 testsuccess aptget changelog foo foo
-d
96 testfilestats
'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644"
97 testfileequal
'foo.changelog' "$(cat ../aptarchive/pool/main/f/foo/foo_1.0/changelog)"
100 # no CHANGEPATH in the URI
101 testequal
'E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0
102 ' aptget changelog foo
-qq -d -o Acquire
::Changelogs
::URI
::Label
::Testcases
="http://localhost:${APTHTTPPORT}/change.txt"
103 testfailure
test -e foo.changelog
105 testequal
"E: Failed to fetch http://localhost:${APTHTTPPORT}/does/not/exist/main/f/foo/foo_1.0/change.txt Changelog unavailable for foo=1.0 (404 Not Found)
106 " aptget changelog foo
-qq -d -o Acquire
::Changelogs
::URI
::Label
::Testcases
="http://localhost:${APTHTTPPORT}/does/not/exist/CHANGEPATH/change.txt"
107 testfailure
test -e foo.changelog