summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests/runqueue-tests
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-29 15:46:03 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-08-06 11:21:32 +0100
commit40a5e193c4ba45c928fccd899415ea56b5417725 (patch)
treeedc19c09d09e7a84dfc4fba2fac021ac63801ced /bitbake/lib/bb/tests/runqueue-tests
parent43d37a6eaf2224c0dda1d1436a0afc2bd34fdddf (diff)
downloadpoky-40a5e193c4ba45c928fccd899415ea56b5417725.tar.gz
bitbake: runqueue: Clean up BB_HASHCHECK_FUNCTION API
This function uses an old API which uses offsets into lists as a communication mechanism. Update the API to use "tid" which is used universally in runqueue now. We can also add kwargs support to the funciton definition to drop some of the backwards compaiblility hoops we had to jump though with different function argument combinations. (Bitbake rev: dc23550047e5078da491ce9a6f30989cb5260df6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/tests/runqueue-tests')
-rw-r--r--bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass22
1 files changed, 10 insertions, 12 deletions
diff --git a/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass b/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
index 5b87e20bce..3a0f151c9a 100644
--- a/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
+++ b/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
@@ -216,27 +216,25 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
216 216
217BB_HASHCHECK_FUNCTION = "sstate_checkhashes" 217BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
218 218
219def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, sq_unihash=None): 219def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, **kwargs):
220 220
221 ret = [] 221 found = set()
222 missed = [] 222 missed = set()
223 223
224 valid = d.getVar("SSTATEVALID").split() 224 valid = d.getVar("SSTATEVALID").split()
225 225
226 for task in range(len(sq_fn)): 226 for tid in sq_data['hash']:
227 n = os.path.basename(sq_fn[task]).rsplit(".", 1)[0] + ":" + sq_task[task] 227 n = os.path.basename(bb.runqueue.fn_from_tid(tid)).split(".")[0] + ":do_" + bb.runqueue.taskname_from_tid(tid)[3:]
228 print(n)
228 if n in valid: 229 if n in valid:
229 bb.note("SState: Found valid sstate for %s" % n) 230 bb.note("SState: Found valid sstate for %s" % n)
230 ret.append(task) 231 found.add(tid)
231 elif os.path.exists(d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))): 232 elif os.path.exists(d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))):
232 bb.note("SState: Found valid sstate for %s (already run)" % n) 233 bb.note("SState: Found valid sstate for %s (already run)" % n)
233 ret.append(task) 234 found.add(tid)
234 else: 235 else:
235 missed.append(task) 236 missed.add(tid)
236 bb.note("SState: Found no valid sstate for %s" % n) 237 bb.note("SState: Found no valid sstate for %s" % n)
237 238
238 if hasattr(bb.parse.siggen, "checkhashes"): 239 return found
239 bb.parse.siggen.checkhashes(missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d)
240
241 return ret
242 240