Add a test to ensure devtool update-recipe works properly on recipes
that contain only local files (since the other tests we have didn't test
that).
Relates to [YOCTO #10563].
(From OE-Core rev: bdc844b3f0c3fbddcd3523095899a5bd29797704)
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>
When you run devtool add on a source tree we attempt to figure out the
correct name and version for the recipe. However, despite our best
efforts, sometimes the name and/or version we come up with isn't
correct, and the only way to remedy that up until now was to reset the
recipe, delete the source tree and start again, specifying the name this
time. To avoid this slightly painful procedure, add a "rename"
subcommand that lets you rename the recipe and/or change the version.
(From OE-Core rev: 9303d8055c45a0f6af295d70a6f6a8b9d8d8a7c9)
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>
If a variable is being set in the recipe when we've explicitly passed
None as the value to _test_recipe_contents() indicating that it
shouldn't be set at all, then we should be printing out the variable
name in the assertion message but it seems like I forgot to do a
substitution. Also include the value for informational purposes.
(From OE-Core rev: 0dafcb158003fb13f82c266f607d9967fca321db)
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>
recipetool sets the LICENSE value based on licenses detected from the
source tree. If there are multiple licenses then they were being
separated by spaces, but this isn't actually legal formatting and if
you're using "devtool add" you get a warning printed when devtool
parses the recipe internally.
Earlier I had made a conscious decision to do it this way since it's up
to the user to figure out whether the multiple licenses should all apply
(in which case they'd be separated with &) or if there is a choice of
license (in which case | is the correct separator). However, I've come
to the conclusion that we can just default to & and then the ugly
warning goes away, and it's the safest alternative of the two (and most
likely to be correct, since it's more common to have a codebase which is
made up of code with different licenses, i.e. all of them apply to the
combined work).
I've tweaked the comment that we add to the recipe to explicitly state
that we've used & and that the user needs to change that if that's not
accurate.
Fixes [YOCTO #10413].
(From OE-Core rev: ecac6aee8cf3313350b58c21012bcd67cfb915e4)
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>
[YP#7202]: Test for linux-dummy
The new kernel.py file is intended for kernel related test cases.
The test for linux-dummy will ensure it is in good shape and can
be used as a kernel replacement at build time. To do this, the
test will first clean sstate for linux-dummy target, ensuring no
file is present in the stamps directory. After, core-image-minimal
is built, ensuring linux-dummy can be used as a kernel substitute.
(From OE-Core rev: 98c6ebf1e05158c689e01b785d32757847cdb10c)
Signed-off-by: Costin Constantin <costin.c.constantin@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the move to put image deployment under sstate control in
d54339d4b1a7e884de636f6325ca60409ebd95ff old images are automatically
removed before a new image is deployed (the default behaviour of the
sstate logic).
RM_OLD_IMAGE is therefore no longer required to provide this
behaviour, remove the variable and its users.
(From OE-Core rev: 93631befe8b962bf99524746b49f4ebca336175c)
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>
Deal with an interrupted system call gracefully:
| File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-systemd/build/meta/lib/oeqa/utils/sshcontrol.py", line 55, in _run
| if select.select([self.process.stdout], [], [], 5)[0] != []:
| InterruptedError: [Errno 4] Interrupted system call
(From OE-Core rev: 556125e4004fb7ac5169b59f51dc151f18c1806a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Test creation of sdimage-bootpart image
(From OE-Core rev: 8b18568591f66aa9770798bc61123898de92b8a9)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Test creation of systemd-bootdisk image.
(From OE-Core rev: b8eef88536b944ea35664b9a6a9496fb0a3f7988)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change aligns disk usage measurements of the eSDK test with the old
build-perf-test.sh script. And thus, also makes the results between the
old and the new script comparable.
(From OE-Core rev: dadb84936b3672dcf07e5ab8226158136762801f)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The NUC6 firmware tells the kernel to try and initialize an embedded
DisplayPort it does not have, causing this warning. Its harmless, so
just whitelist it.
Fixes [YOCTO #9434].
(From OE-Core rev: 4c3fb7f63aad4a5d1b9720c76091cd0646859c2a)
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following poky commit:
4359ef08 base.bbclass: Use bb.fatal() instead of raising FuncFailed
changed the way the fetcher error is reported.
Previous reporting:
...Function failed: Fetcher failure for URL:...
New reporting:
...Fetcher failure for URL:...
Updating how the check is done fixes the test error and accurately
confirms the tested scenario for test_invalid_recipe_src_uri.
[YOCTO #10370]
(From OE-Core rev: 197da17dc97cef87375ae9190c6d1495e1c615b9)
Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Switching between multilib configurations should not change allarch recipe
or nativesdk checksums. Add a new sstate test for this based on the standard
allarch test.
(From OE-Core rev: 660543601171f88c75fb4e90f34dac86037f3f23)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
StreamHandler was added due missing log information on the console in
oe-selftest with Qemu Runner
(From OE-Core rev: a4e2df151af781edbcb6b0e17b51b5ed226bf77f)
Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change only whitelists the timeout message in infinite
wait case in uvesafb driver.
With the latest timeout patch introducing infinite wait in
uvesafb driver, we whitelist the timeout message since it works
as a warning for issues related to timeout not to be fixed in
build servers.
We remove other errors for bug-discovering purposes in some cases
where these lines are still worthy to be caught (not whitelisted):
The removed errors show up again in the infinite wait case. It
indicates a different root cause or the timeout patch doesn't work
correctly.
Timeout happens when developers explicitly set a non-negative timeout
of a limited period to wait for task completion in uvesafb driver.
Timeout or/and errors occur when kernel doesn't have the latest
timeout patch in driver.
Note: The latest timeout patch is tracked by:
a2966330bc
[YOCTO #8245]
(From OE-Core rev: 2e15b478343c6703c37b9a45e61c9de200d98027)
Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we weren't testing the deb backaned for sstate correctness
and there was a bug that had crept in. Ensure we cover all package
backends with the test regardless of what the distro/conf sets.
(From OE-Core rev: cdaafc3729700778d95afc2413553d7b41c1317b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
galculator configure seems to be so old it does not
recognise --with-libtool-sysroot: regenerate configure.
Fixes [YOCTO #10191].
(From OE-Core rev: 3e838773462e77cb2e3ba9a69534260f89ca4904)
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This has always silently failed on hardware without AMD Northbridge,
and a recent kernel patch made it not silent. It would be ideal to only
whitelist the error for genericx86 MACHINEs and disable the CONFIG
option that enables it in intel-* MACHINEs, but in order to disable
this configuration option we would have to enable EXPERT and
DEBUG_KERNEL, which we don't want. Instead just whitelist it on all
x86 MACHINEs.
Fixes [YOCTO #10261].
(From OE-Core rev: 9c432dae1045a087f8eb2de7c9bd3a9cbd46c459)
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Selftests' cleanup method during test setup is not capable of
restoring local configuration files that remain modified after
aborting a test through a keyboard interruption.
This change creates backups for local.conf and bblayers.conf at
test setup, restore them when found, and deletes them at cleanup.
[YOCTO #9390]
(From OE-Core rev: 0877278e07e4c2494c4c23199490dc47a5cee69d)
Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This test has a bitbake invocation that is expected to fail, so inhibit
report-error running.
(From OE-Core rev: b2771e17a5f301423f65be9f93c9c1b1e7f8ab93)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>