From: Chen Qi <[email protected]>
Add bitbake selftest case for fitler_regex parameter in
latest_versionstring to ensure no regression.
Signed-off-by: Chen Qi <[email protected]>
---
lib/bb/tests/fetch.py | 78 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 77 insertions(+), 1 deletion(-)
diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py
index 86dd92992..702664578 100644
--- a/lib/bb/tests/fetch.py
+++ b/lib/bb/tests/fetch.py
@@ -1512,7 +1512,24 @@ class FetchLatestVersionTest(FetcherTest):
# basic example; version pattern "A.B.C+cargo-D.E.F"
("cargo-c", "crate://crates.io/cargo-c/0.9.18+cargo-0.69")
: "0.9.29"
- }
+ }
+
+ test_git_stable_uris = {
+ ("dtc", "git://git.yoctoproject.org/bbfetchtests-dtc.git;branch=master;protocol=https", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "", r"^1\.4\.\d+$")
+ : ("1.4.0", "1.5.0"),
+ ("systemd", "git://github.com/systemd/systemd.git;protocol=https;branch=stable/v259-stable", "b3d8fc43e9cb531d958c17ef2cd93b374bc14e8a", "", r"^259\.\d+$")
+ : ("259.5", "260")
+ }
+
+ test_wget_stable_uris = {
+ ("openssh", "https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.2p1.tar.gz", "10.2p1", "", "", r"^10\.2p\d+$")
+ : ("10.2p1", "10.3")
+ }
+
+ test_crate_stable_uris = {
+ ("cargo-c", "crate://crates.io/cargo-c/0.9.18+cargo-0.69", r"^0\.9\.\d+")
+ : ("0.9.29", "0.10.0")
+ }
@skipIfNoNetwork()
def test_git_latest_versionstring(self):
@@ -1569,6 +1586,65 @@ class FetchLatestVersionTest(FetcherTest):
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
+ @skipIfNoNetwork()
+ def test_git_latest_versionstring_stable(self):
+ for k, v in self.test_git_stable_uris.items():
+ with self.subTest(pn=k[0]):
+ self.d.setVar("PN", k[0])
+ self.d.setVar("SRCREV", k[2])
+ self.d.setVar("UPSTREAM_CHECK_GITTAGREGEX", k[3])
+ filter_regex = k[4]
+ ud = bb.fetch2.FetchData(k[1], self.d)
+ pupver= ud.method.latest_versionstring(ud, self.d, filter_regex=filter_regex)
+ verstring = pupver[0]
+ self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
+ v_less_or_equal = v[0]
+ v_larger = v[1]
+ r = bb.utils.vercmp_string(v_less_or_equal, verstring)
+ self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s < %s" % (k[0], v_less_or_equal, verstring))
+ r = bb.utils.vercmp_string(verstring, v_larger)
+ self.assertTrue(r == -1, msg="Package %s, version: %s <= %s" % (k[0], v_larger, verstring))
+
+ @skipIfNoNetwork()
+ def test_wget_latest_versionstring_stable(self):
+ for k, v in self.test_wget_stable_uris.items():
+ with self.subTest(pn=k[0]):
+ self.d.setVar("PN", k[0])
+ url = k[1]
+ self.d.setVar("PV", k[2])
+ if k[3]:
+ self.d.setVar("UPSTREAM_CHECK_URI", k[3])
+ if k[4]:
+ self.d.setVar("UPSTREAM_CHECK_REGEX", k[4])
+ filter_regex = k[5]
+ ud = bb.fetch2.FetchData(url, self.d)
+ pupver= ud.method.latest_versionstring(ud, self.d, filter_regex=filter_regex)
+ verstring = pupver[0]
+ self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
+ v_less_or_equal = v[0]
+ v_larger = v[1]
+ r = bb.utils.vercmp_string(v_less_or_equal, verstring)
+ self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s < %s" % (k[0], v_less_or_equal, verstring))
+ r = bb.utils.vercmp_string(verstring, v_larger)
+ self.assertTrue(r == -1, msg="Package %s, version: %s <= %s" % (k[0], v_larger, verstring))
+
+ @skipIfNoNetwork()
+ def test_crate_latest_versionstring_stable(self):
+ for k, v in self.test_crate_stable_uris.items():
+ with self.subTest(pn=k[0]):
+ self.d.setVar("PN", k[0])
+ ud = bb.fetch2.FetchData(k[1], self.d)
+ filter_regex = k[2]
+ pupver = ud.method.latest_versionstring(ud, self.d, filter_regex=filter_regex)
+ verstring = pupver[0]
+ self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
+ v_less_or_equal = v[0]
+ v_larger = v[1]
+ r = bb.utils.vercmp_string(v_less_or_equal, verstring)
+ self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s < %s" % (k[0], v_less_or_equal, verstring))
+ r = bb.utils.vercmp_string(verstring, v_larger)
+ self.assertTrue(r == -1, msg="Package %s, version: %s <= %s" % (k[0], v_larger, verstring))
+
class FetchCheckStatusTest(FetcherTest):
test_wget_uris = ["https://downloads.yoctoproject.org/releases/sato/sato-engine-0.1.tar.gz",
"https://downloads.yoctoproject.org/releases/sato/sato-engine-0.2.tar.gz",
--
2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.