diff options
Diffstat (limited to 'bitbake/lib/bb/tests/fetch.py')
-rw-r--r-- | bitbake/lib/bb/tests/fetch.py | 70 |
1 files changed, 50 insertions, 20 deletions
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index d64b636f5e..44a4ff7442 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -15,6 +15,7 @@ import os | |||
15 | from bb.fetch2 import URI | 15 | from bb.fetch2 import URI |
16 | from bb.fetch2 import FetchMethod | 16 | from bb.fetch2 import FetchMethod |
17 | import bb | 17 | import bb |
18 | from bb.tests.support.httpserver import HTTPService | ||
18 | 19 | ||
19 | def skipIfNoNetwork(): | 20 | def skipIfNoNetwork(): |
20 | if os.environ.get("BB_SKIP_NETTESTS") == "yes": | 21 | if os.environ.get("BB_SKIP_NETTESTS") == "yes": |
@@ -1181,27 +1182,46 @@ class FetchLatestVersionTest(FetcherTest): | |||
1181 | } | 1182 | } |
1182 | 1183 | ||
1183 | test_wget_uris = { | 1184 | test_wget_uris = { |
1185 | # | ||
1184 | # packages with versions inside directory name | 1186 | # packages with versions inside directory name |
1185 | ("util-linux", "http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "") | 1187 | # |
1188 | # http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2 | ||
1189 | ("util-linux", "/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "") | ||
1186 | : "2.24.2", | 1190 | : "2.24.2", |
1187 | ("enchant", "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "") | 1191 | # http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz |
1192 | ("enchant", "/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "") | ||
1188 | : "1.6.0", | 1193 | : "1.6.0", |
1189 | ("cmake", "http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz", "", "") | 1194 | # http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz |
1195 | ("cmake", "/files/v2.8/cmake-2.8.12.1.tar.gz", "", "") | ||
1190 | : "2.8.12.1", | 1196 | : "2.8.12.1", |
1197 | # | ||
1191 | # packages with versions only in current directory | 1198 | # packages with versions only in current directory |
1192 | ("eglic", "http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "") | 1199 | # |
1200 | # http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2 | ||
1201 | ("eglic", "/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "") | ||
1193 | : "2.19", | 1202 | : "2.19", |
1194 | ("gnu-config", "http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "") | 1203 | # http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2 |
1204 | ("gnu-config", "/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "") | ||
1195 | : "20120814", | 1205 | : "20120814", |
1206 | # | ||
1196 | # packages with "99" in the name of possible version | 1207 | # packages with "99" in the name of possible version |
1197 | ("pulseaudio", "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "") | 1208 | # |
1209 | # http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz | ||
1210 | ("pulseaudio", "/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "") | ||
1198 | : "5.0", | 1211 | : "5.0", |
1199 | ("xserver-xorg", "http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "") | 1212 | # http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2 |
1213 | ("xserver-xorg", "/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "") | ||
1200 | : "1.15.1", | 1214 | : "1.15.1", |
1215 | # | ||
1201 | # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX | 1216 | # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX |
1202 | ("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "https://github.com/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz") | 1217 | # |
1218 | # http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2 | ||
1219 | # https://github.com/apple/cups/releases | ||
1220 | ("cups", "/software/1.7.2/cups-1.7.2-source.tar.bz2", "/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz") | ||
1203 | : "2.0.0", | 1221 | : "2.0.0", |
1204 | ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://ftp.debian.org/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz") | 1222 | # http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz |
1223 | # http://ftp.debian.org/debian/pool/main/d/db5.3/ | ||
1224 | ("db", "/berkeley-db/db-5.3.21.tar.gz", "/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz") | ||
1205 | : "5.3.10", | 1225 | : "5.3.10", |
1206 | } | 1226 | } |
1207 | 1227 | ||
@@ -1218,18 +1238,28 @@ class FetchLatestVersionTest(FetcherTest): | |||
1218 | r = bb.utils.vercmp_string(v, verstring) | 1238 | r = bb.utils.vercmp_string(v, verstring) |
1219 | self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) | 1239 | self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) |
1220 | 1240 | ||
1221 | @skipIfNoNetwork() | ||
1222 | def test_wget_latest_versionstring(self): | 1241 | def test_wget_latest_versionstring(self): |
1223 | for k, v in self.test_wget_uris.items(): | 1242 | testdata = os.path.dirname(os.path.abspath(__file__)) + "/fetch-testdata" |
1224 | self.d.setVar("PN", k[0]) | 1243 | server = HTTPService(testdata) |
1225 | self.d.setVar("UPSTREAM_CHECK_URI", k[2]) | 1244 | server.start() |
1226 | self.d.setVar("UPSTREAM_CHECK_REGEX", k[3]) | 1245 | port = server.port |
1227 | ud = bb.fetch2.FetchData(k[1], self.d) | 1246 | try: |
1228 | pupver = ud.method.latest_versionstring(ud, self.d) | 1247 | for k, v in self.test_wget_uris.items(): |
1229 | verstring = pupver[0] | 1248 | self.d.setVar("PN", k[0]) |
1230 | self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) | 1249 | checkuri = "" |
1231 | r = bb.utils.vercmp_string(v, verstring) | 1250 | if k[2]: |
1232 | self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) | 1251 | checkuri = "http://localhost:%s/" % port + k[2] |
1252 | self.d.setVar("UPSTREAM_CHECK_URI", checkuri) | ||
1253 | self.d.setVar("UPSTREAM_CHECK_REGEX", k[3]) | ||
1254 | url = "http://localhost:%s/" % port + k[1] | ||
1255 | ud = bb.fetch2.FetchData(url, self.d) | ||
1256 | pupver = ud.method.latest_versionstring(ud, self.d) | ||
1257 | verstring = pupver[0] | ||
1258 | self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) | ||
1259 | r = bb.utils.vercmp_string(v, verstring) | ||
1260 | self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) | ||
1261 | finally: | ||
1262 | server.stop() | ||
1233 | 1263 | ||
1234 | 1264 | ||
1235 | class FetchCheckStatusTest(FetcherTest): | 1265 | class FetchCheckStatusTest(FetcherTest): |