summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* oeqa/sdkext/devtool: use a smaller module to test node.js functionalityPaul Eggleton2016-09-161-1/+1
| | | | | | | | | | | | | | | The "forever" package, despite its innocent description, actually drags in a surprising number of dependencies and as a result the nodejs test takes up to 10 minutes as a result. Pick a different example with a much more reasonable set of dependencies. Addresses part of [YOCTO #10254]. (From OE-Core rev: 638ee71da967f093071ba25e0ea5c467dab65339) 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>
* qemurunner: print out the runqemu commandbavery2016-09-161-3/+5
| | | | | | | | | | | | | This logs the launch command that was used for runqemu while running -c testimage. This way, if I'd like to easily launch qemu manually in order to debug a failed test, I know what commmand was run to create the qemu instance. (From OE-Core rev: 34aa20c6f323bbf7ad53beb643126e4e03634708) Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest: show stderr when running commandsRoss Burton2016-09-161-3/+2
| | | | | | | | | | To help debug failures, redirect stderr to stdout in oeSDKTest.run() and oeSDKExtTest.run(). (From OE-Core rev: 4cd143e0de7f0082f60f273f442f6255f28ec3e7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/decorators: LogResults fix race condition in linkfileAníbal Limón2016-09-151-0/+14
| | | | | | | | | | | | | | | | | | | | In order to avoid race condition when test if exists the linkfile use bb.utils.lock, the best solution is to create a unique name for the link file. There is no way to create a unique linkfile name at this decorator because is needed the machine and image variables, those variables can't be passed easily in this code. To avoid broke test export functionality use a try/except because bb isn't available when use test export [YOCTO #10225] (From OE-Core rev: 059d475b6bce1e5414170a4fe2e7989f6b0eacd6) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa.runtime.smart: work around smart race issues"Richard Purdie2016-09-141-25/+0
| | | | | | | | We have a proper fix now so we can remove the workaround. This reverts commit 4d268abc2fc892c5d34449f78c8e9f2b1a9d6bac. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/copy_buildsystem: fix building eSDK with indirect paths in BBLAYERSPaul Eggleton2016-09-141-2/+2
| | | | | | | | | | | | | | | | | | Indirect paths (e.g. ${TOPDIR}/../meta-something) do generally work if used in BBLAYERS in bblayers.conf. However, if you built an extensible SDK with this configuration then the creation of the workspace within the SDK using devtool in do_populate_sdk_ext failed. This is because the copy_buildsystem code was no longer correctly recognising that the core layer ("meta") was part of a repository (e.g. openembedded-core / poky) that should be shipped together - because of the indirection - and thus it was splitting out the meta directory, and a number of places in the code assume that the meta directory is next to the scripts directory. Use os.path.abspath() to flatten out any indirections. (From OE-Core rev: 7c0788cd2390fd0e1ec84bc9dbebcb67daee429f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: cleanup d.getVar(var, 1)Robert Yang2016-09-141-2/+2
| | | | | | | | (From OE-Core rev: 79fe476be233015c1c90e9c3fb4572267b5551d1) 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>
* oeqa: Remove linux user utilized for rpm test.Edwin Plauchu2016-09-141-6/+26
| | | | | | | | | | | | | | | When trying to re-test smart rpm tests. A fail arises due to a linux user previously created upon the image. We've added a few lines to delete such user and his home dir when finishing test. [YOCTO #9204] (From OE-Core rev: d1a80ac434bb798634bbb792ff7df59148ec26be) Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: another fix for splitting 'nevr' stringMarkus Lehtonen2016-09-141-0/+5
| | | | | | | | | | | | | | | | When processing buildstats we determine recipe name, epoch, version and revision from the per-recipe buildstat directory name. One previous patch made an assumption that package version starts with a number. That might not be true because of a packaging mistake or whatever reason. Thus, if a version starting with a number is not found, fall back to the "old" method of just taking the second-last dash-delimited part (the one before revision). (From OE-Core rev: 936eb9aac055f1d4f41bb351477a0f5bebf76a0e) 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>
* oeqa/parselogs: Don't use cwd for file transfersRichard Purdie2016-09-141-2/+8
| | | | | | | | | | | | | | | | | | | | If you run: MACHINE=A bitbake <image> -c testimage MACHINE=B bitbake <image> -c testimage and A has errors in parselogs, machine B can pick these up and cause immense confusion. This is because the test transfers the log files to cwd which is usually TOPDIR. This is clearly bad and this patch uses a subdir of WORKDIR to ensure machines don't contaminate each other. Also ensure any previous logs are cleaned up from any existing transfer directory. (From OE-Core rev: ac8f1e58ca3a0945795087cad9443be3e3e6ead8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.runtime.smart: work around smart race issuesMarkus Lehtonen2016-09-091-0/+25
| | | | | | | | | | | | | | | Yucku hack around test failures which ultimately are caused by a race in smartpm itself. Issuing smartpm commands in quick succession causes races in package cache of smartpm on some systems. This patch mitigates the problem by sleeping for 1 second after each smartpm command that modifies the system. [YOCTO #10244] (From OE-Core rev: 4d268abc2fc892c5d34449f78c8e9f2b1a9d6bac) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/smart: Prune feeds to save memoryRichard Purdie2016-09-091-0/+4
| | | | | | | | | | | | Full package feed indexes overload a 256MB image so reduce the number of rpms the feed. Filter to p* since we use the psplash packages and this leaves some allarch and machine arch packages too. [YOCTO #8771] (From OE-Core rev: f352c3b71cbf50846c7de31046202296b38713cc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Use snapshot instead of copying the rootfs imageRichard Purdie2016-09-092-8/+3
| | | | | | | | | | | | | | Rather than copying images, use the snapshot option to qemu. This fixes a regression caused by the recent runqemu changes where the wrong images were being testes since the image is copied without the qemuboot.conf file. This means the latest image is found by runqemu rather than the specified one, leading to various confused testing results. It could be fixed by copying more files but use snapshot mode instead. (From OE-Core rev: eab91997d415b0e690b3482749a32087e6a8b00a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner.py/qemutinyrunner.py: remove runqemu-internalRobert Yang2016-09-092-2/+2
| | | | | | | | | There is no runqemu-internal any more. (From OE-Core rev: 14bacf7203ab7a638b67eb143225d8c75bbb703d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Whitelist qemux86 error message with qemu 2.7.0Robert Yang2016-09-091-0/+1
| | | | | | | | | | | | | | | | | | | | | qemu 2.7.0 introduces kernel errors: [ 2.310768] pci 0000:00:00.0: [11ab:4620] type 00 class 0x060000 [ 2.311338] pci 0000:00:00.0: [Firmware Bug]: reg 0x14: invalid BAR (can't size) [ 2.311604] pci 0000:00:00.0: [Firmware Bug]: reg 0x18: invalid BAR (can't size) [ 2.311835] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size) [ 2.312063] pci 0000:00:00.0: [Firmware Bug]: reg 0x20: invalid BAR (can't size) [ 2.312323] pci 0000:00:00.0: [Firmware Bug]: reg 0x24: invalid BAR (can't size) [ 2.314320] pci 0000:00:0a.0: [8086:7110] type 00 class 0x060100 [ 2.315363] pci 0000:00:0a.1: [8086:7111] type 00 class 0x010180 Whitelist this for now since this is preferable to the random failures we're seeing from qemuppc with 2.6.0. (From OE-Core rev: 4d542cdc86c34f0f4a3dde8b0aab059bca76a9fb) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Whitelist qemuppc error message with qemu 2.7.0Richard Purdie2016-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | qemu 2.7.0 introduces kernel errors: [0.474981] pci 0000:00:0f.0: reg 0x10: [io 0x0400-0x041f] [0.483796] pci 0000:00:0f.0: reg 0x20: can't handle BAR above 4GB (bus address 0xffffffff82800000) [0.484204] pci 0000:00:0f.0: reg 0x20: [mem size 0x00800000 64bit pref] [0.488077] pci 0000:00:0f.0: reg 0x30: [mem 0x83000000-0x8303ffff pref] [0.488903] pci 0000:00:10.0: [1af4:1005] type 00 class 0x00ff00 [0.490485] pci 0000:00:10.0: reg 0x10: [io 0x0480-0x049f] [0.496512] pci 0000:00:10.0: reg 0x20: can't handle BAR above 4GB (bus address 0xffffffff83800000) [0.496783] pci 0000:00:10.0: reg 0x20: [mem size 0x00800000 64bit pref] [0.500345] pci 0000:00:11.0: [1af4:1001] type 00 class 0x010000 [0.501790] pci 0000:00:11.0: reg 0x10: [io 0x0500-0x053f] [0.507362] pci 0000:00:11.0: reg 0x20: can't handle BAR above 4GB (bus address 0xffffffff84000000) [0.507677] pci 0000:00:11.0: reg 0x20: [mem size 0x00800000 64bit pref] [0.513905] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 [0.516493] PCI 0000:00 Cannot reserve Legacy IO [io 0x0000-0x0fff] [0.517512] pci 0000:00:0f.0: BAR 4: assigned [mem 0x80800000-0x80ffffff 64bit pref] [0.518877] pci 0000:00:10.0: BAR 4: assigned [mem 0x82800000-0x82ffffff 64bit pref] [0.519890] pci 0000:00:11.0: BAR 4: assigned [mem 0x83800000-0x83ffffff 64bit pref] Whitelist this for now since this is preferable to the random failures we're seeing from qemuppc with 2.6.0. (From OE-Core rev: 2472ed5393ab01ad79c011ea19c73224ed5125de) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: support files with subdir=Paul Eggleton2016-09-081-2/+10
| | | | | | | | | | | | | | | | | | | | | It's rare but there are recipes that have individual files (as opposed to archives) in SRC_URI using subdir= to put them under the source tree, the examples in OE-Core being bzip2 and openssl. This broke devtool update-recipe (and devtool finish) because the file wasn't unpacked into the oe-local-files directory and thus when it came time to update the recipe, the file was assumed to have been deleted by the user and thus the file was erroneously removed. Add logic to handle these properly so that this doesn't happen. (We still have another potential problem in that these files become part of the initial commit from upstream, which could be confusing because they didn't come from there - but that's a separate issue and not one that is trivially solved.) (From OE-Core rev: 9069fef5dad5a873c8a8f720f7bcbc7625556309) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: handle non-UTF8 encoding when reading patchesPaul Eggleton2016-09-081-10/+18
| | | | | | | | | | | | | | When extracting patches from a git repository with PATCHTOOL = "git" we cannot assume that all patches will be UTF-8 formatted, so as with other places in this module, try latin-1 if utf-8 fails. This fixes UnicodeDecodeError running devtool update-recipe or devtool finish on the openssl recipe. (From OE-Core rev: 579e4d54a212d04cfece2c9fc0635d7ac1644058) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: be sure to use the latest buildstatsMarkus Lehtonen2016-09-081-1/+1
| | | | | | | | | | Be sure to take the latest buildstats if multiple buildstats are found. (From OE-Core rev: bad495f0d0144728a0132c3d3c4d98c24ead4afd) 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>
* oeqa.buildperf: try harder when splitting 'nevr' stringMarkus Lehtonen2016-09-081-2/+4
| | | | | | | | | | | | | | Try to be more intelligent when splitting out recipe name, epoch, version and revision from the buildstat directory name. Previous assumption was that package versions never contain a dash but obviously that is not necessarily true. The new assumption is that the package version starts with a number. (From OE-Core rev: 91d3fce1eb3e27d646afba8cf3c03ae560412d1d) 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>
* oeqa.buildperf: correct globalres time formatMarkus Lehtonen2016-09-061-1/+1
| | | | | | | | | | Always use two digits for (integer part of) seconds, i.e. show '1:02.34' instead of '1:2.34'. (From OE-Core rev: 55bb6816aca39bfa25d4f7e2158a57a5f0ac1cca) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/liboe: add a test for copyhardlinktree()Joshua Lock2016-09-061-0/+29
| | | | | | | | | | | Add a simple test to validate that the number of files in the destination matches the number of files in the source after the copyhardlinktree() has been performed. (From OE-Core rev: ca5c718b309524e46818627f8b5c9260d009472d) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.path: fix copyhardlinktree()Joshua Lock2016-09-061-3/+6
| | | | | | | | | | | | | | | | | The change to preserve extended attributes in copytree() and copyhardlinktree() (e591d69103a40ec4f76d1132a6039d9cb1555103) resulted in an incorrect cp invocation in copyhardlinktree() when the source directory contained hidden files. This was because the passed src was modified in place but some code paths expected it to remain unmodified from the passed value. Resolve the issue by constructing a new source string, rather than modifying the passed in string. (From OE-Core rev: 2b9fdd8448c2c29418d1c3fca9fe1789466f09b4) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/parselogs: Add qemuarm64 warning from 4.8 kernel to whitelistRichard Purdie2016-09-051-0/+1
| | | | | | (From OE-Core rev: ae865fee26d2a32ae07236fc7aa1cf1b234a2156) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/parselogs/qemuarm: Whitelist amba and jitter for 4.8+ kernelsBruce Ashfield2016-09-051-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the update to the 4.8 kernel the versatile platform (and hence qemuarm) has switched to a device tree boot. We are using an ummodified mainline kernel versatilepb device tree, which includes definitions of multiple amba devices. These devices are not present in the qemu system emulation, hence throw warnings during boot. These warnings are not unique to oe-core, and rather than carry kernel patches to the device tree (for now), we whitelist the known warnings so qa testing will pass. We also can't turn amba off completely, since it is providing valid devices (like the serial port) and AMBA is force selected by other kconfig values. We also have a jitterentropy warning that shows up on some hosts. This warning is harmless, and like amba we can't turn it off in a fragment since it is force selected by crypto (and we'd rather not turn all crypto off). So we add it to the whitelist while investigations continue into what is needed in the host to support this fully. (From OE-Core rev: f5315b8c7998611da9984fd6bce2b48d6304ff6c) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Deploy images to IMGDEPLOYDIREd Bartosh2016-09-042-5/+5
| | | | | | | | | | | | | | | | | Changed deployment directory from DEPLOY_DIR_IMAGE to IMGDEPLOYDIR to make sstate machinery to do final deployment and generate manifest. Renamed variable deploy_dir to deploy_dir_image in selftest code to avoid confusion with DEPLOYDIR variable. Updated the code of rootfs.py:Rootfs class to use IMGDEPLOYDIR variable as it's now used as a new deployment destination. (From OE-Core rev: 6d969bacc718e21a5246d4da9bf9639dcae29b02) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest Adds eSDK test cases to devtool verification.Francisco Pedraza2016-09-031-0/+103
| | | | | | | | | | The covered functions are, install libraries headers and image generation binary feeds. (From OE-Core rev: 994f8a41a16d0b82a1f7dfbcbbcc1df08225b14e) Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* /oeqa/sdkext Adds verification for devtool on eSDK.Francisco Pedraza2016-09-033-7/+103
| | | | | | | | | | | The covered funcions are, build make, build esdk package, build cmake extend autotools recipe creation, kernel module, node.js installation and recipe creation. (From OE-Core rev: 574a5d4cf3e79815aecc4d198545119d3bbfb023) Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch: commit with a dummy user/email when PATCHTOOL=gitPaul Eggleton2016-09-031-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | When using PATCHTOOL = "git", the user of the system is not really the committer - it's the build system itself. Thus, specify "dummy" values for username and email instead of using the user's configured values. Various parts of the devtool code that need to make commits have also been updated to use the same logic. This allows PATCHTOOL = "git" and devtool to be used on systems where git user.name / user.email has not been set (on versions of git where it doesn't default a value under this circumstance). If you want to return to the old behaviour where the externally configured user name / email are used, set the following in your local.conf: PATCH_GIT_USER_NAME = "" PATCH_GIT_USER_EMAIL = "" Fixes [YOCTO #8703]. (From OE-Core rev: 765a9017eaf77ea3204fb10afb8181629680bd82) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: fix test after recent changePaul Eggleton2016-09-031-1/+3
| | | | | | | | | | | | OE-Core commit d3057cba0b01484712fcee3c52373c143608a436 fixed handling of wildcard bbappends, which means that this test's expectations about the bbappend file name are no longer met. devtool finish is meant to use wildcard bbappends so fix the test accordingly. (From OE-Core rev: 21603566e4a2e709dcb4a940b49d870c91c822be) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.selftest.liboe: add test for xattr in copytreeJoshua Lock2016-09-031-1/+32
| | | | | | | | | | Add a test to ensure that oe.path.copytree() preserves extended attributes on files. (From OE-Core rev: 2b047b8e3218f95978e41fee13635bff9af03dd6) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.path: preserve xattr in copytree() and copyhardlinktree()Joshua Lock2016-09-031-3/+8
| | | | | | | | | | | | | | | | Pass appropriate options to tar invocations in copytree() and copyhardlinktree() to ensure that any extended attributes on the files are preserved during the copy. We have to drop the use cpio in "Copy-pass" mode in copyhardlinktree() because cpio doesn't support extended attributes on files. Instead we revert back to using cp with different patterns depending on whether or not the directory contains dot files. (From OE-Core rev: e591d69103a40ec4f76d1132a6039d9cb1555103) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.selftest: add a test for oe.path.copytree()Joshua Lock2016-09-031-0/+33
| | | | | | | | | | | | One motivation for the use of cpio in oe.path.copytree() was to ensure that files with spaces in their names were copied. Add a new unittest module to test the OE module with a test case for copytree with a spaces in a filename. (From OE-Core rev: a408f8310d9426db4439cf8db0cf49f9bfe90b3b) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: include commands log file name in results.jsonMarkus Lehtonen2016-09-031-5/+9
| | | | | | | (From OE-Core rev: b22a71cf3a53a33763ff02608119d2c73cbde006) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: include buildstats file name in results.jsonMarkus Lehtonen2016-09-032-8/+17
| | | | | | | | | No need to do lsdir magic for finding buildstats when reading results. (From OE-Core rev: 4502f0979bf2e8698bb196345b89b170641fd43f) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: show skipped tests in results, tooMarkus Lehtonen2016-09-031-1/+2
| | | | | | | (From OE-Core rev: 4112779f9f314148b475fc4b8e33146de8be6b27) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: convert buildstats into json formatMarkus Lehtonen2016-09-031-3/+66
| | | | | | | | | | | | Instead of archiving buildstats in raw text file format convert all buildstats into one json-formatted file. Some redundant information, i.e. 'Event:', 'utime:', 'stime:', 'cutime:' and 'cstime:' fields, are dropped. (From OE-Core rev: efcf74b194f2a40eb3e6359dd41386db3eb25287) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: measure io statMarkus Lehtonen2016-09-031-2/+9
| | | | | | | | | Add data from /proc/<pid>/io to system resource measurements. (From OE-Core rev: e69a46a77854fac1169a09e0c5b70fa4b972255a) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: don't use Gnu timeMarkus Lehtonen2016-09-031-33/+39
| | | | | | | | | | | | | Use Python standard library functionality instead of the time utility for measuring elapsed (wall clock) time of commands. The time.* log files are also ditched. However, the same detailed resource usage data, previously found in time.* logs is now provided in results.json file. This data is collected through the resource module of Python. (From OE-Core rev: d5ad818dd501b18379aa3540bffa9b920d7c3bab) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: rename buildstats directoriesMarkus Lehtonen2016-09-031-2/+3
| | | | | | | | | | | | Change directory name from 'buildstats-<test_name>' to just 'buildstats'. However, this patch adds the possibility to label buildstats directory name with a postfix which makes it possible to save multiple buildstats per test, for example. (From OE-Core rev: 8997556040b2e7bfcfa6a75d4d97eb2e32207217) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: separate output dir for each testMarkus Lehtonen2016-09-031-1/+2
| | | | | | | | | | Store the output data of each test in an individual subdirectory instead of storing everything in the root output directory. (From OE-Core rev: 64ff34df96aa9a74dd4303f76ec711aa5e9d5030) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: strip date from buildstats directory pathMarkus Lehtonen2016-09-031-1/+5
| | | | | | | | | | Archive buildstats in a directory like 'buildstats' instead of something like 'buildstats/20160513120000'. (From OE-Core rev: 95138cdc70bb7f9b7ab74e1d83305f009790dccc) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: enable json-formatted resultsMarkus Lehtonen2016-09-031-0/+40
| | | | | | | | | | Automatically create a json.formatted file (results.json) in the results directory that contains results from all tests. (From OE-Core rev: 6df3263531a41805b2280bb999cb4a73f9f91eae) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: add 'product' to test result dataMarkus Lehtonen2016-09-031-0/+1
| | | | | | | | | | This defaults to 'oe-core' but can be defined using the OE_BUILDPERF_PRODUCT environment variable. (From OE-Core rev: a22cc3e04001be5d11bd85dbdceb7088cae7c735) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: treat failed measurements as errorsMarkus Lehtonen2016-09-031-23/+13
| | | | | | | | | | | Now failed measurements correctly cause a test failure (recorded as an error). There should be no need to continue the test if one step fails, especially now that the tests don't depend on each other. (From OE-Core rev: 446e32aadc775ca146d12173b1463f524d7fe6ef) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: make tests independentMarkus Lehtonen2016-09-032-3/+14
| | | | | | | | | | | | | | | | | Add test set-up functionality so that the individual tests do not depend on each other. This should make sure that a failure in one test does not affect the results of another test. The patch also makes it reasonable to run only a subset of the tests by using the --run-tests option. The increase in total execution time of the full suite - caused by the additional set-up steps - is insignificant because normally no additional tasks need to be run. The previous test has already done all set-up work. (From OE-Core rev: 69b3c63e32d09ea4a41b21daacdff6bf1fc447c1) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: fix checking of invalid resultsMarkus Lehtonen2016-09-031-1/+1
| | | | | | | | | The test status check done when writing globalres log was incorrect. (From OE-Core rev: 3efbd49fd80d2b349a8fd44dbcd509168dbc1061) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: allow removal of unneeded packagesStephano Cetola2016-08-251-1/+3
| | | | | | | | | | | | | | | Current functionality allows for the removal of certain packages based on the read-only image feature. This patch extends this functionality by adding the FORCE_RO_REMOVE variable, which will remove these packages regardless of any image features. [ YOCTO #9491 ] (From OE-Core rev: cfb869ffd4c37c3cc8e6b3eb732c1a7b7cfc3cb0) Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-build-perf-test: add {git_commit_count} keyword for --commit-results-tagMarkus Lehtonen2016-08-251-0/+1
| | | | | | | | | | | Makes it possible to create easily sortable tags. Also, the default tag format is updated to use the new keyword. (From OE-Core rev: e3161654d75dfc3b059c519205b38b26e3ffb215) 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>
* oeqa.buildperf: add git commit count to result dataMarkus Lehtonen2016-08-251-7/+11
| | | | | | | | | | | This number represents the number of commits since the beginning of git history until the tested revision. This helps e.g. in ordering results. (From OE-Core rev: b52070dd057ff5b410cd193f9be2f25bc4c506cc) 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>