Test each of the subcommands that this utility provides.
(From OE-Core rev: 725526139debf12d115fada6bd465a297e169080)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Use argparse instead of optparse for standardised help output, options
and a much cleaner code structure
* Look up pkgdata directory automatically so the user doesn't have to
specify it
* Use standard logging
NOTE: this does mean a slight change in syntax - if you do want to
specify the pkgdata directory (usually only necessary if you're calling
it from within the build process) you need to use the parameter -p (or
--pkgdata-dir) and specify this before the command, not after it.
Examples:
oe-pkgdata-util find-path /sbin/mke2fs
oe-pkgdata-util lookup-recipe libelf1
oe-pkgdata-util read-value PKGSIZE libc6
oe-pkgdata-util -p /home/user/oe/build/tmp/sysroots/qemux86-64/pkgdata read-value PKGSIZE libc6
(From OE-Core rev: 04dc571ac7c26f0dcf1a1fcd466482e22519998d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, if one module is skipped, any other module calling skipModule
causes tracebacks about _ErrorHandler not having a _testMethodName
method.
This reworks the code in a way to avoid some of the problems by using
the id() method of the objects. It also maps to the correct name
format rather than "setupModule" or just skiping the item entirely.
(From OE-Core rev: 78d3bf2e4c88779df32b9dfbe8362dc24e9ad080)
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>
test_incremental_image_generation case failed because the log output
chanaged:
FAIL: test_incremental_image_generation (oeqa.selftest.buildoptions.ImageOptionsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/buildarea3/yzhao1/poky-build/meta/lib/oeqa/utils/decorators.py", line 90, in wrapped_f
return func(*args)
File
"/buildarea3/yzhao1/poky-build/meta/lib/oeqa/selftest/buildoptions.py", line 25, in test_incremental_image_generation
self.assertEqual(0, res.status, msg="No match for openssh-sshd in log.do_rootfs")
AssertionError: 0 != 1 : No match for openssh-sshd in log.do_rootfs
----------------------------------------------------------------------
Using re search instead grep
(From OE-Core rev: 1872a9430cec0c61f1ec349df198160addd430de)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using -C sets a taint on the specified task, and m4-native is in the
dependency chain for just about everything, which means that everything
gets forced to rebuild. We don't need the influence of this test to
extend outside of the test itself, so ensure that the taint gets cleared
at the end of the test.
(From OE-Core rev: 24b41a1e3f2496e38a6ae9c47dfe85887f3d7d6e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Build some recipes so that we have the needed data in the sysroot for
recipetool to refer to when scanning for dependencies.
(From OE-Core rev: 67bf1dac68d76c7e6a4d95e5bdd1eba468331f01)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
assertTrue prints "False is not True" if it fails, which is pretty much
useless. Use a more appropriate assertion test where practical and add a
message where it isn't.
(From OE-Core rev: 0e0dd2575bb2a1b6f6c5eba1f8cfb0d81cc1b091)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have just implemented incremental ipk image generation, but at the
moment this test doesn't support that, so skip it if not using rpm.
(From OE-Core rev: e920c1a62705524be71dc5f9e4527b396ca83dca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, running tests individually failed with a traceback:
$ oe-selftest --run-test
buildoptions.ImageOptionsTests.test_incremental_image_generation
2014-12-23 14:40:37,636 - selftest - INFO - Checking that everything is in order before running the tests
2014-12-23 14:40:38,408 - selftest - INFO - Running bitbake -p
2014-12-23 14:40:40,235 - selftest - INFO - Loading tests from:
oeqa.selftest.buildoptions.ImageOptionsTests.test_incremental_image_generation
Traceback (most recent call last):
File "/home/user/poky/scripts/oe-selftest", line 179, in <module>
ret = main()
File "/home/user/poky/scripts/oe-selftest", line 164, in main
suite.addTests(loader.loadTestsFromName(test))
File "/usr/lib64/python2.7/unittest/loader.py", line 91, in loadTestsFromName
module = __import__('.'.join(parts_copy))
File "/home/user/poky/meta/lib/oeqa/selftest/buildoptions.py", line 12, in <module>
class ImageOptionsTests(oeSelfTest):
File "/home/user/poky/meta/lib/oeqa/selftest/buildoptions.py", line 14, in ImageOptionsTests
@testcase(761)
NameError: global name 'func' is not defined
(From OE-Core rev: 8e3fbb0bb2c0eabfb39752c25e7c3f5d77881f64)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Python code should use spaces only for indentation.
(From OE-Core rev: a1e22121e521aabf454a850cd7c8be60b7b1adc3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add some QA tests for devtool (and recipetool). These aren't
comprehensive but at least they are a start, and have already helped me
catch and fix a number of regressions.
(From OE-Core rev: 79486a8aea7af138535e139e696fbdbd5d57581b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Enable querying exported variables
* Use strip() to remove quotes so any internal quotes are not disturbed
(From OE-Core rev: 418cdf1ca37e06165ebaec86a0098d4750208539)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We fixed these in parselog but not here. This test really can just be
deleted now really.
(From OE-Core rev: c598dbdbaebf95cc26e95138b4c3fcb15af67a88)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are harmless from the USB pointer device we install, ignore them.
(From OE-Core rev: f5bdf41e78ff378fe23d8ba1543917bc64def62f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For images without ptest the packages are automatically installed alongside ptest-runner. Log results are saved in ./results folder.
No cleanup is done for packages after the test is finished.
(From OE-Core rev: f8e99fa8baa020c6414da19428b73c1fd30c9523)
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A module for parsing results based logs like ptest, compliance and performance.
Supports breaking the logs into multiple sections and also provides a result object to use the parser with.
The parser is initialized with the regex required to identify results and section statements in the target log file.
(From OE-Core rev: 72308d030fc98982e88b121b052cd2438f6b031c)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now we have the parselogs test, this one can be removed.
(From OE-Core rev: 7977a3c28677d9a248059b0be230f345227e798a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the whitelist is imcomplete, inaccurate and suffers duplication.
These changes:
* Add common groups of errors
* Change to make the default whitelist clear
* Correctly (or at least better) escape the regexp expressions
* Add in missing machines to allow builds on the autobuilder to suceed
(From OE-Core rev: 620aa5f9022335a9166b4d47bdcdce611ff5466a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds a common new qa test for general processing of log files. One
significant improvement is machine dependent ignore filters.
This can be used to replace several weaker individual QA tests
that are currently used.
(From OE-Core rev: a14d076a401397b6773d5d1b99e49126261f1eb4)
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adding setUpModule in order to skip the module when gtk+ is not installed in the toolchain.
(From OE-Core rev: 97ac0fc33b9277825089ac36f9037d472d397b71)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to use the hasFeature and hasPackage methods, we need to make oeSDKTest extend oeTest and also set the test context (tc) attribute in the oeTest class when loading the tests.
(From OE-Core rev: 54436aeed5ac5e0da0779919f8524a0603e19c6a)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With bitbake-worker installing a SIGTERM handler, we now need to reset the one here
to ensure that when this process shuts down, it doesn't take the rest of the task
with it. This does appear to be the only place in OE that we have this problem.
(From OE-Core rev: e1ac67d6470dde70239ca0430b18ca0bffbc0295)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add test modules for sdk tests.
NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 1b18a33b1053902faaa5cb242d4c1c7d1fb6b064)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Create new abstract class BuildProject that provides basic functionality for a project/package building class
* contains abstract method _run() that needs to be implemented by all extending classes.
- The old TargetBuildProject class now extends the abstract BuildProjct class
- Introducing new SDKBuildProject that extends the abstract BuildProjct class
NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: bc8824fd361dbff96f5b5316ddfda36e96e8ea9b)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- add support for sdk tests in the loadTests and runTests methods
- add new oeSDKTest test object
NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 6c147e5c82b39773e135ca828b37905cbb31be3b)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This tests out the limits header which we've noticed does have problems in
some SDK builds.
(From OE-Core rev: 63cbed337241191f33fe951662a39ce59dce6774)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To facilitate changing the log level of the "Fetcher failure" message,
search only for the message without the "Error:" prefix.
(From OE-Core rev: 947e6f9005abc71f499f23a4dd3a5a9f8386a369)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An 'import os' was omitted here while testing the previous decorators using runtime tests that import the os module before this one. Unfortunately oe-selftest fails because of this missing import.
(From OE-Core rev: 5381e6cf6bf7143074800b2949bfa5331fdb6d47)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The -ccleansstate should be done before building the package for the second time.
Also printing the command output when failing.
(From OE-Core rev: 15e5661d6341004ebc4d3492acb48f73dd86b96e)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The modules that use skipModule should import it themselves and not rely on somebody else to import it.
(From OE-Core rev: 6a14db407d471e717f41342ac0700e6a383c32c3)
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to make the test skipping decorators independent of the oeTest object we rely on the unittest result object to construct skip, fail and error lists used by these decorators.
Created a new object getResults that analyses upper frames and retrieves the unittest result object instance, then return a list of failed, skipped and error tests.
Also removed the oetest import from decorators.py because it was no longer required.
(From OE-Core rev: 4d2d201158236bd4c72546cf8db88681ff921b11)
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The return statuses of commands like `su --help' or `passwd --help'
in shadow 4.2.1 version are different from those in shadow 4.1.4.3
version.
Now that we've upgraded shadow to 4.2.1, we need to fix these statuses
in the pam.py to make things work as expected.
(From OE-Core rev: 6bc53438735690866358194dd9e88fa1d7435e2c)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were some indentation errors when the _toaster.py was merged into master.
This patch fix those errors.
(From OE-Core rev: 173194493294574e49874858ee7003000f41b4d6)
Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order not to run the toaster selftests by default, we renamed to _toaster.py
(From OE-Core rev: 8da2ebba10e0128938919b39c29be40b7c1d80aa)
Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because we used a bb.fatal call inside the get_image_fstype classmethod, this caused problems when accessed without instantiating the object with a valid bb environment.
Separating the matching part of the classmethod(that is usable by outside scripts) from the check of the resulting value.
The matching is done within a new classmethod and the latter keeps the old method name and internal functionality, this way we don't have to change any other target controllers code.
(From OE-Core rev: 50ddd5d0149666ad60133d8eb6cc789c5b97e5e4)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
YB: #6254
The QemuTargetControl class does not specify any kernel naming but the runqemu script it uses uses the " KERNEL_IMAGETYPE + MACHINE + '.bin' " naming scheme.
Modifying the other major target controller class, MasterImageHardwareTarget, to use the same kernel naming scheme.
This is usefull also to outside scripts that want to anticipate the kernel file name for all target controllers.
(From OE-Core rev: e8666e91a9633da6a560d5a9510bb53d0251b16d)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
YB: #6254
This module uses os but relies on other modules to import it. Adding 'import os' in order to be self-sustained.
(From OE-Core rev: 26e4d5212ec5b2bcfdb0f42bbed31f468a17aca4)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>