[bitbake-devel,7/7] tests/runqueue: Allow common sstate tasks to become valid

Submitted by Richard Purdie on July 12, 2019, 1:13 p.m. | Patch ID: 163030

Details

Message ID 20190712131349.29918-7-richard.purdie@linuxfoundation.org
State Accepted
Commit 27ec2e69ab3e32972caf8b072b2945736696d83d
Headers show

Commit Message

Richard Purdie July 12, 2019, 1:13 p.m.
As the logic in bitbake improves, the logic in the tests needs to as well.

Afer we built a task for the first time, allow its setscene hash verification
status to change, mirroring what would happen in a multiconfig build.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/tests/runqueue-tests/classes/base.bbclass | 6 ++++++
 1 file changed, 6 insertions(+)

Patch hide | download patch | download mbox

diff --git a/lib/bb/tests/runqueue-tests/classes/base.bbclass b/lib/bb/tests/runqueue-tests/classes/base.bbclass
index b966568dc7..07685744da 100644
--- a/lib/bb/tests/runqueue-tests/classes/base.bbclass
+++ b/lib/bb/tests/runqueue-tests/classes/base.bbclass
@@ -5,6 +5,9 @@  def stamptask(d):
     import time
 
     thistask = d.expand("${PN}:${BB_CURRENTTASK}")
+    with open(d.expand("${TOPDIR}/%s.run") % thistask, "a+") as f:
+        f.write("\n")
+
     if d.getVar("BB_CURRENT_MC") != "default":
         thistask = d.expand("${BB_CURRENT_MC}:${PN}:${BB_CURRENTTASK}")
     if thistask in d.getVar("SLOWTASKS").split():
@@ -225,6 +228,9 @@  def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *,
         if n in valid:
             bb.note("SState: Found valid sstate for %s" % n)
             ret.append(task)
+        elif os.path.exists(d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))):
+            bb.note("SState: Found valid sstate for %s (already run)" % n)
+            ret.append(task)
         else:
             missed.append(task)
             bb.note("SState: Found no valid sstate for %s" % n)