]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
selftest/sstatetests: add tests for 'bitbake -S printdiff'
authorAlexander Kanavin <alex.kanavin@gmail.com>
Mon, 23 Oct 2023 11:06:16 +0000 (13:06 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 27 Oct 2023 09:53:09 +0000 (10:53 +0100)
commit7a7d76aa8a8d590ebc99156f9f4b9535cdf868c7
treeb28bf1de5139d5d54161450fb4dd8a35e7866fe4
parent977820725c39736061b649389864a53e112e213d
selftest/sstatetests: add tests for 'bitbake -S printdiff'

'bitbake -S printdiff' is a useful diagnostic facility for finding out
why sstate is not being reused, but until now it had no tests that would
ensure it works. This commit adds three basic scenarios:

1. make a change in a really basic, common recipe that is at the very root
of dependency trees (quilt-native), and ensure that change is correctly discovered when
building an image.

2. make a change in gcc-source recipe, which is somewhat special
(operates in work-shared), and ensure that gcc-runtime builds track
that down as well.

3. make a change in base_do_configure() definition from base.bbclass,
which is not recipe-specific, but affects many basic recipes, and ensure that
is correctly reported as well.

The test itself actually runs twice:
- first against a fully populated build directory, where
the printdiff code is guaranteed to find the correct previous
stamp that can be compared with in a predictable manner.

- then in an empty build directory where the printdiff code
goes to look in the sstate cache, and so the existence of the
previous signature can be tested, but not the difference with it
(what the exact difference would be is unpredictable as the
sstate cache is indeed shared between many builds).

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta-selftest/classes/base-do-configure-modified.bbclass [new file with mode: 0644]
meta-selftest/recipes-test/gcc-source/gcc-source_%.bbappend [new file with mode: 0644]
meta-selftest/recipes-test/quilt-native/quilt-native_%.bbappend [new file with mode: 0644]
meta/lib/oeqa/selftest/cases/sstatetests.py