]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
testimage.bbclass: change test failure logging from bb.fatal() to bb.error()
authorMikko Rapeli <mikko.rapeli@linaro.org>
Wed, 20 Nov 2024 10:10:07 +0000 (12:10 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 21 Nov 2024 12:14:20 +0000 (12:14 +0000)
bb.fatal() exists right away while bb.error() does some cleanup
before exiting. Fixes running tests during image build with TESTIMAGE_AUTO
multiple times in a row when some of the tests fail:

$ killall -9 Cooker ; bitbake -c clean core-image-base ; \
bitbake core-image-base ; \
bitbake core-image-base

With bb.fatal() something in cleanup is not done and second
image build builds an empty rootfs into .wic image.
Workaround is to kill Cooker processes between bitbake calls,
or to switch testimage.bbclass from bb.fatal() to bb.error()
logging which is done here.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/testimage.bbclass

index 19075ce1f3095e499051ff7ab823809a1c3a845a..5463170fa53f820041e99b8ddba056af1f0fff99 100644 (file)
@@ -399,9 +399,9 @@ def testimage_main(d):
     os.symlink(d.getVar("BB_LOGFILE"), os.path.join(targetdir, os.path.basename(d.getVar("BB_LOGFILE") + "." + d.getVar('DATETIME'))))
 
     if not results or not complete:
-        bb.fatal('%s - FAILED - tests were interrupted during execution, check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
+        bb.error('%s - FAILED - tests were interrupted during execution, check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
     if not results.wasSuccessful():
-        bb.fatal('%s - FAILED - also check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
+        bb.error('%s - FAILED - also check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
 
 def get_runtime_paths(d):
     """