]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-releasefile-valid-until
test: Use :$(id -gn) instead of :root (when run as root)
[apt.git] / test / integration / test-releasefile-valid-until
index 35498f6d1aac5ca22082c02bad85b3b2b30f29c0..f64c6329dbe1792de100df4424bcc7b4736a8cc1 100755 (executable)
@@ -1,66 +1,57 @@
 #!/bin/sh
 set -e
 
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'i386'
 
 insertpackage 'wheezy' 'apt' 'all' '0.8.15'
 
 setupenvironment
 configarchitecture 'i386'
 
 insertpackage 'wheezy' 'apt' 'all' '0.8.15'
 
-setupaptarchive
+getlabelfromsuite() {
+       echo -n 'Testcases'
+}
+
+setupaptarchive --no-update
 
 
-setupreleasefile() {
+runtest() {
+       local MSG="$1"
+       msgtest "Release file is $MSG as it has" "$2"
        rm -rf rootdir/var/lib/apt/lists
        rm -rf rootdir/var/lib/apt/lists
-       aptget clean
-       generatereleasefiles "$1" "$2"
+       generatereleasefiles "$3" "$4"
        signreleasefiles
        signreleasefiles
-}
-
-aptgetupdate() {
-       if aptget update $* 2>&1 | grep -q 'is expired'; then
-               return 1
+       shift 4
+       if [ "$MSG" = 'accepted' ]; then
+               testsuccess --nomsg aptget update "$@"
+               testfailure grep -q 'is expired' rootdir/tmp/testsuccess.output
        else
        else
-               return 0
+               testfailure --nomsg aptget update "$@"
+               testsuccess grep -q 'is expired' rootdir/tmp/testfailure.output
        fi
 }
 
        fi
 }
 
-setupreleasefile
-msgtest 'Release file is accepted as it has' 'no Until'
-aptgetupdate && msgpass || msgfail
-
-setupreleasefile
-msgtest 'Release file is accepted as it has' 'no Until and good Max-Valid'
-aptgetupdate -o Acquire::Max-ValidTime=3600 && msgpass || msgfail
-
-setupreleasefile 'now - 2 days'
-msgtest 'Release file is rejected as it has' 'no Until, but bad Max-Valid'
-aptgetupdate -o Acquire::Max-ValidTime=3600 && msgfail || msgpass
-
-setupreleasefile 'now - 3 days' 'now + 1 day'
-msgtest 'Release file is accepted as it has' 'good Until'
-aptgetupdate && msgpass || msgfail
-
-setupreleasefile 'now - 7 days' 'now - 4 days'
-msgtest 'Release file is rejected as it has' 'bad Until'
-aptgetupdate && msgfail || msgpass
-
-setupreleasefile 'now - 7 days' 'now - 4 days'
-msgtest 'Release file is rejected as it has' 'bad Until (ignore good Max-Valid)'
-aptgetupdate -o Acquire::Max-ValidTime=1209600 && msgfail || msgpass
-
-setupreleasefile 'now - 7 days' 'now - 4 days'
-msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until)'
-aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass
-
-setupreleasefile 'now - 7 days' 'now + 4 days'
-msgtest 'Release file is rejected as it has' 'bad Max-Valid (good Until)'
-aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass
-
-setupreleasefile 'now - 7 days' 'now + 4 days'
-msgtest 'Release file is accepted as it has' 'good labeled Max-Valid'
-aptgetupdate -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600 && msgpass || msgfail
-
-setupreleasefile 'now - 7 days' 'now + 4 days'
-msgtest 'Release file is rejected as it has' 'bad labeled Max-Valid'
-aptgetupdate -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400 && msgfail || msgpass
+runtest 'accepted' 'no Until' '' ''
+runtest 'accepted' 'no Until and good Max-Valid' '' '' -o Acquire::Max-ValidTime=3600
+runtest 'rejected' 'no Until, but bad Max-Valid' 'now - 2 days' '' -o Acquire::Max-ValidTime=3600
+runtest 'accepted' 'good Until' 'now - 3 days' 'now + 1 day'
+runtest 'rejected' 'bad Until' 'now - 7 days' 'now - 4 days'
+runtest 'rejected' 'bad Until (ignore good Max-Valid)' 'now - 7 days' 'now - 4 days' -o Acquire::Max-ValidTime=1209600
+runtest 'rejected' 'bad Max-Valid (bad Until)' 'now - 7 days' 'now - 4 days' -o Acquire::Max-ValidTime=86400
+runtest 'rejected' 'bad Max-Valid (good Until)' 'now - 7 days' 'now + 4 days' -o Acquire::Max-ValidTime=86400
+runtest 'accepted' 'good labeled Max-Valid' 'now - 7 days' 'now + 4 days' -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600
+runtest 'rejected' 'bad labeled Max-Valid' 'now - 7 days' 'now + 4 days' -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400
+runtest 'accepted' 'good Until (good Min-Valid, no Max-Valid)' 'now - 7 days' 'now + 1 days' -o Acquire::Min-ValidTime=1209600
+runtest 'accepted' 'good Min-Valid (bad Until, no Max-Valid)' 'now - 7 days' 'now - 4 days' -o Acquire::Min-ValidTime=1209600
+runtest 'accepted' 'good Min-Valid (bad Until, good Max-Valid) <' 'now - 7 days' 'now - 2 days' -o Acquire::Min-ValidTime=1209600 -o Acquire::Max-ValidTime=2419200
+runtest 'rejected' 'bad Max-Valid (bad Until, good Min-Valid) >' 'now - 7 days' 'now - 2 days' -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=2419200
+runtest 'rejected' 'bad Max-Valid (bad Until, bad Min-Valid) <' 'now - 7 days' 'now - 2 days' -o Acquire::Min-ValidTime=12096 -o Acquire::Max-ValidTime=241920
+runtest 'rejected' 'bad Max-Valid (bad Until, bad Min-Valid) >' 'now - 7 days' 'now - 2 days' -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=241920
+
+sed -i -e 's#\(deb\(-src\)\?\) #\1 [check-valid-until=no] #' rootdir/etc/apt/sources.list.d/*
+runtest 'accepted' 'bad Until but overriden by sources option' 'now - 7 days' 'now - 4 days'
+
+sed -i -e 's#\(deb\(-src\)\?\) \[check-valid-until=no\] #\1 [valid-until-max=86400] #' rootdir/etc/apt/sources.list.d/*
+runtest 'rejected' 'bad Max-Valid (good Until) via sources option' 'now - 7 days' 'now + 4 days'
+
+sed -i -e 's#\(deb\(-src\)\?\) \[valid-until-max=86400\] #\1 [valid-until-min=1209600] #' rootdir/etc/apt/sources.list.d/*
+runtest 'accepted' 'good Min-Valid (bad Until) via sources option' 'now - 7 days' 'now - 4 days'