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.py73
1 files changed, 52 insertions, 21 deletions
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index 83fad3ff0d..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":
@@ -1152,7 +1153,8 @@ class FetchLatestVersionTest(FetcherTest):
1152 ("mx-1.0", "git://github.com/clutter-project/mx.git;branch=mx-1.4", "9b1db6b8060bd00b121a692f942404a24ae2960f", "") 1153 ("mx-1.0", "git://github.com/clutter-project/mx.git;branch=mx-1.4", "9b1db6b8060bd00b121a692f942404a24ae2960f", "")
1153 : "1.99.4", 1154 : "1.99.4",
1154 # version pattern "vX.Y" 1155 # version pattern "vX.Y"
1155 ("mtd-utils", "git://git.infradead.org/mtd-utils.git", "ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f", "") 1156 # mirror of git.infradead.org since network issues interfered with testing
1157 ("mtd-utils", "git://git.yoctoproject.org/mtd-utils.git", "ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f", "")
1156 : "1.5.0", 1158 : "1.5.0",
1157 # version pattern "pkg_name-X.Y" 1159 # version pattern "pkg_name-X.Y"
1158 ("presentproto", "git://anongit.freedesktop.org/git/xorg/proto/presentproto", "24f3a56e541b0a9e6c6ee76081f441221a120ef9", "") 1160 ("presentproto", "git://anongit.freedesktop.org/git/xorg/proto/presentproto", "24f3a56e541b0a9e6c6ee76081f441221a120ef9", "")
@@ -1180,27 +1182,46 @@ class FetchLatestVersionTest(FetcherTest):
1180 } 1182 }
1181 1183
1182 test_wget_uris = { 1184 test_wget_uris = {
1185 #
1183 # packages with versions inside directory name 1186 # packages with versions inside directory name
1184 ("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", "", "")
1185 : "2.24.2", 1190 : "2.24.2",
1186 ("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", "", "")
1187 : "1.6.0", 1193 : "1.6.0",
1188 ("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", "", "")
1189 : "2.8.12.1", 1196 : "2.8.12.1",
1197 #
1190 # packages with versions only in current directory 1198 # packages with versions only in current directory
1191 ("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", "", "")
1192 : "2.19", 1202 : "2.19",
1193 ("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", "", "")
1194 : "20120814", 1205 : "20120814",
1206 #
1195 # packages with "99" in the name of possible version 1207 # packages with "99" in the name of possible version
1196 ("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", "", "")
1197 : "5.0", 1211 : "5.0",
1198 ("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", "", "")
1199 : "1.15.1", 1214 : "1.15.1",
1215 #
1200 # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX 1216 # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
1201 ("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")
1202 : "2.0.0", 1221 : "2.0.0",
1203 ("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")
1204 : "5.3.10", 1225 : "5.3.10",
1205 } 1226 }
1206 1227
@@ -1217,18 +1238,28 @@ class FetchLatestVersionTest(FetcherTest):
1217 r = bb.utils.vercmp_string(v, verstring) 1238 r = bb.utils.vercmp_string(v, verstring)
1218 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))
1219 1240
1220 @skipIfNoNetwork()
1221 def test_wget_latest_versionstring(self): 1241 def test_wget_latest_versionstring(self):
1222 for k, v in self.test_wget_uris.items(): 1242 testdata = os.path.dirname(os.path.abspath(__file__)) + "/fetch-testdata"
1223 self.d.setVar("PN", k[0]) 1243 server = HTTPService(testdata)
1224 self.d.setVar("UPSTREAM_CHECK_URI", k[2]) 1244 server.start()
1225 self.d.setVar("UPSTREAM_CHECK_REGEX", k[3]) 1245 port = server.port
1226 ud = bb.fetch2.FetchData(k[1], self.d) 1246 try:
1227 pupver = ud.method.latest_versionstring(ud, self.d) 1247 for k, v in self.test_wget_uris.items():
1228 verstring = pupver[0] 1248 self.d.setVar("PN", k[0])
1229 self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) 1249 checkuri = ""
1230 r = bb.utils.vercmp_string(v, verstring) 1250 if k[2]:
1231 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()
1232 1263
1233 1264
1234class FetchCheckStatusTest(FetcherTest): 1265class FetchCheckStatusTest(FetcherTest):