summaryrefslogtreecommitdiff
path: root/test/integration
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2021-11-23 15:33:54 +0000
committerJulian Andres Klode <jak@debian.org>2021-11-23 15:33:54 +0000
commit383d168b70706facfef5c8736300112cbe08a03e (patch)
tree72dab24369cf26bc9d7a4e30986b25a18a2f002a /test/integration
parentd08b87a711e4aad3e0c9b8777262cba6bd755099 (diff)
parentdd81b736095f244454c7f179e67f21c08f3fbce9 (diff)
Merge branch 'pu/reltagmatchforsource' into 'main'
Support more than exact release matches in 'source' See merge request apt-team/apt!201
Diffstat (limited to 'test/integration')
-rwxr-xr-xtest/integration/test-bug-998444-regex-as-target-release65
1 files changed, 65 insertions, 0 deletions
diff --git a/test/integration/test-bug-998444-regex-as-target-release b/test/integration/test-bug-998444-regex-as-target-release
new file mode 100755
index 000000000..97970bccd
--- /dev/null
+++ b/test/integration/test-bug-998444-regex-as-target-release
@@ -0,0 +1,65 @@
+#!/bin/sh
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+setupenvironment
+configarchitecture 'amd64'
+
+addpackage() {
+ insertpackage "$@"
+ insertsource "$@"
+}
+
+addpackage 'stable' 'foo' 'all' '1'
+addpackage 'stable-security' 'foo' 'all' '1.1~security.1'
+addpackage 'stable-updates' 'foo' 'all' '2~stable.1'
+addpackage 'unstable' 'foo' 'all' '2'
+addpackage 'experimental' 'foo' 'all' '3'
+addpackage 'external' 'foo' 'all' '4'
+
+cat > rootdir/etc/apt/preferences <<EOF
+Package: *
+Pin: release a=external
+Pin-Priority: -10
+EOF
+
+setupaptarchive
+
+APTARCHIVE="file:${TMPWORKINGDIRECTORY}/aptarchive"
+
+testfoo() {
+ testsuccessequal "foo:
+ Installed: (none)
+ Candidate: $1
+ Version table:
+ 4 $2
+ $(printf '%3s' "$2") ${APTARCHIVE} external/main all Packages
+ 3 $3
+ $(printf '%3s' "$3") ${APTARCHIVE} experimental/main all Packages
+ 2 $4
+ $(printf '%3s' "$4") ${APTARCHIVE} unstable/main all Packages
+ 2~stable.1 $5
+ $(printf '%3s' "$5") ${APTARCHIVE} stable-updates/main all Packages
+ 1.1~security.1 $6
+ $(printf '%3s' "$6") ${APTARCHIVE} stable-security/main all Packages
+ 1 $7
+ $(printf '%3s' "$7") ${APTARCHIVE} stable/main all Packages" apt policy foo -t "$8"
+ testsuccessequal "'${APTARCHIVE}/pool/main/foo/foo_$(apthelper quote-string "${1}" '+~ ')_all.deb' foo_${1}_all.deb 42 SHA256:0000000000000000000000000000000000000000000000000000000000000000" apt download foo --print-uris -t "$8"
+ testsuccess apt source -t "$8" --print-uris foo
+ tail -n 2 rootdir/tmp/testsuccess.output | cut -d' ' -f 2 > aptsource.output
+ testfileequal 'aptsource.output' "foo_${9:-$1}.dsc
+foo_${9:-$1}.tar.gz"
+}
+testfoo '2' '-10' '1' '500' '500' '500' '500' '' '4'
+testfoo '2' '-10' '1' '990' '500' '500' '500' 'unstable' '2'
+testfoo '1' '-10' '1' '500' '500' '500' '990' 'stable'
+testfoo '2~stable.1' '-10' '1' '500' '990' '500' '500' 'stable-updates'
+testfoo '1.1~security.1' '-10' '1' '500' '500' '990' '500' 'stable-security'
+testfoo '4' '990' '1' '500' '500' '500' '500' 'a=external'
+testfoo '2' '-10' '1' '990' '990' '990' '990' '/stable/'
+testfoo '2~stable.1' '-10' '1' '500' '990' '990' '990' '/^stable/'
+testfoo '1.1~security.1' '-10' '1' '500' '500' '990' '990' '/^stable(|-security)$/'
+testfoo '2~stable.1' '-10' '1' '500' '990' '990' '500' '/^stable(-security|-updates)$/'
+testfoo '2~stable.1' '-10' '1' '500' '990' '990' '990' '/^stable(|-security|-updates)$/'
+testfoo '4' '990' '990' '990' '990' '990' '990' '/./'