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