summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests/runqueue-tests
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-08-12 15:54:54 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-08-14 17:28:23 +0100
commitabda938d665bacc867e6328926892fbeb414f517 (patch)
tree5623fa1ecef343123679c76838b72032c0e91592 /bitbake/lib/bb/tests/runqueue-tests
parentc86ae704d312eec4e4a86ef046bc8d5601ef4176 (diff)
downloadpoky-abda938d665bacc867e6328926892fbeb414f517.tar.gz
bitbake: tests/runqueue: Add further hash equivalence tests
Add some extra hash equivalence runqueue tests based on recent scenarios that caused problems during testing. (Bitbake rev: 373b085ead992a725b2230ededd992b4c61a1a05) 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.bbclass20
-rw-r--r--bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf2
-rw-r--r--bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb1
3 files changed, 17 insertions, 6 deletions
diff --git a/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass b/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
index 138edc3fa9..b57650d591 100644
--- a/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
+++ b/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
@@ -7,7 +7,7 @@ def stamptask(d):
7 thistask = d.expand("${PN}:${BB_CURRENTTASK}") 7 thistask = d.expand("${PN}:${BB_CURRENTTASK}")
8 stampname = d.expand("${TOPDIR}/%s.run" % thistask) 8 stampname = d.expand("${TOPDIR}/%s.run" % thistask)
9 with open(stampname, "a+") as f: 9 with open(stampname, "a+") as f:
10 f.write("\n") 10 f.write(d.getVar("BB_UNIHASH") + "\n")
11 11
12 if d.getVar("BB_CURRENT_MC") != "default": 12 if d.getVar("BB_CURRENT_MC") != "default":
13 thistask = d.expand("${BB_CURRENT_MC}:${PN}:${BB_CURRENTTASK}") 13 thistask = d.expand("${BB_CURRENT_MC}:${PN}:${BB_CURRENTTASK}")
@@ -235,18 +235,28 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, **kwargs):
235 235
236 valid = d.getVar("SSTATEVALID").split() 236 valid = d.getVar("SSTATEVALID").split()
237 237
238 for tid in sq_data['hash']: 238 for tid in sorted(sq_data['hash']):
239 n = os.path.basename(bb.runqueue.fn_from_tid(tid)).split(".")[0] + ":do_" + bb.runqueue.taskname_from_tid(tid)[3:] 239 n = os.path.basename(bb.runqueue.fn_from_tid(tid)).split(".")[0] + ":do_" + bb.runqueue.taskname_from_tid(tid)[3:]
240 print(n) 240 print(n)
241 stampfile = d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))
241 if n in valid: 242 if n in valid:
242 bb.note("SState: Found valid sstate for %s" % n) 243 bb.note("SState: Found valid sstate for %s" % n)
243 found.add(tid) 244 found.add(tid)
244 elif os.path.exists(d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))): 245 elif n + ":" + sq_data['hash'][tid] in valid:
245 bb.note("SState: Found valid sstate for %s (already run)" % n) 246 bb.note("SState: Found valid sstate for %s" % n)
246 found.add(tid) 247 found.add(tid)
248 elif os.path.exists(stampfile):
249 with open(stampfile, "r") as f:
250 hash = f.readline().strip()
251 if hash == sq_data['hash'][tid]:
252 bb.note("SState: Found valid sstate for %s (already run)" % n)
253 found.add(tid)
254 else:
255 bb.note("SState: sstate hash didn't match previous run for %s (%s vs %s)" % (n, sq_data['hash'][tid], hash))
256 missed.add(tid)
247 else: 257 else:
248 missed.add(tid) 258 missed.add(tid)
249 bb.note("SState: Found no valid sstate for %s" % n) 259 bb.note("SState: Found no valid sstate for %s (%s)" % (n, sq_data['hash'][tid]))
250 260
251 return found 261 return found
252 262
diff --git a/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf b/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
index 1c61f27607..ab0f6bcfac 100644
--- a/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
+++ b/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
@@ -11,6 +11,6 @@ STAMP = "${TMPDIR}/stamps/${PN}"
11T = "${TMPDIR}/workdir/${PN}/temp" 11T = "${TMPDIR}/workdir/${PN}/temp"
12BB_NUMBER_THREADS = "4" 12BB_NUMBER_THREADS = "4"
13 13
14BB_HASHBASE_WHITELIST = "BB_CURRENT_MC BB_HASHSERVE" 14BB_HASHBASE_WHITELIST = "BB_CURRENT_MC BB_HASHSERVE TMPDIR TOPDIR SLOWTASKS SSTATEVALID"
15 15
16include conf/multiconfig/${BB_CURRENT_MC}.conf 16include conf/multiconfig/${BB_CURRENT_MC}.conf
diff --git a/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb b/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb
new file mode 100644
index 0000000000..1588bc8a59
--- /dev/null
+++ b/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb
@@ -0,0 +1 @@
DEPENDS = "b1" \ No newline at end of file