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 2cac03b701..c5af9d5368 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -17,6 +17,7 @@ import os | |||
17 | from bb.fetch2 import URI | 17 | from bb.fetch2 import URI |
18 | from bb.fetch2 import FetchMethod | 18 | from bb.fetch2 import FetchMethod |
19 | import bb | 19 | import bb |
20 | from bb.tests.support.httpserver import HTTPService | ||
20 | 21 | ||
21 | def skipIfNoNetwork(): | 22 | def 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 | ||
1152 | class FetchCheckStatusTest(FetcherTest): | 1182 | class FetchCheckStatusTest(FetcherTest): |