X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/33e46bc7032c2bcab654ab3f6a0a10ad82264ead..7933b3a1cf56096d6ab30cedf1b736054b5fc84b:/test/integration/test-apt-get-changelog?ds=sidebyside

diff --git a/test/integration/test-apt-get-changelog b/test/integration/test-apt-get-changelog
index 0a80cc08c..76a32a122 100755
--- a/test/integration/test-apt-get-changelog
+++ b/test/integration/test-apt-get-changelog
@@ -9,28 +9,35 @@ configarchitecture "i386"
 
 buildsimplenativepackage 'apt' 'all' '1.0' 'stable'
 
-setupaptarchive
+setupaptarchive --no-update
 changetowebserver
-aptget update -qq
+testsuccess aptget update
 
-echo 'Apt::Changelogs::Server "http://localhost:8080/";' >> ./aptconfig.conf
+# simulate normal user with non-existent root-owned directories
+rm -rf rootdir/var/cache/apt/archives/
+mkdir rootdir/var/cache/apt/archives/
+addtrap 'prefix' "chmod -f -R +w $PWD/rootdir/var/cache/apt/archives || true;"
+chmod -R -w rootdir/var/cache/apt/archives
+
+echo 'Apt::Changelogs::Server "http://localhost:8080/";' > rootdir/etc/apt/apt.conf.d/changelog.conf
 
 testequal "'http://localhost:8080//pool/apt_1.0/changelog'" aptget changelog apt --print-uris
 
-aptget changelog apt -qq > apt.changelog
-testfileequal 'apt.changelog' "$(cat aptarchive/pool/apt_1.0/changelog)"
-rm apt.changelog
+testequal "'http://localhost:8080//pool/apt_1.0/changelog'
+'http://localhost:8080//pool/apt_1.0/changelog'" aptget changelog apt apt --print-uris
+
+testsuccess aptget changelog apt -qq
+testfileequal 'rootdir/tmp/testsuccess.output' "$(cat aptarchive/pool/apt_1.0/changelog)"
 
-aptget changelog apt -d -qq
+testsuccess aptget changelog apt -d
 testfileequal 'apt.changelog' "$(cat  aptarchive/pool/apt_1.0/changelog)"
-rm apt.changelog aptarchive/pool/apt_1.0/changelog
+rm -f apt.changelog aptarchive/pool/apt_1.0/changelog
 
-aptget changelog apt -qq -o APT::Changelogs::Server='http://not-on-the-main-server:8080/' > apt.changelog
-testfileequal 'apt.changelog' "$(cat aptarchive/pool/apt_1.0.changelog)"
-rm apt.changelog
+testequal "$(cat aptarchive/pool/apt_1.0.changelog)" aptget changelog apt \
+	-qq -o APT::Changelogs::Server='http://not-on-the-main-server:8080/'
 
-aptget changelog apt -d -qq
+testsuccess aptget changelog apt -d
 testfileequal 'apt.changelog' "$(cat aptarchive/pool/apt_1.0.changelog)"
-rm apt.changelog aptarchive/pool/apt_1.0.changelog
+rm -f apt.changelog aptarchive/pool/apt_1.0.changelog
 
 testequal 'E: changelog download failed' aptget changelog apt -qq -o APT::Changelogs::Server='http://not-on-the-main-server:8080/'