Handle the case a name has already been extended in the nativesdk case
(avoids double name extensions which can happen with nativesdk-gcc).
(From OE-Core rev: 608ceb14ebc144102a0f9c2d449d9cb54b8f77b9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If start() returns False due to create_socker() failing, stop() may still get
called and currently this gives a track back since server_socket doesn't exist.
Avoid this.
(From OE-Core rev: 26fb69ec663afd05134822dc5e48fc8928ea5bf1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For debugging purposes, 5 lines often isn't useful as it doesn't even
cover a full backtrace. Show 25 instead.
(From OE-Core rev: 5b3ff562b2c56df301fc402c8b84420d8d4e5705)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We've had a few cases on the autobuilder where we've lost logs of
the boot and been unable to debug it further. Show this information
onto the console to be more useful.
(From OE-Core rev: 5302b7b8fa1349ae99040fe8fdcc4e42c722cc10)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the common code we now have to run QEMU instead of running it
ourselves, avoiding reliance on the machine showing up at 192.168.7.2.
This also makes a copy of the image rather than using -snapshot so if we
need to inspect the image after a failure, we can.
Fixes [YOCTO #7928].
(From OE-Core rev: 3d3748a237bb06ce7d9520bf485ef0c6cf1adc86)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These tests were _deleting_ meta-intel if it happened to appear under
COREBASE, which could have been catastrophic if there was any work in
progress in that directory. It turns out we don't even need meta-intel,
but we do need a machine that's set up appropriately (e.g.
genericx86-64). Tests that involve layers outside of OE-Core don't
really belong in OE-Core, and genericx86-64 is in meta-yocto-bsp;
however we will soon have the capability to have selftest tests in other
layers, so remove this here so we can add a fixed version in
meta-yocto-bsp after that happens.
(From OE-Core rev: 7bf55e7b8036bb09f49ee0987fd002ec25e3e9e0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Use our new runqemu function
* Don't hard-code the RPM4 version
* Double-check the native version is RPM4
* Check that an rpm 4.x package is in the image manifest (this isn't
strictly necessary, but "belt-and-braces" and it serves as an example
of how to do that)
* Check that the database is working on the target
* Ensure the image actually has openssh in it so we can connect to it
Initial runqemu adaptation by Richard Purdie <richard.purdie@linuxfoundation.org>
Part of the fix for [YOCTO #7994].
(From OE-Core rev: 80289106423746b7d7fd4c4fd181ffbae93f71d1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* We need to set EXTRA_IMAGE_FEATURES outright or existing values will
affect the test
* For test case 1107 we need "empty-root-password" to match the behaviour
described in the test case
* For test case 1115 we shouldn't be able to connect as root with the
features we are setting
Test cases 1107 and 1115 have been updated in Testopia to match.
(From OE-Core rev: f1e66398eaba495ea6d8d39e2b489e594ac88a0e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Create a runqemu function which uses the QemuTarget() code from
oeqa.targetcontrol to setup the QEMU instance, with all of the added
robustness that that gives us. To do this, a datastore is needed for the
recipe in question (core-image-minimal) so we do the work needed to set
this up. We then use this runqemu function within the imagefeatures
tests instead of a hand-rolled implementation.
We can then use SSHControl to run the SSH tests rather than rolling our
own code to do that as an added bonus.
Fixed and extended by Paul Eggleton <paul.eggleton@linux.intel.com>.
Part of the fix for [YOCTO #7994].
(From OE-Core rev: 7d18d1169204ee80f1c00b35998f10fffaefa107)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we use this outside of testimage we don't have a task log; so let's
just explicitly write the log output to a file all the time so it's
always there to look at (particularly useful when runqemu exits
immediately with an error.)
(From OE-Core rev: 09b7ed39df150257cfe2eb55a8f8c7475e73217e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Don't wait for QEMU to start if it's never going to (because runqemu
exited with an error)
* Don't error out if killing the process fails with "no such process"
(we don't care if it's already dead)
(From OE-Core rev: 1789b89de6c4642464abadd9f8a4746385e6b4a7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu-internal runs stty to return the terminal to its previous state
in case QEMU hasn't done that properly (which it at least used to do
when it crashed). For some reason I have yet to determine, stty blocks
(on tcsetattr() according to gdb) when run within QemuRunner() under
oe-selftest, with the result that we always wait until the timeout and
then we kill the script, which adds an extra delay after QEMU is
stopped. Naturally you would assume that this is something to do with
the nature of the terminal under which it is being run; however no
amount of playing around with stdin/stdout/stderr seemed to fix the
issue, apart from passing in subprocess.PIPE as stdin which makes stty
error out with "stty: standard input: Inappropriate ioctl for device". I
was also unable to come up with a reliable test for the terminal which
we could use inside runqemu-internal to avoid calling stty. For now, go
with the stdin=subprocess.PIPE workaround to at least avoid the delay
with minimal ill effect.
(From OE-Core rev: a058d07cd7251749fa9c1c8eca3caa80144664fe)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OE-Core commit 519e381278d40bdac79add340e4c0460a9f97e17 unfortunately
broke logging in two different ways:
1) it prevented logging to the task log from working within bitbake
-c testimage. This is due to the logger object being set up too early
which interferes with BitBake's own logging. If we prefix the name
with "BitBake." everything works (and we don't need to set the
logging level).
2) Additionally because it called the log functions on the logging
module and not the logger object it set up, this caused the
oe-selftest logging to start printing everything from that point
forward.
Fix these two issues and return us to the desired behaviour for
do_testimage.
(From OE-Core rev: 429b1971be06d5146bb1c14f4697966cddab3b33)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test directory might not exist at this point so just go ahead and
create it.
(From OE-Core rev: 7ef86ce62b52f0f3d0c51e3c20d7b4f37025bf41)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is provided for use by subclasses.
(From OE-Core rev: 95330664826e80c56360645ea90b59d265c2c50e)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The qemu processes may no longer exist at the end of the test so
don't error if that is the case by ignoring any exceptions.
(From OE-Core rev: 64c531282e756965365c742751846250a2c1d3f1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's possible to customise the hostname trivially so don't assume that the
hostname hasn't been configured.
(From OE-Core rev: faf85728ed9a5a3af336f243f6f3567c773159cf)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of running "uname -n" on the target (which actually returns the
hostname) to get something approximating the hostname (or not, if that has been
overriden), simply fetch MACHINE from the datastore.
(From OE-Core rev: 17efc6b3284f165a9df14090dec57d877e0c36fa)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If Pexpect throws an exception it may be because the child has already died, in
which case killpg will fail. Catch the latter exception silently, and output
the exception from Pexpect.
(From OE-Core rev: 4d777ce9736e91bb560558b691b8025acf784046)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move "fail to add MMCONFIG..." to qemux86_common as we started to also see it on
x86-64 with Linux 4.1.
Add "can't claim BAR..." to qemux86_common.
Generalise "Failed to access perfctr MSR" as the MSR number can change.
(From OE-Core rev: 312417c182267584141d4ba62458bdd1d9d9ccb9)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If DISPLAY is set, ssh-askpass can be triggered which is not what
we want in the middle of sanity tests. We can disable this by
unsetting DISPLAY.
(From OE-Core rev: 085681a1418a29a8331cdde0f477f4e223de84be)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of using bb.note() etc for logging use logging.Logger directly, allowing
the use of QemuRunner outside of bitbake.
Also clean up the logging/errors by moving create_socket() out of
__init__()/restart() and into start().
(From OE-Core rev: 519e381278d40bdac79add340e4c0460a9f97e17)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The testcase syslog --help was rather useless and also causing problems
on images where syslog was non-busybox, like LSB images so I removed it.
Added a skip condition for TC 202 for the same reason. If syslog is
non-busybox then the test skips.
(From OE-Core rev: 3947ec61cdc2977db5ce6042863b31f99d47a12a)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This helps for the automatic completion of the results in testopia.
(From OE-Core rev: 9148e5873a79ea3ef64f00cf9807fae99bf3040a)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(testcase 223) Check that only one connmand runs in background.
(From OE-Core rev: 904a3f2c772980b5dc65ef61a0aad23768fcb8dc)
Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes uses v or r prefixes in versions that makes wrong
comparisions over recipes like lz4 r123 > 128.
(From OE-Core rev: f7d250c97f40a737df9020180852d2ee87ca06b3)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bitbake fetcher latest_versionstring now returns a tuple with (version,
revision) that helps SCM's like git to build current upstream version.
[YOCTO #7605]
(From OE-Core rev: 7ede979950fd265026c74526d8448627fd0a8c08)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't use pfx and sfx when not exist because cause formatting errors
like 2.9HASH instead of 2.9+gitAUTOINC+HASH.
(From OE-Core rev: 382833cc7e7603241838e18e429f69da0c2ee4ac)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #8017] - selftest does not use pkill qemu
[YOCTO #7976] - tests do not touch .ssh/known_hosts
- don't hardcode qemu IP
[YOCTO #8027] - use qemu nographic
Extra: removed unnecessary assert for bitbake and runCmd status
(From OE-Core rev: f58df3a630b774083934171463b2b07add29dc0e)
Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
quiet means that no warnings are shown on the console and really is too
quiet for our needs. This is more verbose but that is better than too
little and does aid debugging things when they go wrong.
(From OE-Core rev: 9de391260e4491a4852410adf1009a1fa0c72a5c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we sort by length of name here we get the variables we are interested
in first. I've tested this with all of the variables we care about (the
ones at the top of bitbake.conf) and it returns the right results.
This fixes the failures we've been seeing in the oe-selftest
test_recipetool_appendfile_* tests.
(From OE-Core rev: 95c54512c9fcdbaa419891e46fd99102722ba3d8)
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>
Recipes that don't have SRC_URI means that don't use upstream sources
so returns 1.0.
(From OE-Core rev: 92f2481cf88e7b626cfe604134c9d020d06bd32c)
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The sstate checksums should be independent of whichever NATIVELSBSTRING is
detected. Add an automated QA test which tests this using bitbake -S.
To make this possible, we need to be able to override the value of
NATIVELSBSTRING so make a small change to allow this.
(From OE-Core rev: 2da156d491caf25dfa3efd567d6dbb451dd7e9dc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The order of the keys from the data store is not prescribed. If
target_datadir comes before datadir the selftests fail since the 'wrong'
variable is used for substitutions. This highlights an issue with the
replace_dir_vars() function. Fix this.
(From OE-Core rev: d47c496aa058f5b18d03a68bcd79e5c8607de34f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Automated 2 oe-selftest testcases:
- 1116: Check if clutter image can be built
- 1117: Check Wayland support in image
Updated setup for test_efi_gummiboot_images_can_be_build and
test_wic_command_can_create_efi_gummiboot_installation_images
to accomodate latest wic changes.
(From OE-Core rev: cf3e145bb6823fb22e2701a9a7e0623e4c4a1791)
Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The sstate checksums for both native and target should not vary whether
they're built on a 32 or 64 bit system. Rather than requiring two different
build machines and running a builds, override the variables calling uname()
manually and check using bitbake -S.
[YOCTO #5970]
(From OE-Core rev: da91637dd6991ae085ce82d932f1053d820b0cc4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
write_config overwrites the config rather than appends to it, so
ensure we write both variables in one go.
(From OE-Core rev: 50a37ee563d9003e21bfb9280f184cd81c62e9bf)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Automated 5 oe-selftest testcase:
- 1107: Check if non root user can connect via ssh without password
- 1115: Check if all users can connect via ssh without password
- 1114: Check rpm version 4 support on image
- 1101: Check if efi/gummiboot images can be buit
- 1103: Check that wic command can create efi/gummiboot installation images
(From OE-Core rev: ea414da3ecc59a48a0f2fb719fc86538b47fafb8)
Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>