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 d8d618988d..2e99f18315 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -28,6 +28,7 @@ import os
28from bb.fetch2 import URI 28from bb.fetch2 import URI
29from bb.fetch2 import FetchMethod 29from bb.fetch2 import FetchMethod
30import bb 30import bb
31from bb.tests.support.httpserver import HTTPService
31 32
32def skipIfNoNetwork(): 33def skipIfNoNetwork():
33 if os.environ.get("BB_SKIP_NETTESTS") == "yes": 34 if os.environ.get("BB_SKIP_NETTESTS") == "yes":
@@ -1109,27 +1110,46 @@ class FetchLatestVersionTest(FetcherTest):
1109 } 1110 }
1110 1111
1111 test_wget_uris = { 1112 test_wget_uris = {
1113 #
1112 # packages with versions inside directory name 1114 # packages with versions inside directory name
1113 ("util-linux", "http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "") 1115 #
1116 # http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2
1117 ("util-linux", "/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "")
1114 : "2.24.2", 1118 : "2.24.2",
1115 ("enchant", "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "") 1119 # http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz
1120 ("enchant", "/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "")
1116 : "1.6.0", 1121 : "1.6.0",
1117 ("cmake", "http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz", "", "") 1122 # http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz
1123 ("cmake", "/files/v2.8/cmake-2.8.12.1.tar.gz", "", "")
1118 : "2.8.12.1", 1124 : "2.8.12.1",
1125 #
1119 # packages with versions only in current directory 1126 # packages with versions only in current directory
1120 ("eglic", "http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "") 1127 #
1128 # http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2
1129 ("eglic", "/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "")
1121 : "2.19", 1130 : "2.19",
1122 ("gnu-config", "http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "") 1131 # http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2
1132 ("gnu-config", "/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "")
1123 : "20120814", 1133 : "20120814",
1134 #
1124 # packages with "99" in the name of possible version 1135 # packages with "99" in the name of possible version
1125 ("pulseaudio", "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "") 1136 #
1137 # http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz
1138 ("pulseaudio", "/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "")
1126 : "5.0", 1139 : "5.0",
1127 ("xserver-xorg", "http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "") 1140 # http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2
1141 ("xserver-xorg", "/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "")
1128 : "1.15.1", 1142 : "1.15.1",
1143 #
1129 # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX 1144 # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
1130 ("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") 1145 #
1146 # http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2
1147 # https://github.com/apple/cups/releases
1148 ("cups", "/software/1.7.2/cups-1.7.2-source.tar.bz2", "/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
1131 : "2.0.0", 1149 : "2.0.0",
1132 ("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") 1150 # http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz
1151 # http://ftp.debian.org/debian/pool/main/d/db5.3/
1152 ("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")
1133 : "5.3.10", 1153 : "5.3.10",
1134 } 1154 }
1135 1155
@@ -1146,18 +1166,28 @@ class FetchLatestVersionTest(FetcherTest):
1146 r = bb.utils.vercmp_string(v, verstring) 1166 r = bb.utils.vercmp_string(v, verstring)
1147 self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) 1167 self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
1148 1168
1149 @skipIfNoNetwork()
1150 def test_wget_latest_versionstring(self): 1169 def test_wget_latest_versionstring(self):
1151 for k, v in self.test_wget_uris.items(): 1170 testdata = os.path.dirname(os.path.abspath(__file__)) + "/fetch-testdata"
1152 self.d.setVar("PN", k[0]) 1171 server = HTTPService(testdata)
1153 self.d.setVar("UPSTREAM_CHECK_URI", k[2]) 1172 server.start()
1154 self.d.setVar("UPSTREAM_CHECK_REGEX", k[3]) 1173 port = server.port
1155 ud = bb.fetch2.FetchData(k[1], self.d) 1174 try:
1156 pupver = ud.method.latest_versionstring(ud, self.d) 1175 for k, v in self.test_wget_uris.items():
1157 verstring = pupver[0] 1176 self.d.setVar("PN", k[0])
1158 self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) 1177 checkuri = ""
1159 r = bb.utils.vercmp_string(v, verstring) 1178 if k[2]:
1160 self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) 1179 checkuri = "http://localhost:%s/" % port + k[2]
1180 self.d.setVar("UPSTREAM_CHECK_URI", checkuri)
1181 self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
1182 url = "http://localhost:%s/" % port + k[1]
1183 ud = bb.fetch2.FetchData(url, self.d)
1184 pupver = ud.method.latest_versionstring(ud, self.d)
1185 verstring = pupver[0]
1186 self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
1187 r = bb.utils.vercmp_string(v, verstring)
1188 self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
1189 finally:
1190 server.stop()
1161 1191
1162 1192
1163class FetchCheckStatusTest(FetcherTest): 1193class FetchCheckStatusTest(FetcherTest):