summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* wic: selftest: avoid COMPATIBLE_HOST issuesMaciej Borzecki2017-03-221-1/+40
| | | | | | | | | | | | | | | | | Wic tests will unconditionally attempt to build images that may require dependencies that are incompatible with current target. Resolve this by consulting HOST_ARCH first (which defaults to TARGET_ARCH) before proceeding to build images that may be incompatible. A convenience decorator only_for_arch() can be used to skip test cases for specific architectures. (From OE-Core rev: ff46125082f08eb93cc549bbe1d79c3b8f9cba64) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: wic: replace directdisk with wictestdisk where possibleMaciej Borzecki2017-03-221-32/+32
| | | | | | | | | | | Use wictestdisk instead of directdisk thus allowing more tests to be run on non-x86 compatible machines. (From OE-Core rev: 071785b01cdaa0d35808fa0b7308162cfebf54f1) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: remove test_sanity_unsafe_binary_referencesRoss Burton2017-03-221-19/+0
| | | | | | | | | | | This test was attempting to exercise a broken test, for some reason this broke with patches under review but investigation revealed that the test itself is broken. The test has been removed, so there's no need to test it. (From OE-Core rev: 4f5f552cd6601ba244ef4efc782616bc477e1340) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: tinfoil: add tests for recently enabled datastore operationsPaul Eggleton2017-03-221-0/+35
| | | | | | | | | | | | | | | A recent patch to bitbake fixes these datastore operations so that they actually affect the server end, so we should test that they work. (For full disclosure, some of these tests would probably pass without those fixes, since the operation would be done on the client side instead - but we are at least exercising the code paths.) (From OE-Core rev: 4eb3c705b9cadccacdb191ae89f5242a00f397f3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oeqa: change sdk test from cvs to cpiobrian avery2017-03-222-8/+8
| | | | | | | | | | | | | | | We currently fetch,configure,build, and install cvs as our test for the sdk. cvs unfortunately, requires a default editor in order to run. The change in 94790a8254d6 that checks to see if you have something like vi installed is fragile since you may have a different default editor. This patch switches from using cvs as a test to using cpio. cpio also uses autotools so the functionality tested is equivalent. (From OE-Core rev: 233d36b0382a8b2e430c3377e50885d1a0c3ba21) Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/devtool: Add test to verify "modify virtual/kernel"Jose Perez Carranza2017-03-221-0/+85
| | | | | | | | | | | | | | The purpose of this test case is to verify that devtool modify works correctly when building the kernel. [YOCTO #10817] (From OE-Core rev: 0fa3d331df7d5a5fbd8431febc75efe6bcc6f96b) 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>
* meta: replace uses of bb.data.expand(VARNAME, d) with d.expand(VARNAME)Joshua Lock2017-03-221-1/+1
| | | | | | | | | | | bb.data.expand(x, d) is deprecated API. [YOCTO #10678] (From OE-Core rev: a361babe443da635aed83be46679067457fd6a58) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: configure guest networkingEd Bartosh2017-03-221-0/+13
| | | | | | | | | | | | | | Configured guest network interface through serial connection when kernel is not run by qemu. This should make it possible to test wic images with testimage. [YOCTO #10833] (From OE-Core rev: 2032d9be26b539bf867622c0090fb4696209eba9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: get network params from runqemu outputEd Bartosh2017-03-221-14/+22
| | | | | | | | | | | | Parsed runqemu output to get guest network configuration if it's not present in runqemu command line. [YOCTO #10833] (From OE-Core rev: d4d7ed48c1cff1351ddc2f60bcfa153c373a8ab8) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/path.py: fix for "Argument list too long"Robert Yang2017-03-171-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Issue: LIN9-1648 Fixed when len(TMPDIR) = 410: $ bitbake core-image-sato-sdk [snip] Subprocess output: /bin/sh: /bin/cp: Argument list too long ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Function failed: do_rootfs [snip] This is because "copyhardlinktree(src, dst)" does "cp -afl src/* dst", while src/* is expanded to "src/file1 src/file2, src/file3..." which causes the "Argument list too long", use ./* as src and change cwd in subprocess.check_output() to fix the problem. (From OE-Core rev: a3dc93eb25fba32109edd1db6e8766074fb52e4b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager: fix "exlcude" vs. "exclude" typoPaul Gortmaker2017-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | Which results in: -------------------------------- 0557: package_exclude = self.d.getVar('PACKAGE_EXCLUDE') *** 0558: exclude_pkgs = (bad_recommendations.split() if bad_recommendations else []) + (package_exlcude.split() if package_exclude else []) 0559: 0560: output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) + 0561: (["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) + 0562: (["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == 1 else []) + Exception: NameError: name 'package_exlcude' is not defined ERROR: cube-builder-initramfs-1.0-r0 do_rootfs: Function failed: do_rootfs --------------------------------- Cc: Alexander Kanavin <alexander.kanavin@linux.intel.com> (From OE-Core rev: cee1bdc09f4bbfedcd7cac06b48ba9d195c29e62) Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dnf: add /usr/bin/dnf symlink that points to /usr/bin/dnf-2Alexander Kanavin2017-03-172-2/+2
| | | | | | | | | | | All documentation refers to dnf binary as 'dnf' yet make install does not create one - it's done by Fedora's spec file when building the rpm. Let's replicate this behavior. (From OE-Core rev: 456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/signing.py: verify that images can be created from signed packagesAlexander Kanavin2017-03-171-0/+8
| | | | | | | (From OE-Core rev: e53b93181ea1723ddeeb75c4195e9412e64721c0) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: import rpm signing key to rpmdbMarkus Lehtonen2017-03-171-2/+10
| | | | | | | | | | | | | Import the gpg key used in rpm signing into rpmdb. This makes it possible again to create images when rpm signing is enabled. Also, instruct dnf to enforce signature check if rpm signing is enabled. (From OE-Core rev: f30c1653cc5ef9daf594cbd3faad329b9fa08ab7) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rpm: add support for remote package feeds via PACKAGE_FEED_URIS variableAlexander Kanavin2017-03-172-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've used a previous patch (which was never merged) by Humberto Ibarra <humberto.ibarra.lopez@intel.com> as a model for how to do runtime testing of this feature (e.g. we need to boot an image, run dnf on it, and check that it is indeed able to access the remote repo over http). Here's his original commit message: ===== Testing that feeds specified with PACKAGE_FEED_URIS var are set correctly has two parts. First a build with this var set is required, and then smart update needs to be issued in the running taget. The previous is not a common selftest practice because this is a simple test, but requires building and running a specific image, which takes a lot of time. testimage is not a good fit either, since the images tested there do not have the PACKAGE_FEED_URIS var set. For this test, the runtime-test module is being used, which is a selftest module but runs a testimage command. The var and test environment were set in runtime-perf.py and the actual test is done in a new testcase added to meta-selftest layer. ===== [YOCTO #10872] (From OE-Core rev: 3a9e2fdef9316e24b52ce99ac355fc2b09786c72) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: Disable SSTATE_MIRRORS for sstate signing testRichard Purdie2017-03-161-0/+2
| | | | | | | | | | | | | | | | | | | Building ed into an sstate mirror, then leaving it enabled for oe-selftest -r signing.Signing.test_signing_sstate_archive results in: NOTE: recipe ed-1.14.1-r0: task do_populate_lic_setscene: Started WARNING: ed-1.14.1-r0 do_populate_lic_setscene: Failed to fetch URL file://29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig;downloadfilename=29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig, attempting MIRRORS if available ERROR: ed-1.14.1-r0 do_populate_lic_setscene: Fetcher failure: Unable to find file file://29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig;downloadfilename=29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig anywhere. The paths that were searched were: /media/build1/poky/build/test-sstate /media/build1/poky/build/test-sstate WARNING: ed-1.14.1-r0 do_populate_lic_setscene: Cannot verify signature on sstate package /media/build1/poky/build/test-sstate/29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz NOTE: recipe ed-1.14.1-r0: task do_populate_lic_setscene: Succeeded so we need to disable SSTATE_MIRRORS for this test. (From OE-Core rev: 2ce9962851fe58c099599679340fd87e90f426ec) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: selftest: account for occasional newline in debugfs file namesMaciej Borzecki2017-03-141-4/+21
| | | | | | | | | | | | | | | | | | | | Debugfs output may contain a newline in file names in 'ls -p' output. Make sure that output is correctly split into lines by matching '/\n' and newlines are removed from file names. Fixes the following error appearing in AB tests: Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 388, in test_exclude_path files = [line.split('/')[5] for line in res.output.split('\n')] File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/wic.py", line 388, in <listcomp> files = [line.split('/')[5] for line in res.output.split('\n')] IndexError: list index out of range (From OE-Core rev: 477805b913a6c4b4b630e42f08cd9e59f1e4e254) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Fix various rpmdeps relocation issuesRichard Purdie2017-03-141-2/+5
| | | | | | | | | | | | | | | | | There are several issues with rpmdeps after the rpm v5 -> v4 transition: * _rpmfc_magic_path is an invalid option for rpm4 * --rpmpopt is an invalid option for rpm4 * we need to use the path to rpmrc since otherwise it poitns at the original build path * we need to set MAGIC in the environment so libmagic can find its files. This patch addresses those and ensures rpmdeps works in relocated builds from sstate (or with rm_work). (From OE-Core rev: 806e37264d7102ae982867350ad8363ed3e5f475) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* run-postinsts: simplify the logic of whether to install it to imagesAlexander Kanavin2017-03-141-1/+1
| | | | | | | | | | The logic is scattered all over the place, but amounts to "install, unless the rootfs is read only". Let's express that directly. (From OE-Core rev: 697804229a172125ce7d3bfc9b343812d6fe3240) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: no need to parse gpg output to determine the name of the ↵Alexander Kanavin2017-03-141-7/+1
| | | | | | | | | | | | signing key The parsing fails on my machine, and we use a key with a hardcoded name, and so can provide it directly. (From OE-Core rev: b69bad2c4e51a24868422f39619a0598fd2a0533) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gpg_sign.py: fix signing of rpm files using gpgAlexander Kanavin2017-03-142-7/+8
| | | | | | | | | | | | This means a) calling rpmkeys and rpmsign instead of rpm b) instructing gpg to run non-interactively; otherwise on my machine it pops up windows requesting a key passphrase (From OE-Core rev: f82f270df2da59702026721612563aea57cd77eb) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: update output checks in incremental image test to match what dnf ↵Alexander Kanavin2017-03-141-2/+2
| | | | | | | | | prints (From OE-Core rev: 6c434a711c0d281ecc9aeff488b63b80a338b229) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: do not perform a full build in test_continueAlexander Kanavin2017-03-141-1/+1
| | | | | | | | | | | | This was fetching and building the toolchain and everything else against empty download dir and sstate cache, and so was enormously slow. The test does not need that, it only checks that one fetch task fails and another succeeds when using bitbake's -k option. (From OE-Core rev: 19cdac1a625189eb4a41ce5a7a204b08729c1b92) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: fix runtime test for rpm, port smart tests to dnfAlexander Kanavin2017-03-145-213/+123
| | | | | | | (From OE-Core rev: 749a496d273f9fd378588e309cf976294584ca5f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs_rpm.bbclass: migrate image creation to dnfAlexander Kanavin2017-03-143-988/+229
| | | | | | | | | To properly look at this patch, you probably need a side-by-side diff viewing tool. (From OE-Core rev: 65581c68d130fa74d703f6c3c92560e053857ac7) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager.py: improve the API for insert_feed_uris()Alexander Kanavin2017-03-142-20/+26
| | | | | | | | | | No need to store the configuration as class members, just pass it directly into the method. (From OE-Core rev: a5cc38481be3c5e6ccbecf951f9fdc049e5101d5) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/selftest/bbtests: update test_non_gplv3 to use selftest-edJoshua Lock2017-03-101-3/+3
| | | | | | | | | | | | | | GPLv2 recipes have been moved to a new layer (meta-gplv2), instead of readline perform this test on the selftest-ed recipe in meta-selftest which has gplv2 and gplv3 variants. Tested with oe-selftest -r bbtests.BitbakeTests.test_non_gplv3 (From OE-Core rev: 35b244b292cddb3ded31c2766fb1313511343f06) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/selftest/oescripts: make test_cleanup_workdir use selftest-edJoshua Lock2017-03-101-5/+5
| | | | | | | | | | | | | | Use a recipe which is bundled in the meta-selftest layer for this test, rather than relying on OE-Core remaining static (or updating the tests when OE-Core changes recipes). Tested with oe-selftest -r oescripts.TestScripts.test_cleanup_workdir (From OE-Core rev: f8aabeb1a755f3312782a7b64fe863c155510b33) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: remove extra backslashes from debug outputEd Bartosh2017-03-081-2/+2
| | | | | | | | | | | | | | | Remove unneeded backslashes from the format strings that caused debug output to look confusing: 2017-03-06 16:52:42,428 - selftest.base - DEBUG - Removing from: ... \IMAGE_FSTYPES = "wic" WKS_FILE = "mkefidisk.wks" (From OE-Core rev: 6b7f8f81307720b0a6c1ef4af5200dec9b8ef789) 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>
* qemurunner.py: ignore decode errorsEd Bartosh2017-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | qemu output can contain control characters. This cause qemurunner API to crash when decoding the output to utf-8: Traceback (most recent call last): File "/usr/lib64/python3.4/threading.py", line 911, in _bootstrap_inner self.run() File "meta/lib/oeqa/utils/qemurunner.py", line 472, in run threading.Thread.run(self) File "/usr/lib64/python3.4/threading.py", line 859, in run self._target(*self._args, **self._kwargs) File "meta/lib/oeqa/utils/qemurunner.py", line 465, in threadtarget self.eventloop() File "meta/lib/oeqa/utils/qemurunner.py", line 526, in eventloop self.logfunc(data) File "meta/lib/oeqa/utils/qemurunner.py", line 77, in log msg = msg.decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 0: unexpected end of data Added errors='ignore' to decode call to fix this. (From OE-Core rev: 4a46dd5190d97fdcb6297a0c1d8c824d425c4c51) 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>
* selftest: test wic efi image in qemuEd Bartosh2017-03-081-0/+14
| | | | | | | | | | | | Added test_qemu_efi test case to wic test suite. It uses ovmf qemu extention to test mkefidisk image. (From OE-Core rev: 770b87d903644641da41594193ee61b564dd99e9) 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>
* targetcontrol: add image_fstype argument to commands.runqemuEd Bartosh2017-03-082-4/+4
| | | | | | | | | | | | | | | | | | qemu runner picks up first fsimage type from the hard-coded list of supported types. This makes it impossible to test particular image type unless it's not ext4(first type in the hardcoded list of types). Added image_fstypes argument to commands.runqemu and QemuTarget __init__ to specify type of the image to run qemu with. This will be used to pass wic image type to test efi wic images. (From OE-Core rev: f1f224a2d4d3f2a760632c2254e91a8f94c8814f) 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>
* qemurunner: add runqemuparams argument to commands.runqemuEd Bartosh2017-03-084-7/+7
| | | | | | | | | | | | | | | Added possibility to pass additional runqemu parameters down the stack of APIs: commands.runqemu -> QemuTarget.start -> QemuRunner.start This will be used to pass ovmf parameter in testing of efi wic images under qemu. (From OE-Core rev: 5aa4b5a10fb8191cd3453d09701c8beeff9a952f) 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>
* lib/oe/package.py: remove @ from package nameAnders Darander2017-03-041-0/+1
| | | | | | | | | | | @ isn't allowed in package names. Angular2 packages often have @ in their names. (From OE-Core rev: 3c4291bc58bcc5c66ef539eed29b7c37ac968a06) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: Ensure dependencies for ↵Richard Purdie2017-03-031-0/+1
| | | | | | | | | | | test_extend_autotools_recipe_creation are present test_extend_autotools_recipe_creation needs libxml2 so ensure this is installed/present as it may not be in the minimal eSDK case. (From OE-Core rev: fb274c7fe588c556936a0df1ae583907875c2a76) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext: don't skip tests if there isn't a toolchainRoss Burton2017-03-011-7/+0
| | | | | | | | | | | Skipping the tests if a toolchain wasn't installed out of the box (for example, a minimal eSDK) doesn't make sense as the first thing the tests should do is install a toolchain. (From OE-Core rev: 1e776c1a7f4827f5a14c00dbffae0bdfb027e21e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: use finally instead of repeating cleanupRoss Burton2017-03-011-25/+10
| | | | | | | | | | | | | Use the finally: block to always to cleanup. Now that the test harness in testsdk.bbclass has monkey-patched CalledProcessException to display the output we don't need to do that in the test case. (From OE-Core rev: 9f0f6326083ee76b72b431fbfcbe12c1ab2793b2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: add output to subprocess exceptionsRoss Burton2017-03-012-9/+19
| | | | | | | | | | | | | Out of the box subprocess.CalledProcessError.__str__() just displays the command and exit code, which isn't very useful for debugging. Add a function to oeqa.utils.subprocesstweak to monkey-patch __str__() so that it can also display the value of stdout and stderr. (From OE-Core rev: c55401ba1646202fa36e4973b05dbacaa146cb16) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/esdk/devtool: clean setUpClass/tearDownClassRoss Burton2017-03-011-12/+12
| | | | | | | | | | | | These methods are class not instance methods, so the argument should be cls not self. Also don't put variables into cls that we don't need there. (From OE-Core rev: 6ecd671fb09486b5852c47f06b5db372a2eb082b) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Drop http sstate sharingRichard Purdie2017-03-011-39/+16
| | | | | | | | | | | | | | | | | | | | 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>
* oeqa/sdkext/context: Work around broken dependency checks to get sdk tests ↵Richard Purdie2017-03-011-0/+8
| | | | | | | | | | | | | | | running This is admitted a bit of a hack but it does allow a number of significant sdk tests to run successfully and hence improves testing of eSDK which is good. I'm therefore proposing we do this until we come up with a better solution since the current lack of testing is worrying and would have caught other issues had it been present. (From OE-Core rev: 633b95ea32bbccf59b341a9d37b0b11027b48a63) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqs/sdk*/case: Use universal_newlines for subprocess callsRichard Purdie2017-03-012-2/+2
| | | | | | | | | This removes the need for some of the ugly decode calls with hardcoded locales. (From OE-Core rev: a14dddc77e553d2fa90d12576503dd3fc2e52bbc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext: Ensure we run a deterministic set of testsRichard Purdie2017-03-011-2/+2
| | | | | | | | | | The directory list of sdk tests to run can vary so this code effectively selects a random set of SDK tests to run in the eSDK. We want to attemp all the SDK tests so remove the element selection. (From OE-Core rev: 11365d869c03cb0e476ea43e75ce27090a33dfa7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: rename recipe name to match upstreamRoss Burton2017-03-011-1/+1
| | | | | | | | | | Call the generated recipe librdfa instead of bb-example to make it clearer what is happening. (From OE-Core rev: c59b82ec151618bb4bcb1953b8ca7d23255d3357) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oelib/buildhistory.py: Add unittest for buildhistory_analysisHumberto Ibarra2017-03-011-0/+88
| | | | | | | | | | | | | | 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>
* oeqa/core/loader.py: Avoid importing tests with built-ins nameMariano Lopez2017-03-011-0/+11
| | | | | | | | | | | | | | | If importing a test with the same name as a built-in module, it will silently import the built-in and check for tests in built-in module. This happened with syslog module in debian based machines, so add a raise to avoid this behavior. [YOCTO #10978] (From OE-Core rev: d9548f981448307b042807373e469f0d0b110bfe) 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>
* oeqa/core/loader.py: Give meaningful error when failed to load classesMariano Lopez2017-03-011-4/+4
| | | | | | | | | | | With this we get the class that is actually having the problem, not just a TypeError with an unknown class causing the error. (From OE-Core rev: d6ff4891376417504018af27e8e729a412feeeea) 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>
* selftest: Optimize get_bb_var useMariano Lopez2017-03-0117-174/+206
| | | | | | | | | | | | | | | | | | 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>
* selftest: Avoid sstate corruption by calling cleansstateMariano Lopez2017-03-018-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* lib/oe/gpg_sign: fix rpm signing with gpg > 2.1Markus Lehtonen2017-03-011-0/+2
| | | | | | | | | | | | | We need to check the gpg version and alter its command line options accordingly. [YOCTO #11054] (From OE-Core rev: 44a44b7e582a5a654baf21829d168568481c13d9) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>