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 d8d618988d..2e99f18315 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -28,6 +28,7 @@ import os | |||
28 | from bb.fetch2 import URI | 28 | from bb.fetch2 import URI |
29 | from bb.fetch2 import FetchMethod | 29 | from bb.fetch2 import FetchMethod |
30 | import bb | 30 | import bb |
31 | from bb.tests.support.httpserver import HTTPService | ||
31 | 32 | ||
32 | def skipIfNoNetwork(): | 33 | def 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 | ||
1163 | class FetchCheckStatusTest(FetcherTest): | 1193 | class FetchCheckStatusTest(FetcherTest): |