]> git.saurik.com Git - apt.git/blob - test/integration/test-apt-get-source
Merge remote-tracking branch 'mvo/feature/hash-stats' into debian/experimental
[apt.git] / test / integration / test-apt-get-source
1 #!/bin/sh
2 set -e
3
4 TESTDIR=$(readlink -f $(dirname $0))
5 . $TESTDIR/framework
6
7 setupenvironment
8 configarchitecture "i386"
9
10 # we need to insert a package into "unstable" so that a Release file is
11 # create for the test
12 insertpackage 'wheezy' 'unreleated-package' 'all' '1.0'
13
14 # a "normal" package with source and binary
15 insertpackage 'unstable' 'foo' 'all' '2.0'
16 insertsource 'unstable' 'foo' 'all' '2.0'
17
18 # its possible to have multiple src versions in the sources file, ensure
19 # to pick the correct one in this case (bts #731853)
20 insertsource 'stable' 'foo' 'all' '1.5'
21 insertsource 'stable' 'foo' 'all' '0.5'
22 insertpackage 'stable' 'foo' 'all' '1.0'
23 insertsource 'stable' 'foo' 'all' '1.0'
24
25 # this packages exists only as sources, add two versions to ensure that
26 # apt will pick the higher version number (bts #731853)
27 insertsource 'wheezy' 'foo' 'all' '0.0.1'
28 insertsource 'wheezy' 'foo' 'all' '0.1'
29
30 setupaptarchive
31
32 APTARCHIVE=$(readlink -f ./aptarchive)
33
34 # normal operation gets highest version number
35 HEADER="Reading package lists...
36 Building dependency tree..."
37 testequal "$HEADER
38 Need to get 0 B of source archives.
39 'file://${APTARCHIVE}/foo_2.0.dsc' foo_2.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
40 'file://${APTARCHIVE}/foo_2.0.tar.gz' foo_2.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo
41
42 # select by release: suite
43 testequal "$HEADER
44 Selected version '1.0' (stable) for foo
45 Need to get 0 B of source archives.
46 'file://${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
47 'file://${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo/stable
48 testequal "$HEADER
49 Selected version '2.0' (unstable) for foo
50 Need to get 0 B of source archives.
51 'file://${APTARCHIVE}/foo_2.0.dsc' foo_2.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
52 'file://${APTARCHIVE}/foo_2.0.tar.gz' foo_2.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo/unstable
53
54 # select by release: codename
55 testequal "$HEADER
56 Selected version '2.0' (sid) for foo
57 Need to get 0 B of source archives.
58 'file://${APTARCHIVE}/foo_2.0.dsc' foo_2.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
59 'file://${APTARCHIVE}/foo_2.0.tar.gz' foo_2.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo/sid
60
61 # select by version
62 testequal "$HEADER
63 Need to get 0 B of source archives.
64 'file://${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
65 'file://${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo=1.0
66
67 # select by release with no binary package (Bug#731102) but ensure to get
68 # highest version
69 testequal "$HEADER
70 Selected version '0.1' (wheezy) for foo
71 Need to get 0 B of source archives.
72 'file://${APTARCHIVE}/foo_0.1.dsc' foo_0.1.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
73 'file://${APTARCHIVE}/foo_0.1.tar.gz' foo_0.1.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo/wheezy
74
75 # unavailable one
76 testequal "$HEADER
77 E: Can not find version '9.9-not-there' of package 'foo'
78 E: Unable to find a source package for foo" aptget source -q --print-uris foo=9.9-not-there
79
80 # version and release
81 testequal "$HEADER
82 Need to get 0 B of source archives.
83 'file://${APTARCHIVE}/foo_0.0.1.dsc' foo_0.0.1.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
84 'file://${APTARCHIVE}/foo_0.0.1.tar.gz' foo_0.0.1.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris -t unstable foo=0.0.1