diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-07-29 15:46:03 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-06 11:21:32 +0100 |
commit | 40a5e193c4ba45c928fccd899415ea56b5417725 (patch) | |
tree | edc19c09d09e7a84dfc4fba2fac021ac63801ced /bitbake/lib/bb/tests | |
parent | 43d37a6eaf2224c0dda1d1436a0afc2bd34fdddf (diff) | |
download | poky-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')
-rw-r--r-- | bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass | 22 |
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 | ||
217 | BB_HASHCHECK_FUNCTION = "sstate_checkhashes" | 217 | BB_HASHCHECK_FUNCTION = "sstate_checkhashes" |
218 | 218 | ||
219 | def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, sq_unihash=None): | 219 | def 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 | ||