]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: tests/runqueue: Allow common sstate tasks to become valid
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 12 Jul 2019 12:56:21 +0000 (13:56 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 16 Jul 2019 12:53:17 +0000 (13:53 +0100)
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.

(Bitbake rev: 27ec2e69ab3e32972caf8b072b2945736696d83d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass

index cf38d092240350c1b212ec2177d809c974d03c24..5b87e20bceed2d4a3cde76c78ae75c944e580618 100644 (file)
@@ -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)