Commit Graph

2145 Commits

Author SHA1 Message Date
Richard Purdie
e9ec164efa oeqa/concurrencytest: Improve builddir path manipulations
Its possible some patterns may cause problems with the current path
manipulations, make a small tweak to try and avoid potential pathname
overlap issues.

(From OE-Core rev: 889005dc17d3e3b8eadee907ee2c05b8ff613285)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-08 16:43:40 +01:00
Richard Purdie
906644c09e selftest/signing: Ensure build path relocation is safe
Similarly to 04ee0e8b95cd8ed890374e0007f976684206b630, ensure only full
build paths are replaced in the environment to avoid breaking buildtools.

(From OE-Core rev: fcd0a9683af1a9155eabbd9056e3b46d4a931b2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-08 16:43:40 +01:00
Mark Hatle
39c1accf90 package.bbclass: hash equivalency and pr service
When the PR service is enabled a number of small changes may happen
to variables.  In the do_package step a call to package_get_auto_pr
will end up setting PRAUTO and modifying PKGV (if AUTOINC is there).

PRAUTO is then used by EXTENDPRAUTO, which is then used to generate
PKGR.

Since this behavior typically happens BEFORE the BB_UNIHASH is
calculated for do_package, we need a way to defer the expansion
until after we have the unihash value.

Writing out the pkgdata files w/o AUTOPR and PKGV (AUTOINC) expanded
to placeholder values is the easiest way to deal with this.  All other
variables are expanded as expected.

In the next task, typically do_packagedata, we will then use the
UNIHASH from the do_package to get the PR (AUTOPR) as well as
generate the AUTOINC replacement value (now PRSERV_PV_AUTOINC).

The do_packagedata then translates the placeholders to the final values
when copying the data from pkgdata to pkgdata-pdata-input.

Also update the prservice test case.  With unihash, just changing the
do_package (via a _append) will not change the PR.  So write the date
to a specific file that is incorporated into the unihash to ensure it
is always different for the test.  Various assert messages were also
updated to make it easier to figure out where/why a problem occured.

(From OE-Core rev: 2e32f37b0e4abc438c8f60e673cd18a5cc110768)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-03 09:44:30 +01:00
Richard Purdie
368aaf60ff selftest/prservice: Improve test failure message
When failing, give more information about why exactly a failure is
happening such as the PR values in question.

(From OE-Core rev: bdd3abcc210e8f58b7b411da6bbd9c5314819908)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-02 16:00:47 +01:00
Joshua Watt
d7aec2f4a3 oeqa: reproducible: Fix test not producing diffs
Diffoscope changed the --exclude-directory-metadata option to require an
argument.

Add a test to validate that diffoscope is functioning as
expected to ensure that future upgrades do not unintentionally break
the reproducibility tests.

[YOCTO #14025]

(From OE-Core rev: ea8fbcb7978ce48d7a9a83143d09402329535f86)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-02 16:00:46 +01:00
Joshua Watt
6736b91b2b oeqa: sdk: Capture stderr output
Redirect stderr to stdout when running subcommands while doing the SDK
tests. The tests will show stdout when CalledProcessError is raised,
but any output to stderr was lost.

(From OE-Core rev: 7cb4e9ab8c1596281060e94a216966060103956e)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-02 16:00:46 +01:00
Alexander Kanavin
635f67efaa oeqa/multilib: un-skip the connman test
It was previously skipped as it was expecting plain connman
to not be in the image, and for core-image-sato connman is always there.

(From OE-Core rev: 5dc237aa6aa8d86433ff7885b88efd8a7b79aa74)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-28 07:08:37 +01:00
Alexander Kanavin
b0bee2b736 oeqa/multilib: rework to use readelf from the host
It is difficult and error-prone to ensure binutils gets
installed into target images where this test may run;
on the other hand readelf is always present on the
host, as it is a part of HOSTTOOLS.

(From OE-Core rev: b7f62b28acb0efc9e9bf0126bd2425dcca012fd1)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-28 07:08:37 +01:00
Alexander Kanavin
2f7f9bc0f1 oeqa/x32lib: rework to use readelf from the host
It is difficult and error-prone to ensure binutils gets
installed into target images where this test may run;
on the other hand readelf is always present on the
host, as it is a part of HOSTTOOLS.

(From OE-Core rev: ecf9fbf7938c667cb648a34f690cfa8db6f5c157)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-28 07:08:37 +01:00
Richard Purdie
526a956132 oeqa/selftest: Apply patch to fix cpio build with -fno-common
Patch a combined effort from Khem/RP, need to add$CONFIGURE_FLAGS
to ensure tests still work.

(From OE-Core rev: 48c82d42d510b9a8b6e819f2adf4cc1bebed8db4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-26 14:33:57 +01:00
Richard Purdie
dd82e01426 selftest/recipetool: Drop globbing SRC_URI test, no longer supported
Globbing is a bad idea in SRC_URI, it breaks the task checksums and
can't really be fixed. Since we're removing it, drop the test for
its interaction with recipetool.

(From OE-Core rev: 8bf93fa89aa1ba73f6eec05b95d6e8ca5f7d4c4b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-26 09:04:04 +01:00
Joshua Watt
b221b8a657 oeqa: runtime_tests: Extra GPG debugging
This patch enables extra debugging for gpg to try and get more debugging
information when [YOCTO #14003] occurs

(From OE-Core rev: f24d7be1fb863006b5414fa8f9c9a37bb48d5a6f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-25 16:00:11 +01:00
Joshua Watt
5fa3c3d2e3 wic: Add 512 Byte alignment to --offset
Allows the --offset argument to use the "s" or "S" suffix to specify
that it is reporting the number of 512 byte sectors.

This is required for some SoCs where the mask ROM looks for an item at a
sector that isn't aligned to a 1KB boundary.

(From OE-Core rev: 938595d1dc4abaf5f7f3a7900add3f0492b805d0)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-22 15:46:55 +01:00
TeohJayShen
660f5694dd oeqa/manual/bsp-hw.json : remove X_server_can_start_up_with_runlevel_5_boot test
remove the test as graphical mode is already being validated

(From OE-Core rev: ad5b5ca9ec1d9106911a610bb36fb98e3f17748d)

Signed-off-by: TeohJayShen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-20 15:30:07 +01:00
TeohJayShen
8db6cf92b4 oeqa/manual/bsp-hw.json : remove shutdown_system test
remove the test as shutdown function is already being validated

(From OE-Core rev: 58281082fbed57298247c019c3d8149e688de161)

Signed-off-by: TeohJayShen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-20 15:30:07 +01:00
Khem Raj
b230ee4eaf buildgalculator: Patch to fix build with -fno-common
We need to apply a patch to galculator for it to build with gcc-10+
Remove double definition of 'prefs' variable

(From OE-Core rev: 93a62e6b35d1a6ed3c678f8e27508dd0cdbdbbe4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-18 11:44:55 +01:00
Khem Raj
a8b4215985 buildcpio.py: Apply patch to fix build with -fno-common
This sed expression implements the needed patch to fix compilation with
-fno-common, hopefully this patch will get included in 2.14 release and
we can remove this operation

(From OE-Core rev: 77b2e00c37c661a502bb47fcbbeb2e71aca5b9ce)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-18 11:44:55 +01:00
Richard Purdie
482cee03f2 selftest/tinfoil: Increase wait event timeout
We're seeing this on the autobuilder when IO load is high. Increase
the timeout to give this a better chance of working out ok since
there is no particular reason we only need to wait 5s and searching
for files is IO sensitive.

[YOCTO #14001]

(From OE-Core rev: c847ed207795bc03f791ee5a3348fa5860c53e70)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-18 11:44:55 +01:00
Alexander Kanavin
3ee166c0dd oeqa: write @OETestTag content into json test reports for each case
This allows using these tags for classification and filtering of test results
according to various organization-specific criteria, such as teams
responsible for the test, internal test ids, feature domains and so on.

Test name itself meanwhile can stay short and human-readable.

(From OE-Core rev: 3801b126eb52cd46efe417111afcd27f05d8f72b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-08 09:17:49 +01:00
Usama Arif
12521660ec oeqa/selftest/imagefeatures: Add testcase for fitImage
This testcase generates the Image Tree Source and
the corresponding fitImage containing a kernel and
a ramdisk. It then checks if the these files exist
and if the right fields are present in the right
order in the Image Tree Source.

Tested with: oe-selftest -r  imagefeatures.ImageFeatures.test_fit_image

(From OE-Core rev: 97e986030ef33dbc43f8e18f7721b98ee381e29b)

Signed-off-by: Usama Arif <usama.arif@arm.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-08 09:17:48 +01:00
Matthew
b6b6a39ee8 ltp: make copyFrom scp command non-fatal
[YOCTO #13802]

Make the scp failure non-fatal so the ltp tests continue to run and
the rest of the logs will be available to see afterwards.

(From OE-Core rev: 0f7d093038274f4f21f6cca39a96aac4f6c32ee3)

Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-06 15:12:39 +01:00
Fredrik Gustafsson
f5f6ae2986 deb: Move package manager to its own dir
This is a part of a refactor that will split the package manager
code so that it's possible to use other package managers in other
layers.

RP: Fixes to parse/build
(From OE-Core rev: 510d5c48c0496f23a3d7aede76ea8735da2d371d)

Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-27 19:58:10 +01:00
Fredrik Gustafsson
5bc67f5502 ipk: Move package manager to its own dir
This is part of a refactor that will split the package manager
code so that it's possible to use other package managers in other
layers.

RP: Fixes to parse/build
(From OE-Core rev: 3ef5a3c885e1010cddfe7eba1cd3728f15270d78)

Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-27 19:58:10 +01:00
Fredrik Gustafsson
c5bea36b72 rpm: Move package manager to its own dir
This is part of a refactor that will split the package manager
code so that it's possible to use other package managers in other
layers.

RP: Fixes to parse/build
(From OE-Core rev: 8b776ed9ed291dd8e112621561762449c7eb5ee2)

Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-27 19:58:10 +01:00
Richard Purdie
8010b0d82b oeqa/qemurunner: Add priority/nice information for running processes
We're seeing failures due to system load. In theory we've set process
nice levels which should compensate for this. Add debugging so we can
find out if they're being correctly applied.

(From OE-Core rev: 1e4e345bba8216b9b5623682206a7dae7cad261c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-22 12:45:56 +01:00
Richard Purdie
ca701cb92d oeqa/utils/qemurunner: Fix missing pid file tracebacks
One element of the error message guarded against None as a value
but I missed the other, fix this.

(From OE-Core rev: dbce6baec68d7658453b8c44159e1d1fef746151)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-14 21:41:39 +01:00
Richard Purdie
71772fbaea qemurunner: Add extra debug info when qemu fails to start
When qemu fails to start we're struggling to work out why. Add more debug
info which can at least confirm/rule out various things.

This code is only on the error handling path and more info shoudl help
us debug issues.

(From OE-Core rev: 3001d0d8f3429e5ff0c37ea7192e85e7001cdb32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-13 12:53:08 +01:00
Richard Purdie
0c1c6c971d qemurunner: Ensure pid location is deterministic
The pid location could vary due to changes in cwd as only a filename
is specified, not a full path. This in theory could be resulting in
some of our autobuilder failures. Whilst its difficult to know if this
is causing a problem, Using a full path removes any question of such an
issue.

(From OE-Core rev: 55c186ff410c99570242478b99ac24ebc40aa6bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-13 12:53:08 +01:00
Richard Purdie
05aabd3744 oeqa/selftest/sstatetests: Avoid polluting DL_DIR
Every selftest run is currently polluting the autobuilder DL_DIR. Avoid
this by using a temporary directory for the test which is cleaned up.

(From OE-Core rev: 002d321e02b3ce4f34c8a54211b109a5416c8a0e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-12 12:21:48 +01:00
Vacek, Patrick
6474ff808b oeqa/core/loader: fix regex to include numbers
The previous version only included the numbers 1 and 2 in the allowed characters
for the module name. In the past, this was (\w+) so all numbers were allowed.
Now it explicitly includes all numbers again.

(From OE-Core rev: f241fa493536ac953c1dac303917c6e75b459e28)

Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-08 10:37:12 +01:00
Changqing Li
893db513d7 logrotate.py: fix testimage occasionally failure
testcase test_systemd_failed occasionally failed with below error:
Failed to start Rotate log files.
logrotate.service: Failed with result 'exit-code'.
logrotate.service: Main process exited, code=exited, status=1/FAILURE
error: stat of /var/log/logrotate_test failed: No such file or directory
error: logrotate_test:1 lines must begin with a keyword or a filename (possibly in double quotes)

above failure caused since testcase test_logrotate_wtmp
add /etc/logrotate.d/logrotate_test, which need /var/log/logrotate_test,
but there is no such file. so when logrotate.service is triggerd
by logrotate.timer after testcase test_logrotate_wtmp is runned,
the testcase test_systemd_failed will fail.

these 3 lines are useless, so remove them to fix above problem.

(From OE-Core rev: 22f5f7f86a4d47624c476be00e5121009c48cb7b)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-03 20:17:29 +01:00
Richard Purdie
61d21bd035 oeqa/targetcontrol: Attempt to fix log closure warning message
We continue to see the warning message:

WARNING: lib/bb/daemonize.py:76: ResourceWarning: unclosed file <_io.TextIOWrapper
name='build/tmp/work/qemux86_64-poky-linux/oe-selftest-image/1.0-r0/testimage/qemurunner_log.20200703011821'
mode='a' encoding='UTF-8'>

I've been unable to reprodue this but believe its caused by garbage
collection of the FileHandler used in QemuTarget being delayed until
after a new tinfoil instance is created by a subseqent test.

Force the log file to be closed when we stop using it to avoid this.

[YOCTO #13961]

(From OE-Core rev: e15cc7801ec611f867f5b31028741722ac718c87)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-03 20:17:29 +01:00
Richard Purdie
e855b384f3 oeqa/selftest: recipetool/devtool: Avoid load_plugin test race
This bug has plagued the autobuilder for a couple of years and we've
struggled to reproduce/debug it.

The problem is the "lib" directory in meta-poky used during the load_plugin
tests for recipetool and devtool can race and one can delete the files
from the other leading to test failures.

Deleting the lib directory only if empty will avoid this.

[YOCTO #13070]

(From OE-Core rev: d603e2fd589e1edbc67c8c2fefb6337e728b9d01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-03 11:38:24 +01:00
Lee Chee Yang
ebfa049fc0 oeqa/core/loader: refine regex to find module
test case in format <module name>.<class name>.<test case name>
this is clear when test cases is only 3 item deep.

but confused when it is 4 item deep, eg,
oelib.types.TestList.test_list_nosep

in this case, oelib and oelib.types can both be treated as module
since module name contains only lower cases and class name should
contain atleast one upper case.
so, always treat leading item without upper case as module also allow
module name to contain dot.

[YOCTO #13941]

(From OE-Core rev: ad81ea90a815389e45ff302a85151724c71f71c3)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-03 11:38:24 +01:00
Chen Qi
3765bf4820 oescripts: ignore whitespaces when comparing lines
list-packageconfig-flags.py determines the whitespace numbers according
to the longest package name. This is reasonable for the tool as it's
trying to generate pretty output.

However, in this selftest case, the output is hardcoded. This results in
"pinentry                       gtk2 libcap ncurses qt secret" not recognized
as correct as the expected line is:
"pinentry                     gtk2 libcap ncurses qt secret".

The difference is only about whitespaces. So we should ignore the whitespaces
when comparing lines.

(From OE-Core rev: 17c89ad1596dbc7cefdd2c01dcd95aa9e93c5dc6)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-02 16:18:03 +01:00
Chen Qi
48d17fd1d4 oescripts.py: fix typo
(From OE-Core rev: 115d44958806a2c73d0bf140f45c11db462cc7db)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-02 16:18:03 +01:00
Richard Purdie
79856aaf93 oeqa/selftest: Clean up separate builddir in success case when non-threaded
If oe-selftest is run without -j, the separate build directory "build-st"
isn't cleaned up afterwards. Mirror the behaviour of the -j option to
handle this the same way, only preserve upon failure.

To do this, the remove function needs to be moved to the selftest
context module so that it can be accessed without requiring the
testtools and subunit modules the -j option requires.

A dummy wrapper class is used to wrap the tests and clean up afterwards.

[YOCTO #13953]

(From OE-Core rev: 1b376ade430d40d3cfe9c18f200c764d622710e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-28 08:36:00 +01:00
Andrej Valek
cea56554d0 oeqa/runtime/cases/ptest: Make output content path absolute
The output content is created in current directory, because json content
has no defined absolute path to WORKDIR as in bitbake.

(From OE-Core rev: 14203b2cb9aa62f55cb12230ac8012b3cd995be7)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-23 12:31:03 +01:00
Richard Purdie
fde0637e1c oeqa/utils/command: Improve stdin handling in runCmd
Occasionally we've been seeing leftover threads from runCmd. The stdin test
assumes we clean up all threads but the code assumes that the daemonic thread
can be left behind.

The issue can be reproduced by adding a time.sleep(10) to the end of
writeThread() which will mean it stays resident past the end of the command.

We may as well add it to the threads list and clean it up properly,
hopefully removing the race in the tests from the autobuilder.

[YOCTO #13055]

(From OE-Core rev: 9b251dcaffe52d32c1faf41ab57ab414fbc29722)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-23 12:31:03 +01:00
Richard Purdie
d95dbd76f2 oeqa/selftest/runcmd: Add better debug for thread count mismatch failures
(From OE-Core rev: d15d0177d328fa3a126b9942bda177f6fae68505)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-23 12:31:03 +01:00
Konrad Weihmann
7f7f785ed3 oeqa/runtime: Add OERequirePackage decorator
Add new decorator which behaves like OEHasPackage, but
fails the testcase if a dependency isn't met.

This helps to identify missing packages in the image
under test when using static test suite lists, otherwise
a missing package won't fail the overall test suite and
errors might slip through unnoticed

(From OE-Core rev: c5be39df1494f33e2cae116e4930f2a0f3dd2000)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-17 11:10:28 +01:00
Richard Purdie
eb226b897f buildhistory: Add simplistic file move detection
We'd like to use buildhistory more during patch review however its
proving hard, particularly where whole subtrees of files move,
such as a kernel version upgrade, or where a software module moves
include directory.

This adds file rename matching which covers our common case of library
moves, kernel upgrades and more.

A new test case is also added so that someone in the future can change
the code and test the logic is still doing the expected things.

(From OE-Core rev: 791ce304f5e066759874beac0feef5ee62a1c255)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-15 14:53:45 +01:00
Joshua Watt
4f3aca1a56 wic: Fix --extra-space argument handling
467f84e12b ("wic: Add --offset argument for partitions") broke the
--extra-space argument handling in wic. Fix the option and add a unit
test for the argument.

(From OE-Core rev: 87722a92c18f94917c8f70afc8cd0763462a5c25)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-12 08:25:04 +01:00
Paul Barker
b1bb39c6e2 archiver: Speed up tests
When running tests locally without the advantage of a populated sstate
cache, the archiver tests can take an unnecessarily long time. Using
different target recipes can speed things up a lot by reducing the
number of dependencies that are built.

For the test case test_archiver_srpm_mode we can still test the
conditions described in bug #11121 by using a target recipe that is
known to inherit the nopackages class as well as a more normal recipe,
instead of having to compute all the depepndencies of core-image-sato.

Before:
    archiver.Archiver.test_archiver_allows_to_filter_on_recipe_name: PASSED (20.50s)
    archiver.Archiver.test_archiver_filters_by_type: PASSED (14.16s)
    archiver.Archiver.test_archiver_filters_by_type_and_name: PASSED (79.08s)
    archiver.Archiver.test_archiver_mode_configured: PASSED (558.19s)
    archiver.Archiver.test_archiver_mode_diff: PASSED (14.59s)
    archiver.Archiver.test_archiver_mode_dumpdata: PASSED (14.41s)
    archiver.Archiver.test_archiver_mode_mirror: PASSED (14.02s)
    archiver.Archiver.test_archiver_mode_mirror_combined: PASSED (19.99s)
    archiver.Archiver.test_archiver_mode_mirror_excludes: PASSED (14.24s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm: PASSED (13.47s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm_shallow: PASSED (22.15s)
    archiver.Archiver.test_archiver_mode_original: PASSED (14.15s)
    archiver.Archiver.test_archiver_mode_patched: PASSED (14.57s)
    archiver.Archiver.test_archiver_mode_recipe: PASSED (14.56s)
    archiver.Archiver.test_archiver_srpm_mode: PASSED (83.03s)
    oe-selftest () - Ran 15 tests in 911.905s

After:
    archiver.Archiver.test_archiver_allows_to_filter_on_recipe_name: PASSED (23.66s)
    archiver.Archiver.test_archiver_filters_by_type: PASSED (15.16s)
    archiver.Archiver.test_archiver_filters_by_type_and_name: PASSED (15.33s)
    archiver.Archiver.test_archiver_mode_configured: PASSED (15.94s)
    archiver.Archiver.test_archiver_mode_diff: PASSED (15.79s)
    archiver.Archiver.test_archiver_mode_dumpdata: PASSED (15.39s)
    archiver.Archiver.test_archiver_mode_mirror: PASSED (15.28s)
    archiver.Archiver.test_archiver_mode_mirror_combined: PASSED (21.22s)
    archiver.Archiver.test_archiver_mode_mirror_excludes: PASSED (15.11s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm: PASSED (13.61s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm_shallow: PASSED (23.21s)
    archiver.Archiver.test_archiver_mode_original: PASSED (14.87s)
    archiver.Archiver.test_archiver_mode_patched: PASSED (15.50s)
    archiver.Archiver.test_archiver_mode_recipe: PASSED (15.62s)
    archiver.Archiver.test_archiver_srpm_mode: PASSED (20.66s)
    oe-selftest () - Ran 15 tests in 257.170s

(From OE-Core rev: 04b4e6e271c2c3e02b105edb3b0d8aae39dd3d7c)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-09 13:13:59 +01:00
Paul Barker
43f940172a archiver: Capture git submodules in mirror archiver
Using the new Fetch.expanded_urldata() function we can get URL data for
all git submodules.

(From OE-Core rev: d908ca51b72f4ba417e7573ae3d953535f53286c)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-09 13:13:59 +01:00
Paul Barker
9800884deb oe-selftest: Recursively patch test case paths
This ensures that builddir is updated correctly to point to the new
selftest build directory when we're given a list of test suites instead
of a list of test cases.

(From OE-Core rev: 56e211d0f3c6cb84f5982e5de00faeeed69c1912)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00
Paul Barker
18a69b1cd2 oe-selftest: Support verbose log output
(From OE-Core rev: 6a607da9a6aa05f86b0e77cccd066b9f286cfada)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00
Paul Barker
05882158de oe-selftest: Allow overriding the build directory used for tests
This may be useful if the parent directory of the original builddir is
not writable, on a lower performance drive, etc.

(From OE-Core rev: dab719e5f1964fd48e9a35e6b9db1508b5414540)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00
Paul Barker
822f6b6143 archiver: Fix test case for srpm archiver mode
We can't assume that rpm packaging will always be enabled when running
oe-selftest. In particular when using nodistro instead of poky this is
not enabled by default.

(From OE-Core rev: 23df3024664ec56dbbe8865ef3953d2c33a7a2cb)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00
Joshua Watt
ba9be4bfa5 wic: Add --offset argument for partitions
Add support for an --offset argument when defining a partition. Many
SoCs require that boot partitions be located at specific offsets. Prior
to this argument, most WKS files were using the --align attribute to
specify the location of these fixed partitions but this is not ideal
because in the event that the partition couldn't be placed in the
specified location, wic would move it to the next sector with that
alignment, often preventing the device from booting. Unlike the --align
argument, wic will fail if a partition cannot be placed at the exact
offset specified with --offset.

Changes in V2:
* Fixed a small typo that prevented test_fixed_size_error from passing

(From OE-Core rev: 467f84e12b96bc977d57575023517dd6f8ef7f29)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:32 +01:00