summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* oeqa/runtime/context.py: Add support to specify port in target_ipAníbal Limón2017-06-061-0/+6
| | | | | | | (From OE-Core rev: 7fe4c074611eb21abdf811d8f216d4df7ab6a3ea) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases: Migrate test cases into the new oe-qa frameworkLeonardo Sandoval2017-06-0635-387/+355
| | | | | | | | | | | | | | New framework has different classes/decorators so adapt current test cases to support these. Changes include changes on base classes and decorators. Also include paths in selftest/__init__.py isn't needed because the loader is the standard unittest one. (From OE-Core rev: ddbbefdd124604d10bd47dd0266b55a764fcc0ab) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-selftest: Migrate to new framework into oeqa.selftest.contextLeonardo Sandoval2017-06-061-0/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new OEQA framework aims to re-use code into the different Test components. The previous oe-selftest implements it-self loading, run, and list test cases in a non-standard way (unittest base) and other functionalities like logging that is now on oeqa core. This ends on a compact oe-selftest script. All needed command line options was migrated but there are some of them pending of implementation and others deprecated. Deprecated options: list-tags: The tag functionality into the old oeqa framework isn't work, the selftest doesn't has tag decorators. {run, list}-tests-by: Ambiguos options it accepts all the posibilites module, class, name, id or tag. Remaining to implement: coverage: It enables covrage reports over a test run, currently isn't on on use and some bugs [1], i filed a bug to add support to OEQA core module in this way other Test components could enable it. repository: It push XML results into a git repository and isn't in use, i filed a bug to implement this into OEQA core module. [2] [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=11582#c0 [2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=11583#c0 (From OE-Core rev: 3b2a20eee4a39f40287bf67545839eaa09fc892d) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/case: Don't figure out the testlayer insideAníbal Limón2017-06-061-3/+3
| | | | | | | | | | The test layer is added at init of selftest and is the same across test runs so pass it as a attr in the context. (From OE-Core rev: 8441da8fbc7ff2237d9ccd3a5c5117345f5c87b2) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/case.py: Remove machine selection logicLeonardo Sandoval2017-06-061-33/+4
| | | | | | | | | | | | | | The machine selection is an operation that needs to be made in every test run, the best place to it is on the context module. Use self.tc.custommachine variable instead of use environment. SIgned-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> (From OE-Core rev: f295b70ace0ffc28256140a21af5c3a8903297cb) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-selftest: Move {add,remove}_include files to caseLeonardo Sandoval2017-06-061-10/+66
| | | | | | | | | | | | | | | The oe-selftest creates include files to store custom configuration to make specific tests, every class executes a different test and may be uses custom configuration. So move to case class in order to simplify oe-selftest script and later implement later a build folder per class. (From OE-Core rev: 1130b40c3dfa65e7ece08a95b3941e4d1d20bcf0) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/case: Migrate case class to the new OEQA frameworkLeonardo Sandoval2017-06-061-60/+51
| | | | | | | | | | | | | | | | | | Summary of the changes: - Use OETestCase as base class instead of unittest.TestCase - Remove LogResults decorator the new framework provides logging into the core functionality. - Logger is now self.logger instead of self.log - Move comments into docstrings in several help methods - Use get_test_layer() method instead of access monkey patched variable in old oeSelfTest case class. (From OE-Core rev: c38cab77893f9d8fd505f050cc880a15677b73db) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Move base class to case moduleAníbal Limón2017-06-061-0/+0
| | | | | | | | | | To match the new structure of the OEQA framework. (From OE-Core rev: 0d3d97414c8166d09065f6f7f45e3260ce405692) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-test: Move load_test_components to oeqa.utilsAníbal Limón2017-06-062-1/+37
| | | | | | | | | | | | In order to maintain compatibility with oe-selftest, the load_test_components needs to be re-used, so the script executor needs to pass to only load components supported by certain script (oe-test, oe-selftest). (From OE-Core rev: d6b78ae711b93b4059690320cb8d821aaadd1684) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: lock down Meson git revision for reliabilityRoss Burton2017-06-051-2/+2
| | | | | | | | | | | | | | | | The test_recipetool_create_github test fetches HEAD of the repository so upstream changes can (and do) break the test. Avoid these problems by passing the rev= argument in the URL to lock the checkout to the same version that is fetched in the github_tarball test. Also pass the commands to runCmd() as a list instead of a string, the semicolon in the URL needs more quotes if the shell is involved and passing a list bypasses the shell entirely. (From OE-Core rev: b35bedd209092432c560e998043b6a8c5c2e4d34) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Improve grammar in README and loader commentsRandy MacLeod2017-06-052-23/+22
| | | | | | | (From OE-Core rev: 48cd7ff7ae61ca5772a42ece9fce51976dd0d790) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/context: Include a _pre_run methodLeonardo Sandoval2017-06-022-0/+7
| | | | | | | | | | This pre runner will serve to allow Test components executes code previously of the run a suite. (From OE-Core rev: bafb7e221d40d7a87a02cec8a97d98eec7c23438) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/context: Omit docstring output on XMLResultLeonardo Sandoval2017-06-021-1/+1
| | | | | | | | | | | By default, the xml runner class prints out the docstring for every unit test but it order to keep the same format as the standard runner, avoid docstring output setting descriptions to False. (From OE-Core rev: 05b16219698fbd30ec76697e1b3be6d31e8f8878) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/context: Use a default iterable modules objectLeonardo Sandoval2017-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OETestLoader.modules must be an iterable object, otherwise checking presence of specific modules with the 'in' operator fails with the following command/error: % oe-test core .. - core - INFO - Running bitbake -p Traceback (most recent call last): File "..poky2/scripts/oe-test", line 108, in <module> ret = main() File "..poky2/scripts/oe-test", line 93, in main results = args.func(logger, args) File "..poky2/meta/lib/oeqa/core/context.py", line 235, in run self.tc.loadTests(self.module_paths, **self.tc_kwargs['load']) File "..poky2/meta/lib/oeqa/core/context.py", line 53, in loadTests self.suites = self.loader.discover() File "..poky2/meta/lib/oeqa/core/loader.py", line 204, in discover pattern='*.py', top_level_dir=path) File "/usr/lib64/python3.4/unittest/loader.py", line 275, in discover tests = list(self._find_tests(start_dir, pattern)) File "/usr/lib64/python3.4/unittest/loader.py", line 339, in _find_tests yield self.loadTestsFromModule(module) File "..poky2/meta/lib/oeqa/core/loader.py", line 266, in loadTestsFromModule and module.__name__ in self.modules \ TypeError: argument of type 'NoneType' is not iterable (From OE-Core rev: 2bb02cd3d6ec6c2c22ab6b567e2985015655fae6) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/context: Raise exception when a manifest is specified but missingLeonardo Sandoval2017-06-022-1/+5
| | | | | | | (From OE-Core rev: e7458dd24cb7464852fb7f5357d9108d5c052fa6) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/case: fix typo on comment about exception nameLeonardo Sandoval2017-06-021-1/+1
| | | | | | | (From OE-Core rev: 943a2a30e84660b412df4f1d60fb7e2e46764c50) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/README: Improve documentationLeonardo Sandoval2017-06-021-21/+60
| | | | | | | | | | | Most of the text include on this text refactor came from [1]. [1] http://lists.openembedded.org/pipermail/openembedded-architecture/2016-December/000351.html (From OE-Core rev: 77635ffa3b621add9894ed247dafe146f4af1e84) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/case: Don't use OEQA framework internal methodsAníbal Limón2017-06-021-4/+4
| | | | | | | | | | | | The OEQA framework has internal methods for provide functionality in decorators so Test components aren't expected to override it. Use the base unittest methods for setUp and tearDown. (From OE-Core rev: 21df9f0f6d6272adc6131cdc113000a5e6ac9d46) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Add support for run tests by module, class and nameAníbal Limón2017-06-022-4/+68
| | | | | | | | | | This will enable only run certain module tests and filter by class and test name. (From OE-Core rev: 0f7531803aa6ffef2b7c5be9acee3efe7d2974ef) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Add list tests support in context and runnerAníbal Limón2017-06-022-5/+115
| | | | | | | | | | | A common operation is to list tests, currently only selftest support it, this changes enables this functionality into the core framework. (From OE-Core rev: 7e803f1a855d3091a772b13efd3cc8e9c0c766e9) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: Enable usage of OEQA thread modeAníbal Limón2017-06-021-2/+3
| | | | | | | | | | | | | oeqa/sdk/context.py - Use OETestContextThreaded. classes/testsdk.bbclass - Enable bb event thread mode to avoid corrupt the PIPE when multiple threads writes. [YOCTO #11450] (From OE-Core rev: 598c6579932c2ca1dbdb022c8bec8af2e6c21e6b) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/tests: Add tests of OEQA Threaded modeAníbal Limón2017-06-027-1/+93
| | | | | | | | | | | | | | | | | Add needed tests to validate the OEQA Threaded mode, the remaining parts are tested by the OEQA without Threaded mode. - test_loader.py: Add a test to validate rules when creating the list of test suites. - test_decorators.py: Add oetimeout test because the threaded mode uses Timer instead of signal. [YOCTO #11450] (From OE-Core rev: fb9d91ca34c1b5d3e0034f5135e71f964fca5b82) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/cases: Move sdk_update test into devtool moduleAníbal Limón2017-06-022-39/+32
| | | | | | | | | | | | | With the new OEQA thread support there are problems running devtool twice at the same time because only one instance of bitbake/devtool is allowed. [YOCTO #11450] (From OE-Core rev: 44254caaef131402629d01f01cdee6722718adba) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/decorator/oetimeout: Add support for OEQA threaded modeAníbal Limón2017-06-021-10/+30
| | | | | | | | | | | | | | | | | In python signals are only allowed to delivery into the main thread, to support the threading mode test if the runner is threaded and use threading.Timer instead. There are some considerations like SIGALRM interrupts the execution after N seconds but the Timer only starts a Thread to notice the timeout and the exception will be raised when the test run ends. [YOCTO #11450] (From OE-Core rev: 8ab201612e22493dc2509ba339a8f07ade611a54) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/decorator/depends: Add support for threading modeAníbal Limón2017-06-021-1/+7
| | | | | | | | | | | | The _skipTestDependency needs to know if the thread mode is enabled because the _results are by thread. [YOCTO #11450] (From OE-Core rev: 257d9ef4531052ba8507771b58884c7d2b64143d) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/threaded: Add OETestContextThreaded classAníbal Limón2017-06-021-0/+14
| | | | | | | | | | | | This class sets the {loader,runner}Class to the threaded versions and overrides loadTests method to be able specify the process_num. [YOCTO #11450] (From OE-Core rev: 3ec0d3825aa31219e0ccabc1f158d3a2f8adbda2) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/threaded: Add support of OETestRunnerThreadedAníbal Limón2017-06-021-1/+74
| | | | | | | | | | | | | | | The OETestRunnerThreaded overrides the run method of OETestRunner it recieves a list of suites to be executed by a ThreadPool. The new run method handles the ThreadPool creation and the OETestResultThreaded fill. [YOCTO #11450] (From OE-Core rev: 48b7a407d692e6c49c41b16f2bd11e8c3f47a421) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/threaded: Add OETestResultThreaded{,Internal} classesAníbal Limón2017-06-021-1/+72
| | | | | | | | | | | | | | | | The OETestResultThreadedInternal extends OETestResult to stores results by Thread. The OETestResultThreaded is a simple class that provides the implementation of interfaces needed by outside like wasSuccesful, stop, logSummary, logDetails. [YOCTO #11450] (From OE-Core rev: 8e71844fc4dd3fcc8a19f9d4c25aafb09c5525fe) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/runner: OETestResult add internal _tc_map_resultsAníbal Limón2017-06-021-0/+2
| | | | | | | | | | | | This method is to assign results into the TestContext, create an internal one to support change implementation in Thread version. [YOCTO #11450] (From OE-Core rev: 8a6a9cb816d78e4cf71b79c35b579918d31053f2) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/threaded: Add OEStreamLoggerThreaded classAníbal Limón2017-06-021-0/+25
| | | | | | | | | | | | | | | | The OEStreamLoggerThreaded overrides OEStreamLogger to redirect the PyUnit output to a logger. Instead of log every line when comes the OEStreamLoggerThreaded will buffer the PyUnit output and write everything at end of every suite execution to don't have mixed suite outputs. [YOCTO #11450] (From OE-Core rev: 87d3e5b70c52e5c7439afe4af5aa002522043e81) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/threaded: Add new module with OETestLoaderThreadedAníbal Limón2017-06-021-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | The threded module will implement Thread support into the OEQA framework. The OETestLoaderThreaded overrides discover to return a list of suites every suite will be run by a separate Thread. Some design considerations are: - All the tests of a certain module needs to be run at one thread because unittest framework needs to keep track of setUp{Module, Class,} and tearDown{Module, Class,}. - Tests that depends on other needs to be run at the same thread because OEQA framework look at the status of dependant test to decide if skip or not, this constraint can be change in the future but a sync mechanishm is needed to implement between the Threads. [YOCTO #11450] (From OE-Core rev: b4ae730ee1d6003ff005148f741270e2878de484) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Move OETestContext.log{Summary, Details} into OETestResultAníbal Limón2017-06-022-90/+91
| | | | | | | | | | | | | Those methods are used to write in the log the results so it makes sense to have defined at OETestResult because is a format of the result itself. [YOCTO #11450] (From OE-Core rev: 33a783f59ed4e232f41f8b09dfa7955f2ddc2f80) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/runner: OETestResult remove unneeded override of startTestAníbal Limón2017-06-021-3/+0
| | | | | | | | | | I override this method before for keep track of results and forget to remove it, now isn't need. (From OE-Core rev: 63606ffaaac1b84ddcad8a1c1006f8110050e20e) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Don't expose OEStreamLogger in OETestContextAníbal Limón2017-06-022-4/+5
| | | | | | | | | | | | | The OEStreamLogger class is used for redirect PyUnit output to a certain logger so there is not need to expose at level of OETestContext because only OETestRunner needs to know. [YOCTO #11450] (From OE-Core rev: 8787fba3df8acd9d2438669d20b1a5060caa9022) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk/context.py: Add return to OESDKTestContext.run() methodAníbal Limón2017-06-021-1/+1
| | | | | | | | | | The run() methods of a OETestContext's are expected to return the results. (From OE-Core rev: c45546b771c3158e66b2df504576d6dc1758ea75) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk/context.py: Import argparse_oe at OESDKTestContext.run methodAníbal Limón2017-06-021-2/+2
| | | | | | | | | | This import was at level of OESDKTestContext.register_commands but OESDKTestContext.run method need it to raise exceptions. (From OE-Core rev: 35efb419de1dbebd269d87895645934707130746) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.py: add assertExists and assertNotExists to oeselftestYeoh Ee Peng2017-05-251-0/+13
| | | | | | | | | | | | | | | | | | | | Current osselftest print confusing assertion message when using self.assertTrue(os.path.exists(filepath)) to test file path, example of confusing assertion message: AssertionError: False is not true Add the assertExists and assertNotExists to improve assertion message and simplify coding, using selft.assertExists(filepath), will print meaningful assertion message: AssertionError: <filepath> does not exist [YOCTO #11356] (From OE-Core rev: b0a74554ef926ce05078494ca8e67178b56232f5) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.utils.git: use --verify in rev_parse()Markus Lehtonen2017-05-231-1/+1
| | | | | | | | | | | | We use rev-parse for turning git object names into SHA-1 and checking their existence. Using --verify option makes sure git-rev-parse does what we expect. (From OE-Core rev: f5b420c7f07a008c11d492b055c7cc8869f644d3) 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>
* selftest: fix test_unsupported_subcommand test caseEd Bartosh2017-05-231-2/+1
| | | | | | | | | | | | | | Fixed failure of test_unsupported_subcommand caused by switching to argparser by checking that parser returns non-zero return code. [YOCTO #9636] (From OE-Core rev: 581db38a280bf4cb03faf568cefd8d97383b5417) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/devtool: change write to append config in virtual_kernel_modifyAníbal Limón2017-05-181-1/+1
| | | | | | | | | | | | | | When uses write it creates a full new configuration in selftest.inc causing to fail populate_sdk_ext linux-yocto because the signature of the sstate changes. [YOCTO #11300] (From OE-Core rev: 65bab9210be51aeb431ea85c90e31ad9f0d2340c) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* QemuRunner: avoid tainting os.environPatrick Ohly2017-05-181-7/+8
| | | | | | | | | | | | | | | | | | | | | | | That a utility function permanently changes the process environment is bad style and leads to subtle, hard to debug problems. For example, we had one oe-selftest which used runqemu() with an override for DEPLOY_DIR_IMAGE. Another test then just called runCmd() and ended up passing the wrong DEPLOY_DIR_IMAGE set earlier in os.environ. The approach used here is to pass the desired environment dict to the launch() method as a new, optional parameter, which then gets passed on to subproject.Popen(). The modified env variables do not get logged, as before. [YOCTO #11443] (From OE-Core rev: cab20f3b2fe668a63c58b44f2ad797fed74226fe) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver.bbclass: do not cause kernel rebuildsPatrick Ohly2017-05-181-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Adding or removing archiver.bbclass from a build configuration causes rebuilds of linux-yocto-based kernels because of the do_kernel_configme->do_unpack_and_patch task dependency. This particular dependency can be ignored for the do_kernel_configme sstate signature calculcation. Idea for the fix from Richard Purdie. Note that building the kernel and adding archiver.bbclass later to archive sources leads to do_unpack_and_patch running after do_kernel_configme (because that already ran in the first build), which might be problematic. This is independent of the change here. The use case in YOCTO #11441 is to removed archiver.bbclass between a production build with archiving enabled and builds via oe-selftests without archiving. That direction is fine. Fixes: YOCTO #11441 (From OE-Core rev: fed0ed82928e6a7846fbad233ac657bd17bcefc7) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: add test for package manager version comparisonRoss Burton2017-05-161-0/+80
| | | | | | | | | | | | | This test case verifies that opkg, dpkg, and rpm all have the same behaviour for version ordering, specifically the behaviour of ~ which should be sorting *before* nothing: 1.0 < 2.0~pre < 2.0 < 2.0-fix (From OE-Core rev: 0bf875ea234bb9ff50d347345782e14d6b7d3ff9) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: relax whitespace matches in search regexRoss Burton2017-05-161-2/+2
| | | | | | | | | | Latest DNF has changed the amount of whitespace it outputs so use matches instead of hardcoding the exact number of spaces. (From OE-Core rev: 9ebeb374e49ecedecba8fe16fff3717edbc41994) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/runtime-test: Split the config valuesLeonardo Sandoval2017-05-161-4/+5
| | | | | | | | | | | | Split the configuration values (common and specific) so it is easier to read what goes into the config file. Also the specific configurations are set in every loop so these do not append on each iteration. (From OE-Core rev: 58d43b470ffa9b498234b6845cacfd867218ca03) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.lsb: add get_os_release()Markus Lehtonen2017-05-162-26/+23
| | | | | | | | | | | | Move get_os_release() from oeqa.utils.metadata to oe.lsb, merging the code with release_dict_osr() from oe.lsb. This removes some code duplication and makes get_os_release() more robust. (From OE-Core rev: 56b883f7765f6bd72e83dec26a5db8c7108c835d) 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>
* useradd: Create lib/oe/useradd function libraryRichard Purdie2017-05-161-0/+68
| | | | | | | | | | | The code in useradd-staticids is generally useful for user addition functionality but is not reusable in its current form. Refactor the code into a set of library functions. (From OE-Core rev: a638ef304b1f1acb4c88f4f90b1ef22526cb8d2f) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: whitelist failed to enable keyboard error on intel-corei7-64California Sullivan2017-05-111-0/+1
| | | | | | | | | | | | | | | | This error is seen on the Braswell RVP platform we have been using for testing. The error is caused by atkbd.c keyboard driver, which is only for AT and PS/2 keyboards. I tested a PS/2 keyboard with the board, which worked fine, and the board does not have a separate AT connector, so this error won't cause any functional issues. [YOCTO #10110]. (From OE-Core rev: c9f83639242313ca04ec36b49602a8464e10dae8) 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>
* parselogs: whitelist bluetooth firmware load error for intel-corei7-64California Sullivan2017-05-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NUC6 has issues bringing up Bluetooth early in the boot sequence. We see: [ 4.091790] Bluetooth: hci0: Minimum firmware build 1 week 10 2014 [ 4.097326] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi [ 4.145317] Bluetooth: hci0: Failed to send firmware data (-38) Followed by this later on: [ 11.509870] Bluetooth: hci0: Minimum firmware build 1 week 10 2014 [ 11.509988] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi [ 13.090308] Bluetooth: hci0: Waiting for firmware download to complete [ 13.090829] Bluetooth: hci0: Firmware loaded in 1549114 usecs [ 13.090987] Bluetooth: hci0: Waiting for device to boot [ 13.101958] Bluetooth: hci0: Device booted in 10818 usecs Bluetooth does successfully come up and the firmware is loaded. This behavior is consistent across all kernels I've tested. [YOCTO #10628]. (From OE-Core rev: 045ee89342ea8ce16e78fea9f1c73d978d66a337) 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>
* bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-componentsPeter Kjellerstedt2017-05-111-1/+1
| | | | | | | | | | The path to where to install and find the sysroot components is used in many places. This warrants it to get its own variable. (From OE-Core rev: 70a84b525470f72339568409daf84845904e4cab) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>