aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest
AgeCommit message (Collapse)Author
2017-03-01oeqa/selftest: Drop http sstate sharingRichard Purdie
Using httpServer from python for sharing sstate is known to be buggy, it can't cope with the number/type of requests coming from bitbake and quietly fails to share files. This causes intermittent build failures which are hard to debug. We can use a file:// url for the sstate mirror instead, removing the need for the http server. The sdk-update test is simply dropped since the SDK is never published to this location and hence it would never have any update. Its equiavalent to pointing at an empty web server. There is a better eSDK update test in testsdk so rather than improve this one, lets drop it and concentrate on the one there. (From OE-Core rev: 7606f05e48ad2e31650e3a56bfcd04b4fbfad1e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01oelib/buildhistory.py: Add unittest for buildhistory_analysisHumberto Ibarra
The buildhistory_analysis module (in which buildhistory-diff is based) was lacking unittest for its functions. Created selftest module for this and a few testcases to cover basic cases. [YOCTO #10727] (From OE-Core rev: d868816ecb470d59216eecc97ef5d42261625cc1) Signed-off-by: Humberto Ibarra <humberto.ibarra.lopez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01selftest: Optimize get_bb_var useMariano Lopez
get_bb_var calls bitbake every time it is used and every call would take about 7 seconds. There are tests that calls get_bb_var several times when they can use get_bb_vars. Also there are tests that calls it to fetch the same variable over and over again. This will optimize the use of get_bb_var and get_bb_vars for a little speed up in the tests. [YOCTO #11037] (From OE-Core rev: e53f86ba8aeb6d2e9eb259329001d27d62401072) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01selftest: Avoid sstate corruption by calling cleansstateMariano Lopez
Currently selftest doesn't use sstates because some tests clean sstate cache; using sstates would give a performance boost instead of building everything from scratch. With this sstates are not corrupted using different methods depending on tests: devtool: These tests needed to delete the cache so SSTATE_DIR as SSTATE_MIRRORS and set a temporal SSTATE_DIR. sstatetests: This module already used a temporal SSTATE_DIR, so just set up the SSTATE_MIRRORS. Rest: Removed cleansstate, some of them required to force a certain task, others were just removed or changed for another task. [YOCTO #10929] (From OE-Core rev: 62c61087a10cc3b26fbff32c9e2efd1704a39724) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-23selftest/eSDK.py: Cleanup when there is an error in setUpClassMariano Lopez
Lately autobuilders are experiencing hangs with selftest, it seems it is cause if an error happens in setUpClass method of oeSDKExtSelfTest class because HTTP server keeps running in background. This patch will ensure tearDownClass will be run if there is an error in setUpClass. (From OE-Core rev: eb1383949f76c6eb36f86c051057f761a71016a3) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-23oeqa: fix typoHumberto Ibarra
The word 'uninstall' was spelled incorrectly in various parts of oeqa files. (From OE-Core rev: af365e025030436f83b233fa51ecc9c58c58ce3c) (From OE-Core rev: 9d25188e873645b849584b51a77b86588a51d4ba) Signed-off-by: Humberto Ibarra <humberto.ibarra.lopez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-19selftest/containerimage.py: Add container IMAGE_FSTYPES testRandy Witt
This test checks to make sure only the files expected exist in a container image. Currently only ROOTFS_BOOTSTRAP_INSTALL, gets added to all images without the user specifying it. But this test should help if a developer in the future ever silently adds more than just ROOTFS_BOOTSTRAP_INSTALL, and that the developer can make sure it also gets removed from a container image. [YOCTO #9502] (From OE-Core rev: 4f5e5321fafe491f91d78a35d11afc0dc0527d4b) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-19oeqa/selftest/bbtests: Update after changes to dependency graph file generationRichard Purdie
(From OE-Core rev: 36a7470cacfe56931948ee865bd9ef46a7303ced) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-15selftest/wic: Add tests for --exclude-dir option.Kristian Amlie
Based partially on an earlier patch by Maciej Borzecki. Note that because tools now reside in recipe specific sysroots, we need to import the path from bitbake and apply it during the test. (From OE-Core rev: c826233ad08ee5a4b9943a05d4e73f3fb3281588) Signed-off-by: Kristian Amlie <kristian.amlie@mender.io> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-07oeqa/selftest/pkgdata: use m4 instead of bashRoss Burton
The pkgdata test broke due to oe-core cf0fd8b which added alternatives support to bash, so the binary is now /bin/bash.bash. Instead of fixing the test case for this new name, use the m4 recipe instead as it has less build dependencies. (From OE-Core rev: 68da6c98841f4450736ae170e443aa744c8b77eb) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-05sdkext/cases oeqa/selftest: Updates decoratorsFrancisco Pedraza
Updates decorators for eSDK in test cases at: sdkext/cases/devtool.py and oeqa/selftest/eSDK.py (From OE-Core rev: 36783b17085e73bbf47242e87bbf054352ae0a9d) Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-05selftest: wic: stop using iso image typeEd Bartosh
Removed 'IMAGE_FSTYPES = "iso" as this functionality depends on do_bootimg, which is going to be obsoleted soon. As wic doesn't depend on bootimg it's safe to remove this. (From OE-Core rev: a08e2019223d7c04916967d8fd42279e8e1e186f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-05selftest: wic: use wic-tools recipe to get STAGING_DIREd Bartosh
STAGING_DIR variable is used to get path to a boot dir. It's better to use wic-tools recipe to it as it contains all bootloader artifacts. Modified test_build_artifacts and test_rootfs_artifacts to use wic-tools target to get STAGING_DIR. (From OE-Core rev: eb648ac5566fbcc679e8544fd8403a730ce71058) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-02selftest/runtime-tests: Modify positins test to reduce execution timeJose Perez Carranza
Currently test_postinst_roofs_and_boot is building a full-cmdline image this is taking a lot of time to execute the test, so a minimal image will be build instead. (From OE-Core rev: 3a6b0b9f94b7097a825edf3fe258a2f86b73edd6) Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-02selftest/bbtests: use write_config instead of local.conf fileLeonardo Sandoval
Extra configuration data should be write using the write_config method instead of manually appending to the local.conf file (From OE-Core rev: 65c26d51eedc687c92e8ade262d24dc53ca71cec) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-02selftest: wic: stop using hddimg in FSTYPESEd Bartosh
Removed hddimg from FSTYPES in wic test suite as wic doesn't depend on hddimg anymore. [YOCTO #10835] (From OE-Core rev: a332d9618c2d0f46b6c0c8fdeee8bec4cc73f2cf) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31selftest: wic: fix test_iso_image test caseEd Bartosh
Added "iso" to IMAGE_FSTYPES to build iso artifacts required to fix test of isoimage-isohybrid wic plugin. (From OE-Core rev: 055d6814f6de2e54ae27c5fa2e0c40e3e531590e) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31selftest: stop using hddimg in the wic test suiteEd Bartosh
Removed hddimg from IMAGE_FEATURES as wic code doesn't use hddimg anymore. [YOCTO #10835] (From OE-Core rev: 885a5beae86a55cc228fb2aa998a8b1135371eb4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31wic: Look for image artifacts in a common locationTom Zanussi
Rather than have each image type look for artifacts in image-specific locations, move towards having them look for artifacts in a common location, in this case DEPLOY_DIR_IMAGE Use the existing deploy.bbclass to have the bootloaders put their binaries in DEPLOY_DIR_IMAGE and then wic will find them and place them in the image (From OE-Core rev: 1c8acea91e775b1b6f8b25e774aaba3e790fc59b) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31image-wic: remove HDDDIR from WICVARSEd Bartosh
Removed HDDDIR as it's not used by wic anymore. Stopped usage of HDDDIR in wic test suite. (From OE-Core rev: b3ed3a79852f85651c8fa192a8118f9904e88ef8) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31wic: use INITRD_LIVE in isoimage-isohybridEd Bartosh
INITRD variable is not set if hddimg is disabled. isoimage-isohybrid can't get correct name for initrd if INITRD variable is not set. Added INITRD_LIVE to WICVARS and used it in isoimage-isohybrid code to get initrd artifact name. Used INITRD if INITRD_LIVE is not set. (From OE-Core rev: c672753be60550b15d5d593c251b61776d5b104d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31selftest: check results in test_image_vars_dir*Ed Bartosh
Tested that result images are produced in test_image_vars_dir_long and test_image_vars_dir_short test cases. (From OE-Core rev: 9ed399b99e40ec9ec76df1fbdedfb8104a463acc) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31selftest: split wic tests casesEd Bartosh
Split tests to run wic only once per test case. This should fix failures caused by result images left from the previous wic run. (From OE-Core rev: 71e3c631bac859d00cef05bbf7bd901a96bac520) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31wic: change location of .env filesEd Bartosh
Current location of .env files $STAGING_DIR/imagedata. It doesn't depend on machine and be rewritten by the builds for different machines. Changed location to $STAGING_DIR/$MACHINE/imagedata to avoid .env files to be rewritten. (From OE-Core rev: 94245144f5cef344d90bc2a7b3267cdae9d192e4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31selftest: wic: test default output directoryEd Bartosh
As tests now explicitly specify output directory we don't need test_alternate_output_dir test case. However, we need to test wic output to default output location. Removed test_alternate_output_dir test case. Added test_default_output_dir test case. (From OE-Core rev: c1be1161cf555727aa56ee2109ee77f420f67c9f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31selftest: wic: explicitly specify output directoryEd Bartosh
wic started to use current directory as a default output dir. Specified output directory in wic command line to make tests more predictable and easier to maintain. (From OE-Core rev: 0f205aed90edd90fcba0a565a6cadfe96339b410) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28selftest: wic: split test_debug test caseEd Bartosh
Splitted to test_debug_short and test_debug_long to make each of the test cases to run wic once. This is consistent with the rest of the test cases and ensures that test cases are set up properly. This also fixes the following test failure caused by the image left from the first wic run: FAIL: test_debug (oeqa.selftest.wic.Wic) Test debug ---------------------------------------------------------------------- Traceback (most recent call last): File "meta/lib/oeqa/utils/decorators.py", line 109, in wrapped_f return func(*args, **kwargs) File "meta/lib/oeqa/selftest/wic.py", line 270, in test_debug self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) AssertionError: 1 != 2 (From OE-Core rev: a453009821d7d7cb1dd8a7ae05c0d32227b4753b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26selftest: sstatetests: skip glibc-initial tests in case of non-glibc distroLeonardo Sandoval
Some distros uses non-glibc so skip those tests requiring glibc-initial as target (From OE-Core rev: 41f02cb7307faec32b13733e41f78a0ebdc1b52b) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26selftest/imagefeatures: skip weston test if required features are not presentLeonardo Sandoval
Also, remove hard-coded features because the image already contains them. (From OE-Core rev: 899680840d497343095d0e7d7264e3e278ba4602) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23oeqa/selftest: Adds test case for sdk-update eSDKFrancisco Pedraza
1. Test case adds perl recipe before build eSDK. 2. After this added recipe, the script verifies the update: ${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh oe-publish-sdk [esdk] [path-to-http] CORE_IMAGE_EXTRA_INSTALL = "perl" bitbake -c populate-sdk-ext [some-image] devtool sdk-update This should fix [YOCTO #9369] (From OE-Core rev: 21bd406bf89e9ceafe1a807877406be817cacca6) Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23selftest/runtime-test.py: Adapt test to use new runtime frameworkMariano Lopez
This adapt the current runtime selftest to use the new runtime framework. (From OE-Core rev: cfeec8a59ba03f98944fd3dca1a67d80e7edb4c9) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23selftest: fixed 3 wic test casesEd Bartosh
Fixed test_systemd_bootdisk, test_wic_image_type and test_qemu test cases by building core-image-minimal with correct configuration. (From OE-Core rev: 897fe85d34302953c98d07ade4fa2dd749ae2d22) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23selftest: wic: don't set WKS_FILEEd Bartosh
Setting WKS_FILE variable should be done only when wic image is expected to be built by bitbake. If it's set for all images it breaks image building in some cases. (From OE-Core rev: 46b84310f7df157c2ef290a60f5c2136d4206f09) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23wic: fixed test_iso_image test caseEd Bartosh
Fixed isoimage-isohybrid plulgin and correspondent wic tet case: - used wic-tools target when getting varlue of STAGING_LIBDIR variable - ensured that image is built with efi and hddimg enabled (From OE-Core rev: 5878484da64c38c7fde45bb06d76e22e608eb022) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23image.bbclass: put .env files to ${STAGING_DIR}/imgdata/Ed Bartosh
As STAGING_DIR_TARGET started to point to a recipe specific sysroot wic is not able to add .env files when .wks file refers to multiple rootfs recipes. Used STAGING_DIR instead of STAGING_DIR_TARGET to make the directory with .env files the same for all recipes. (From OE-Core rev: 3797cfd7473d3f9b7c0d999dcf9cd9608c8c7c6c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23wic: fix getting path of native sysrootEd Bartosh
wic used STAGING_DIR_NATIVE variable as a path to native sysroot. This doesn't work with recipe specific sysroots as STAGING_DIR_NATIVE points to the native sysroot of the current recipe. Used RECIPE_SYSROOT_NATIVE variable of wic-tools recipe to fix the issue. (From OE-Core rev: de9d7d14cd03e4dfc5812890a53c79b706b56537) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23selftest: build wic-tools in the Wic.setUpEd Bartosh
Built wic-tools recipe instead of set of tools recipes to ensure that all tools are available from one recipe sysroot. (From OE-Core rev: 52ce14d5ea667ffd319fdb3e147b6eb29505cf8e) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23selftest/devtool: Update to account for recipe specific sysrootRichard Purdie
There is no common sysroot any more so add the libusb dependency using DEPENDS and check for the output in the sysroot output directory so the tests work with recipe specific sysroots. (From OE-Core rev: ff30b833a423d300ec2b81bf80ef6733a6d8039b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23Switch to Recipe Specific SysrootsRichard Purdie
This patch is comparatively large and invasive. It does only do one thing, switching the system to build using recipe specific sysroots and where changes could be isolated from it, that has been done. With the current single sysroot approach, its possible for software to find things which aren't in their dependencies. This leads to a determinism problem and is a growing issue in several of the market segments where OE makes sense. The way to solve this problem for OE is to have seperate sysroots for each recipe and these will only contain the dependencies for that recipe. Its worth noting that this is not task specific sysroots and that OE's dependencies do vary enormously by task. This did result in some implementation challenges. There is nothing stopping the implementation of task specific sysroots at some later point based on this work but that as deemed a bridge too far right now. Implementation details: * Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in TMPDIR/sysroot-components/PACKAGE_ARCH/PN. * WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE. * This construction is primarily done by a new do_prepare_recipe_sysroot task which runs before do_configure and consists of a call to the extend_recipe_sysroot function. * Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot dependencies. * We have to do a search/replace 'fixme' operation on the files installed into the sysroot to change hardcoded paths into the correct ones. We create a fixmepath file in the component directory which lists the files which need this operation. * Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each time a new loader is added. These are handled by adding files in bindir with the name prefixed by "postinst-" and are run in each sysroot as its created if they're present. This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them. * Since a recipe can have multiple tasks and these tasks can run against each other at the same time we have to have a lock when we perform write operations against the sysroot. We also have to maintain manifests of what we install against a task checksum of the dependency. If the checksum changes, we remove its files and then add the new ones. * The autotools logic for filtering the view of m4 files is no longer needed (and was the model for the way extend_recipe_sysroot works). * For autotools, we used to build a combined m4 macros directory which had both the native and target m4 files. We can no longer do this so we use the target sysroot as the default and add the native sysroot as an extra backup include path. If we don't do this, we'd have to build target pkg-config before we could built anything using pkg-config for example (ditto gettext). Such dependencies would be painful so we haven't required that. * PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy for each machine. The paths therefore changed, the behaviour did not. * The ccache class had to be reworked to function with rss. * The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal recipe name therefore remains a bad idea. * The logic in insane needed tweaks to deal with the new path layout, as did the debug source file extraction code in package.bbclass. * The logic in sstate.bbclass had to be rewritten since it previously only performed search and replace on extracted sstate and we now need this to happen even if the compiled path was "correct". This in theory could cause a mild performance issue but since the sysroot data was the main data that needed this and we'd have to do it there regardless with rss, I've opted just to change the way the class for everything. The built output used to build the sstate output is now retained and installed rather than deleted. * The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold up against testing. This has been rewritten too. There are some assumptions made about paths, we save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is here works but is a little hardcoded and an area for future improvement. * In order to work with eSDK we need a way to build something that looks like the old style sysroot. "bitbake build-sysroots" will construct such a sysroot based on everything in the components directory that matches the current MACHINE. It will allow transition of external tools and can built target or native variants or both. It also supports a clean task. I'd suggest not relying on this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have to have built that in a previous bitbake invocation. * pseudo is run out of its components directory. This is fine as its statically linked. * The hacks for wayland to see allarch dependencies in the multilib case are no longer needed and can be dropped. * wic needed more extensive changes to work with rss and the fixes are in a separate commit series * Various oe-selftest tweaks were needed since tests did assume the location to binaries and the combined sysroot in several cases. * Most missing dependencies this work found have been sent out as separate patches as they were found but a few tweaks are still included here. * A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my hand. That implementation can probably be neater but this is on the list of things to cleanup later at this point. In summary, the impact people will likely see after this change: * Recipes may fail with missing dependencies, particularly native tools like gettext-native, glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors * Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst * There was a separate patch series dealing with roots postinst native dependency issues. Any postinst which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS. There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean we've found all the issues. Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the task logfiles, not the console so I've intentionally left this like that for now. We can turn it down easily enough in due course. (From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20oe-selftest: devtool: remove use of git -CPaul Eggleton
The -C option isn't available in versions of git older than 1.8.5, and officially we only require git 1.8.3.1 or newer (and the latter is the version you'll find on CentOS 7, so the test fails there). In any case we can simply specify the working directory to runCmd() so just do that instead. (From OE-Core rev: ce5c7075d530c0950f2feed35f95fbcd9f50721f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19oeqa/selftest/devtool: rewrite modify testcaseRoss Burton
The modify testcase had to be updated as it started failing when mdadm was upgraded due to hardcoding version numbers in the test. I then noticed how inefficient the test was and mostly rewrote it. Start by changing the minor modification to change "Linux Software RAID" (the subtitle of the man page) to "antique pin sardine" (a nonsense phrase that is unlikely to appear upstream), and neaten the logic. Start by not removing sstate at the beginning of the test. To ensure builds happen we can use -f and -C, and iterating the sstate cache is time consuming. Don't bitbake mdadm repeatedly until it stabilizes, we can start with bitbake -C unpack to ensure that a full build is done from scratch. os.path.join has the interesting quirk that join(/foo, /bar) results in /bar, so use oe.path.join instead of working around that manually. Don't repeatedly call get_bb_var(), each call results in a call to bitbake. These changes reduce the runtime of the test from over 600 seconds to around 160 seconds on my machine. (From OE-Core rev: fc97963bc61bf16112859fe1d7e460a13d34baca) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19oeqa/selftest/tinfoil: add test IDs to tinfoil test casesJose Perez Carranza
Testopia entrances were created and the IDs retrieved are added to their corresponding test case on tinfoil script. (From OE-Core rev: 486e5ad8270a4d3897f477ae5ae61422826f93ce) Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest: runtime-test: skip image-install test for poky-tinyLeonardo Sandoval
poky-tiny cannot build full-cmdline image, so skip this test in this case. (From OE-Core rev: c2b1c562db160876fc3e1ee8b15bd07136d6ea7a) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest: devtool: use distro agnostic recipes for devtool checksLeonardo Sandoval
The recipes being replaced are not compatible with all distros, so use mraa and virtual/make for some checks. (From OE-Core rev: bb32b232d686d1c057dede6f61ed4051b0088673) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest/base: don't fetch DISTRO variable in constructorRoss Burton
Fetching the DISTRO variable in the base constructor means that we have to start bitbake for every test case instance, which adds minutes to the startup time. (From OE-Core rev: ac1c118dcb3cb27807b55115ef274a92bb512dd6) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest/bblayers: don't fetch a variable that is never usedRoss Burton
(From OE-Core rev: f812f9518ef01abbdd9a6f415e5dc92263135f87) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest/archiver: don't build an image for a basic testRoss Burton
This test only exercises the include/exclude behaviour so it only needs to build the two recipes that it tests against, not an entire image. Part of #10874. (From OE-Core rev: 9b02216be6c9dbf2f680db1ad1309bcb9fb32b23) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest/buildoptions.py: fix path assumption for DEPLOY_DIR_SRCChen Qi
Fix path assumption for DEPLOY_DIR_SRC, otherwise, the testcase may fail even if the functionality works well. (From OE-Core rev: dab5d3901755a965cdd8f5b5e8ffb8e4cb79f2e5) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16selftest/bbtests.py: fix path assumption for LICENSE_DIRECTORYChen Qi
Fix path assumption for LICENSE_DIRECTORY, otherwise, the test case may fail even if the functionality it tests works well. (From OE-Core rev: ae388652b8de0665390560e78429e10119d4d537) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16oe-selftest: devtool: Add test for externalsrc buildcleanOla x Nilsson
Test both for S == B and S != B. (From OE-Core rev: 3b46c1ac203717d85a1e2e8da067a69f066b7037) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>