@@ -17,7 +17,7 @@ python primport_handler () {
bb.fatal("import failed!")
for (version, pkgarch, checksum, value) in imported:
- bb.note("imported (%s,%s,%s,%d)" % (version, pkgarch, checksum, value))
+ bb.note("imported (%s,%s,%s,%s)" % (version, pkgarch, checksum, value))
elif isinstance(e, bb.event.ParseStarted):
import oe.prservice
oe.prservice.prserv_check_avail(e.data)
@@ -4,6 +4,12 @@
# SPDX-License-Identifier: GPL-2.0-only
#
+import re
+
+def is_legal_prvalue(str):
+ pattern = r'^[0-9]+([.][0-9]+)*$'
+ return bool(re.match(pattern, str))
+
def prserv_make_conn(d, check = False):
import prserv.serv
host_params = list([_f for _f in (d.getVar("PRSERV_HOST") or '').split(':') if _f])
@@ -59,14 +65,15 @@ def prserv_import_db(d, filter_version=None, filter_pkgarch=None, filter_checksu
(filter_pkgarch and filter_pkgarch != pkgarch) or \
(filter_checksum and filter_checksum != checksum):
continue
- try:
- value = int(d.getVar(remain + '$' + version + '$' + pkgarch + '$' + checksum))
- except BaseException as exc:
+
+ value = d.getVar(remain + '$' + version + '$' + pkgarch + '$' + checksum)
+ if not is_legal_prvalue(value):
bb.debug("Not valid value of %s:%s" % (v,str(exc)))
continue
- ret = conn.importone(version,pkgarch,checksum,value)
+
+ ret = str(conn.importone(version, pkgarch, checksum, value))
if ret != value:
- bb.error("importing(%s,%s,%s,%d) failed. DB may have larger value %d" % (version,pkgarch,checksum,value,ret))
+ bb.error("importing(%s,%s,%s,%s) failed. DB may have larger value %s" % (version,pkgarch,checksum,value,ret))
else:
imported.append((version,pkgarch,checksum,value))
conn.close()
@@ -16,6 +16,11 @@ from oeqa.utils.network import get_free_port
import bb.utils
+def rev_minor(rev):
+ """Returns the last number of an x.y.z revision number"""
+ fields=str(rev).split('.')
+ return int(fields[-1])
+
class BitbakePrTests(OESelftestTestCase):
@classmethod
@@ -78,7 +83,7 @@ class BitbakePrTests(OESelftestTestCase):
pr_2 = self.get_pr_version(package_name)
stamp_2 = self.get_task_stamp(package_name, track_task)
- self.assertTrue(pr_2 - pr_1 == 1, "New PR %s did not increment as expected (from %s), difference should be 1" % (pr_2, pr_1))
+ self.assertTrue(rev_minor(pr_2) - rev_minor(pr_1) == 1, "New PR %s did not increment as expected (from %s), difference should be 1" % (pr_2, pr_1))
self.assertTrue(stamp_1 != stamp_2, "Different pkg rev. but same stamp: %s" % stamp_1)
self.cleanup()
@@ -104,7 +109,7 @@ class BitbakePrTests(OESelftestTestCase):
self.increment_package_pr(package_name)
pr_2 = self.get_pr_version(package_name)
- self.assertTrue(pr_2 - pr_1 == 1, "New PR %s did not increment as expected (from %s), difference should be 1" % (pr_2, pr_1))
+ self.assertTrue(rev_minor(pr_2) - rev_minor(pr_1) == 1, "New PR %s did not increment as expected (from %s), difference should be 1" % (pr_2, pr_1))
self.cleanup()