summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest/sstatetests.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-25 17:56:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-31 00:04:31 +0100
commit67ed7c34351c4601a4a7ed9d049d68cfacf93a12 (patch)
tree6cb6804bc8a6d92a487d3265ec2c3658642ea0dc /meta/lib/oeqa/selftest/sstatetests.py
parentfc8ceb758aff3905dd6dcbb140b0841522ff7a04 (diff)
downloadpoky-67ed7c34351c4601a4a7ed9d049d68cfacf93a12.tar.gz
oeqa: Add allarch sstate sig test
"allarch" targets should be MACHINE invariant. This means their sstate signature should not change regardless of which MACHINE is built. Errors keep creeping in around this area so automating this as part of self test seems the best way to maintain this. The "do_build" stamps are known to differ and are harmless so those are excluded from the test. (From OE-Core rev: 9f991103218f6fff67934b51411d31180d5d3e1a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/selftest/sstatetests.py')
-rw-r--r--meta/lib/oeqa/selftest/sstatetests.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/sstatetests.py b/meta/lib/oeqa/selftest/sstatetests.py
index 0a761671a0..1ce8773ff7 100644
--- a/meta/lib/oeqa/selftest/sstatetests.py
+++ b/meta/lib/oeqa/selftest/sstatetests.py
@@ -272,3 +272,37 @@ NATIVELSBSTRING = \"DistroB\"
272 files2 = [x.replace("tmp-sstatesamehash2", "tmp-sstatesamehash") for x in files2] 272 files2 = [x.replace("tmp-sstatesamehash2", "tmp-sstatesamehash") for x in files2]
273 self.assertItemsEqual(files1, files2) 273 self.assertItemsEqual(files1, files2)
274 274
275 def test_sstate_allarch_samesigs(self):
276 """
277 The sstate checksums off allarch packages should be independent of whichever
278 MACHINE is set. Check this using bitbake -S.
279 """
280
281 topdir = get_bb_var('TOPDIR')
282 targetos = get_bb_var('TARGET_OS')
283 targetvendor = get_bb_var('TARGET_VENDOR')
284 self.write_config("""
285TMPDIR = \"${TOPDIR}/tmp-sstatesamehash\"
286MACHINE = \"qemux86\"
287""")
288 self.track_for_cleanup(topdir + "/tmp-sstatesamehash")
289 bitbake("world -S none")
290 self.write_config("""
291TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\"
292MACHINE = \"qemuarm\"
293""")
294 self.track_for_cleanup(topdir + "/tmp-sstatesamehash2")
295 bitbake("world -S none")
296
297 def get_files(d):
298 f = []
299 for root, dirs, files in os.walk(d):
300 for name in files:
301 if "do_build" not in name:
302 f.append(os.path.join(root, name))
303 return f
304 files1 = get_files(topdir + "/tmp-sstatesamehash/stamps/all" + targetvendor + "-" + targetos)
305 files2 = get_files(topdir + "/tmp-sstatesamehash2/stamps/all" + targetvendor + "-" + targetos)
306 files2 = [x.replace("tmp-sstatesamehash2", "tmp-sstatesamehash") for x in files2]
307 self.maxDiff = None
308 self.assertItemsEqual(files1, files2)