After making changes to the autobuilder to build a minimal eSDK we observed unexpected eSDK sanity test failures. This is because the tests implicitly rely on a full eSDK installer, rather than installing any required components into the eSDK before testing. In order to enable minimal eSDK installers on the autobuilder, and therefore for publishing with project releases, we need the eSDK sanity tests to handle running against a minimal eSDK installer.
I just ran: $ . oe-init-build-env $ echo 'SDK_EXT_TYPE = "minimal' >> conf/local.conf $ bitbake core-image-minimal core-image-sato -c populate_sdk_ext $ echo 'INHERIT += "testsdk"' >> conf/local.conf $ DISPLAY=:1 bitbake core-image-minimal core-image-sato -c testsdkext and I successfully could reproduce the error.
Hi, Currently there is no way to see what is installed in the extensible sdk see bug [1], so i suggest to add a checking like [2] but this will end in no tests runs on FULL eSDK because of the bug [1]. [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9038 [2] http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/lib/oeqa/sdk/gcc.py#n9
(In reply to comment #2) > Hi, > > Currently there is no way to see what is installed in the extensible sdk see > bug [1], so i suggest to add a checking like [2] but this will end in no > tests runs on FULL eSDK because of the bug [1]. > > [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9038 > [2] > http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/lib/oeqa/sdk/gcc. > py#n9 I think the missing package is autotools, right Joshua?
(In reply to comment #3) > (In reply to comment #2) > > Hi, > > > > Currently there is no way to see what is installed in the extensible sdk see > > bug [1], so i suggest to add a checking like [2] but this will end in no > > tests runs on FULL eSDK because of the bug [1]. > > > > [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=9038 > > [2] > > http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/lib/oeqa/sdk/gcc. > > py#n9 > > I think the missing package is autotools, right Joshua? Thanks Anibal, working on it.
Implemented the same procedure as sdk/gcc.py if not oeSDKTest.hasHostPackage(" " + machine): skipModule("SDK doesn't contain a cross-canadian toolchain"). Getting good skiping, however I got a regression for "test_extend_autotools_recipe_creation", will check this tomorrow.
(In reply to comment #5) > Implemented the same procedure as sdk/gcc.py > if not oeSDKTest.hasHostPackage(" " + machine): > skipModule("SDK doesn't contain a cross-canadian toolchain"). > Getting good skiping, however I got a regression for > "test_extend_autotools_recipe_creation", will check this tomorrow. I just noticed that gcc is not installed on minimal and that could be the failure. Still working on it.
Currently that's by design, unless SDK_INCLUDE_TOOLCHAIN = "1" is set. The expectation is that you use devtool exclusively or you install the toolchain using devtool sdk-install.
Created bug https://bugzilla.yoctoproject.org/show_bug.cgi?id=10958 due some issues after modified files at "~/oeqa/sdk/buildiptables.py" and "~/oeqa/sdk/buildcvs.py". That bug blockes this one.
(In reply to comment #7) > Currently that's by design, unless SDK_INCLUDE_TOOLCHAIN = "1" is set. The > expectation is that you use devtool exclusively or you install the toolchain > using devtool sdk-install. Thank you Paul, I just fixed this. Regards
Pushed to contrib: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=fjpedraz/eSDK_sanity_tests
Moved to "In Progress Review" http://lists.openembedded.org/pipermail/openembedded-core/2017-January/131773.html already sent the patch.
Fix commited in master: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=aca3afcb592ef4ff070760ab2aafba03152a57fb
https://autobuilder.yoctoproject.org/main/builders/nightly-x86-64/builds/1132/steps/Running%20ESDK%20Sanity%20Tests/logs/stdio The tests are not updated for minimal test cases, they just skip some of the tests but not all of them so the tests still fail. In a minimal SDK the SDK has nothing in the sysroot. I think the first thing the tests need to do is populate the SDK sysroot, which means running: $ bitbake <IMAGENAME> -c rootfs- (trailing hyphen)
oe-core 20c6e876ed6b8c8ac007848e2b36e9a8a56bb703 contains all the fixes.