1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

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>
This commit is contained in:
Richard Purdie
2015-08-25 17:56:53 +01:00
parent fc8ceb758a
commit 67ed7c3435
+34
View File
@@ -272,3 +272,37 @@ NATIVELSBSTRING = \"DistroB\"
files2 = [x.replace("tmp-sstatesamehash2", "tmp-sstatesamehash") for x in files2]
self.assertItemsEqual(files1, files2)
def test_sstate_allarch_samesigs(self):
"""
The sstate checksums off allarch packages should be independent of whichever
MACHINE is set. Check this using bitbake -S.
"""
topdir = get_bb_var('TOPDIR')
targetos = get_bb_var('TARGET_OS')
targetvendor = get_bb_var('TARGET_VENDOR')
self.write_config("""
TMPDIR = \"${TOPDIR}/tmp-sstatesamehash\"
MACHINE = \"qemux86\"
""")
self.track_for_cleanup(topdir + "/tmp-sstatesamehash")
bitbake("world -S none")
self.write_config("""
TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\"
MACHINE = \"qemuarm\"
""")
self.track_for_cleanup(topdir + "/tmp-sstatesamehash2")
bitbake("world -S none")
def get_files(d):
f = []
for root, dirs, files in os.walk(d):
for name in files:
if "do_build" not in name:
f.append(os.path.join(root, name))
return f
files1 = get_files(topdir + "/tmp-sstatesamehash/stamps/all" + targetvendor + "-" + targetos)
files2 = get_files(topdir + "/tmp-sstatesamehash2/stamps/all" + targetvendor + "-" + targetos)
files2 = [x.replace("tmp-sstatesamehash2", "tmp-sstatesamehash") for x in files2]
self.maxDiff = None
self.assertItemsEqual(files1, files2)