summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests/fetch.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/tests/fetch.py')
-rw-r--r--bitbake/lib/bb/tests/fetch.py70
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
15from bb.fetch2 import URI 15from bb.fetch2 import URI
16from bb.fetch2 import FetchMethod 16from bb.fetch2 import FetchMethod
17import bb 17import bb
18from bb.tests.support.httpserver import HTTPService
18 19
19def skipIfNoNetwork(): 20def 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
1235class FetchCheckStatusTest(FetcherTest): 1265class FetchCheckStatusTest(FetcherTest):