OEQA threading support and selftest migration
cover OEQA threading support and selftest migration
This series is the integration of tree main changes into the OEQA module,
* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same framework
The following changes since commit 5eed6c644f715783edb0d05926373e719442dd6a:
libpcap: add native package (2017-05-25 23:59:32 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib alimon/oeqa_integration
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/oeqa_integration
Aníbal Limón (25):
testsdk.bbclass: Remove unused import of OEStreamLogger oeqa/sdk/context.py: Import argparse_oe at OESDKTestContext.run method oeqa/sdk/context.py: Add return to OESDKTestContext.run() method oeqa/core: Don't expose OEStreamLogger in OETestContext oeqa/core/runner: OETestResult remove unneeded override of startTest oeqa/core: Move OETestContext.log{Summary, Details} into OETestResult oeqa/core/threaded: Add new module with OETestLoaderThreaded oeqa/core/threaded: Add OEStreamLoggerThreaded class oeqa/core/runner: OETestResult add internal _tc_map_results oeqa/core/threaded: Add OETestResultThreaded{,Internal} classes oeqa/core/threaded: Add support of OETestRunnerThreaded oeqa/core/threaded: Add OETestContextThreaded class oeqa/core/decorator/depends: Add support for threading mode oeqa/core/decorator/oetimeout: Add support for OEQA threaded mode oeqa/core/tests: Add tests of OEQA Threaded mode oeqa/sdkext/cases: Move sdk_update test into devtool module oeqa/sdk: Enable usage of OEQA thread mode
oeqa/core: Add list tests support in context and runner oeqa/core: Add support for run tests by module, class and name classes/test{export,images}: Change modules to list oeqa/runtime/case: Don't use OEQA framework internal methods scripts/oe-test: Move load_test_components to oeqa.utils oeqa/selftest: Move base class to case module oeqa/selftest/case: Don't figure out the testlayer inside
selftest: Migrate systemd_boot test case to the new framework
Leonardo Sandoval (11):
oeqa/core/README: Improve documentation
oeqa/core/case: fix typo on comment about exception name oeqa/core/context: Raise exception when a manifest is specified but
missing
oeqa/core/context: Use a default iterable modules object oeqa/core/context: Omit docstring output on XMLResult oeqa/core/context: Include a _pre_run method oeqa/selftest/case: Migrate case class to the new OEQA framework scripts/oe-selftest: Move {add,remove}_include files to case oeqa/selftest/case.py: Remove machine selection logic scripts/oe-selftest: Migrate to new framework into
oeqa.selftest.context
oeqa/selftest/cases: Migrate test cases into the new oe-qa framework
meta-yocto-bsp/lib/oeqa/selftest/__init__.py | 0
.../lib/oeqa/selftest/{ => cases}/systemd_boot.py | 14 +-
meta/classes/testexport.bbclass | 2 +-
meta/classes/testimage.bbclass | 6 +-
meta/classes/testsdk.bbclass | 13 +-
meta/lib/oeqa/core/README | 81 ++-
meta/lib/oeqa/core/case.py | 2 +-
meta/lib/oeqa/core/context.py | 127 +---
meta/lib/oeqa/core/decorator/depends.py | 8 +-
meta/lib/oeqa/core/decorator/oetimeout.py | 40 +-
meta/lib/oeqa/core/exception.py | 6 +
meta/lib/oeqa/core/loader.py | 66 +-
meta/lib/oeqa/core/runner.py | 192 ++++-
.../core/tests/cases/loader/threaded/threaded.py | 12 +
.../tests/cases/loader/threaded/threaded_alone.py | 8 +
.../cases/loader/threaded/threaded_depends.py | 10 +
.../tests/cases/loader/threaded/threaded_module.py | 12 +
meta/lib/oeqa/core/tests/common.py | 10 +
meta/lib/oeqa/core/tests/test_decorators.py | 12 +
meta/lib/oeqa/core/tests/test_loader.py | 30 +-
meta/lib/oeqa/core/threaded.py | 274 +++++++
meta/lib/oeqa/runtime/case.py | 8 +-
meta/lib/oeqa/sdk/context.py | 11 +-
meta/lib/oeqa/sdkext/cases/devtool.py | 32 +
meta/lib/oeqa/sdkext/cases/sdk_update.py | 39 -
meta/lib/oeqa/selftest/__init__.py | 2 -
meta/lib/oeqa/selftest/{base.py => case.py} | 220 +++---
.../selftest/{ => cases}/_sstatetests_noauto.py | 7 +-
meta/lib/oeqa/selftest/{ => cases}/archiver.py | 14 +-
meta/lib/oeqa/selftest/{ => cases}/bblayers.py | 24 +-
meta/lib/oeqa/selftest/{ => cases}/bbtests.py | 57 +-
meta/lib/oeqa/selftest/{ => cases}/buildhistory.py | 5 +-
meta/lib/oeqa/selftest/{ => cases}/buildoptions.py | 34 +-
.../oeqa/selftest/{ => cases}/containerimage.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/devtool.py | 68 +-
meta/lib/oeqa/selftest/{ => cases}/eSDK.py | 18 +-
.../lib/oeqa/selftest/{ => cases}/image_typedep.py | 4 +-
.../lib/oeqa/selftest/{ => cases}/imagefeatures.py | 16 +-
meta/lib/oeqa/selftest/{ => cases}/layerappend.py | 15 +-
meta/lib/oeqa/selftest/{ => cases}/liboe.py | 7 +-
.../{lic-checksum.py => cases/lic_checksum.py} | 8 +-
meta/lib/oeqa/selftest/{ => cases}/manifest.py | 52 +-
.../oeqa/selftest/{ => cases}/oelib/__init__.py | 0
.../selftest/{ => cases}/oelib/buildhistory.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/elf.py | 4 +-
.../lib/oeqa/selftest/{ => cases}/oelib/license.py | 6 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/path.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/types.py | 6 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/utils.py | 6 +-
meta/lib/oeqa/selftest/{ => cases}/oescripts.py | 15 +-
meta/lib/oeqa/selftest/{ => cases}/package.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/pkgdata.py | 29 +-
meta/lib/oeqa/selftest/{ => cases}/prservice.py | 27 +-
meta/lib/oeqa/selftest/{ => cases}/recipetool.py | 81 ++-
meta/lib/oeqa/selftest/{ => cases}/runqemu.py | 31 +-
.../{runtime-test.py => cases/runtime_test.py} | 15 +-
meta/lib/oeqa/selftest/{ => cases}/signing.py | 15 +-
meta/lib/oeqa/selftest/{ => cases}/sstate.py | 5 +-
meta/lib/oeqa/selftest/{ => cases}/sstatetests.py | 46 +-
meta/lib/oeqa/selftest/{ => cases}/tinfoil.py | 25 +-
meta/lib/oeqa/selftest/{ => cases}/wic.py | 84 +--
meta/lib/oeqa/selftest/context.py | 224 ++++++
meta/lib/oeqa/utils/__init__.py | 37 +-
scripts/oe-selftest | 791 +--------------------
scripts/oe-test | 34 +-
65 files changed, 1578 insertions(+), 1485 deletions(-)
delete mode 100644 meta-yocto-bsp/lib/oeqa/selftest/__init__.py
rename meta-yocto-bsp/lib/oeqa/selftest/{ => cases}/systemd_boot.py (91%)
create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded.py
create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_alone.py
create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_depends.py
create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_module.py
create mode 100644 meta/lib/oeqa/core/threaded.py
delete mode 100644 meta/lib/oeqa/sdkext/cases/sdk_update.py
delete mode 100644 meta/lib/oeqa/selftest/__init__.py
rename meta/lib/oeqa/selftest/{base.py => case.py} (46%)
rename meta/lib/oeqa/selftest/{ => cases}/_sstatetests_noauto.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/archiver.py (91%)
rename meta/lib/oeqa/selftest/{ => cases}/bblayers.py (94%)
rename meta/lib/oeqa/selftest/{ => cases}/bbtests.py (95%)
rename meta/lib/oeqa/selftest/{ => cases}/buildhistory.py (94%)
rename meta/lib/oeqa/selftest/{ => cases}/buildoptions.py (94%)
rename meta/lib/oeqa/selftest/{ => cases}/containerimage.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/devtool.py (99%)
rename meta/lib/oeqa/selftest/{ => cases}/eSDK.py (92%)
rename meta/lib/oeqa/selftest/{ => cases}/image_typedep.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/imagefeatures.py (95%)
rename meta/lib/oeqa/selftest/{ => cases}/layerappend.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/liboe.py (96%)
rename meta/lib/oeqa/selftest/{lic-checksum.py => cases/lic_checksum.py} (87%)
rename meta/lib/oeqa/selftest/{ => cases}/manifest.py (80%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/__init__.py (100%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/buildhistory.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/elf.py (92%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/license.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/path.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/types.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/utils.py (91%)
rename meta/lib/oeqa/selftest/{ => cases}/oescripts.py (72%)
rename meta/lib/oeqa/selftest/{ => cases}/package.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/pkgdata.py (96%)
rename meta/lib/oeqa/selftest/{ => cases}/prservice.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/recipetool.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/runqemu.py (92%)
rename meta/lib/oeqa/selftest/{runtime-test.py => cases/runtime_test.py} (97%)
rename meta/lib/oeqa/selftest/{ => cases}/signing.py (96%)
rename meta/lib/oeqa/selftest/{ => cases}/sstate.py (95%)
rename meta/lib/oeqa/selftest/{ => cases}/sstatetests.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/tinfoil.py (96%)
rename meta/lib/oeqa/selftest/{ => cases}/wic.py (97%)
create mode 100644 meta/lib/oeqa/selftest/context.pySignature · 1 line
2.1.4
PATCH 1/36 testsdk.bbclass: Remove unused import of OEStreamLogger
--- meta/classes/testsdk.bbclass | 1 - 1 file changed, 1 deletion(-)
meta/classes/testsdk.bbclass +0 -1
@@ -21,7 +21,6 @@ def testsdk_main(d): import logging from bb.utils import export_proxies - from oeqa.core.runner import OEStreamLogger from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor from oeqa.utils import make_logger_bitbake_compatible
Signature · 1 line
2.1.4
PATCH 2/36 oeqa/sdk/context.py: Import argparse_oe at OESDKTestContext.run method
In reply to Aníbal LimónThis import was at level of OESDKTestContext.register_commands but OESDKTestContext.run method need it to raise exceptions.
--- meta/lib/oeqa/sdk/context.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/lib/oeqa/sdk/context.py +2 -2
@@ -44,8 +44,6 @@ class OESDKTestContextExecutor(OETestContextExecutor): default_test_data = None def register_commands(self, logger, subparsers): - import argparse_oe - super(OESDKTestContextExecutor, self).register_commands(logger, subparsers) sdk_group = self.parser.add_argument_group('sdk options')
@@ -109,6 +107,8 @@ class OESDKTestContextExecutor(OETestContextExecutor): log(env) def run(self, logger, args): + import argparse_oe + if not args.sdk_dir: raise argparse_oe.ArgumentUsageError("No SDK directory "\ "specified please do, --sdk-dir SDK_DIR", self.name)
Signature · 1 line
2.1.4
PATCH 3/36 oeqa/sdk/context.py: Add return to OESDKTestContext.run() method
In reply to Aníbal LimónThe run() methods of a OETestContext's are expected to return the results.
--- meta/lib/oeqa/sdk/context.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/lib/oeqa/sdk/context.py +1 -1
@@ -128,6 +128,6 @@ class OESDKTestContextExecutor(OETestContextExecutor): "environment (%s) specified" % args.sdk_env, self.name) self.sdk_env = sdk_envs[args.sdk_env] - super(OESDKTestContextExecutor, self).run(logger, args) + return super(OESDKTestContextExecutor, self).run(logger, args) _executor_class = OESDKTestContextExecutor
Signature · 1 line
2.1.4
PATCH 4/36 oeqa/core: Don't expose OEStreamLogger in OETestContext
In reply to Aníbal LimónThe 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]
--- meta/lib/oeqa/core/context.py | 6 ++---- meta/lib/oeqa/core/runner.py | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-)
meta/lib/oeqa/core/context.py +2 -4
@@ -10,12 +10,11 @@ import collections import re from oeqa.core.loader import OETestLoader -from oeqa.core.runner import OETestRunner, OEStreamLogger, xmlEnabled +from oeqa.core.runner import OETestRunner, xmlEnabled class OETestContext(object): loaderClass = OETestLoader runnerClass = OETestRunner - streamLoggerClass = OEStreamLogger files_dir = os.path.abspath(os.path.join(os.path.dirname( os.path.abspath(__file__)), "../files"))
@@ -52,8 +51,7 @@ class OETestContext(object): self.suites = self.loader.discover() def runTests(self): - streamLogger = self.streamLoggerClass(self.logger) - self.runner = self.runnerClass(self, stream=streamLogger, verbosity=2) + self.runner = self.runnerClass(self, verbosity=2) self._run_start_time = time.time() result = self.runner.run(self.suites)
meta/lib/oeqa/core/runner.py +3 -0
@@ -48,12 +48,15 @@ class OETestResult(_TestResult): super(OETestResult, self).startTest(test) class OETestRunner(_TestRunner): + streamLoggerClass = OEStreamLogger + def __init__(self, tc, *args, **kwargs): if xmlEnabled: if not kwargs.get('output'): kwargs['output'] = os.path.join(os.getcwd(), 'TestResults_%s_%s' % (time.strftime("%Y%m%d%H%M%S"), os.getpid())) + kwargs['stream'] = self.streamLoggerClass(tc.logger) super(OETestRunner, self).__init__(*args, **kwargs) self.tc = tc self.resultclass = OETestResult
Signature · 1 line
2.1.4
PATCH 5/36 oeqa/core/runner: OETestResult remove unneeded override of startTest
In reply to Aníbal LimónI override this method before for keep track of results and forget to remove it, now isn't need.
--- meta/lib/oeqa/core/runner.py | 3 --- 1 file changed, 3 deletions(-)
meta/lib/oeqa/core/runner.py +0 -3
@@ -44,9 +44,6 @@ class OETestResult(_TestResult): self.tc._results['skipped'] = self.skipped self.tc._results['expectedFailures'] = self.expectedFailures - def startTest(self, test): - super(OETestResult, self).startTest(test) - class OETestRunner(_TestRunner): streamLoggerClass = OEStreamLogger
Signature · 1 line
2.1.4
PATCH 6/36 oeqa/core: Move OETestContext.log{Summary, Details} into OETestResult
In reply to Aníbal LimónThose 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]
--- meta/classes/testimage.bbclass | 4 +- meta/classes/testsdk.bbclass | 8 ++-- meta/lib/oeqa/core/context.py | 93 ++---------------------------------------- meta/lib/oeqa/core/runner.py | 88 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 96 deletions(-)
meta/classes/testimage.bbclass +2 -2
@@ -292,8 +292,8 @@ def testimage_main(d): # Show results (if we have them) if not results: bb.fatal('%s - FAILED - tests were interrupted during execution' % pn) - tc.logSummary(results, pn) - tc.logDetails() + results.logSummary(pn) + results.logDetails() if not results.wasSuccessful(): bb.fatal('%s - FAILED - check the task log and the ssh log' % pn)
meta/classes/testsdk.bbclass +4 -4
@@ -70,8 +70,8 @@ def testsdk_main(d): component = "%s %s" % (pn, OESDKTestContextExecutor.name) context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env)) - tc.logSummary(result, component, context_msg) - tc.logDetails() + result.logSummary(component, context_msg) + result.logDetails() if not result.wasSuccessful(): fail = True
@@ -172,8 +172,8 @@ def testsdkext_main(d): component = "%s %s" % (pn, OESDKExtTestContextExecutor.name) context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env)) - tc.logSummary(result, component, context_msg) - tc.logDetails() + result.logSummary(component, context_msg) + result.logDetails() if not result.wasSuccessful(): fail = True
meta/lib/oeqa/core/context.py +3 -90
113 lines not on this page · raw message
meta/lib/oeqa/core/runner.py +88 -0
100 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 7/36 oeqa/core/threaded: Add new module with OETestLoaderThreaded
In reply to Aníbal LimónThe 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]
--- meta/lib/oeqa/core/threaded.py | 91 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 meta/lib/oeqa/core/threaded.py
meta/lib/oeqa/core/threaded.py new file +91 -0
@@ -0,0 +1,91 @@ +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +import multiprocessing + +from unittest.suite import TestSuite +from oeqa.core.loader import OETestLoader + +class OETestLoaderThreaded(OETestLoader): + def __init__(self, tc, module_paths, modules, tests, modules_required, + filters, process_num=0, *args, **kwargs): + super(OETestLoaderThreaded, self).__init__(tc, module_paths, modules, + tests, modules_required, filters, *args, **kwargs) + + self.process_num = process_num + + def discover(self): + suite = super(OETestLoaderThreaded, self).discover() + + if self.process_num <= 0: + self.process_num = min(multiprocessing.cpu_count(), + len(suite._tests)) + + suites = [] + for _ in range(self.process_num): + suites.append(self.suiteClass()) + + def _search_for_module_idx(suites, case): + """ + Cases in the same module needs to be run + in the same thread because PyUnit keeps track + of setUp{Module, Class,} and tearDown{Module, Class,}. + """ + + for idx in range(self.process_num): + suite = suites[idx] + for c in suite._tests: + if case.__module__ == c.__module__: + return idx + + return -1 + + def _search_for_depend_idx(suites, depends): + """ + Dependency cases needs to be run in the same + thread, because OEQA framework look at the state + of dependant test to figure out if skip or not. + """ + + for idx in range(self.process_num): + suite = suites[idx] + + for case in suite._tests: + if case.id() in depends: + return idx + return -1 + + def _get_best_idx(suites): + sizes = [len(suite._tests) for suite in suites] + return sizes.index(min(sizes)) + + def _fill_suites(suite): + idx = -1 + for case in suite: + if isinstance(case, TestSuite): + _fill_suites(case) + else: + idx = _search_for_module_idx(suites, case) + + depends = {} + if 'depends' in self.tc._registry: + depends = self.tc._registry['depends'] + + if idx == -1 and case.id() in depends: + case_depends = depends[case.id()] + idx = _search_for_depend_idx(suites, case_depends) + + if idx == -1: + idx = _get_best_idx(suites) + + suites[idx].addTest(case) + _fill_suites(suite) + + suites_tmp = suites + suites = [] + for suite in suites_tmp: + if len(suite._tests) > 0: + suites.append(suite) + + return suites +
Signature · 1 line
2.1.4
PATCH 8/36 oeqa/core/threaded: Add OEStreamLoggerThreaded class
In reply to Aníbal LimónThe 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]
--- meta/lib/oeqa/core/threaded.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
meta/lib/oeqa/core/threaded.py +25 -0
@@ -1,10 +1,13 @@ # Copyright (C) 2017 Intel Corporation # Released under the MIT license (see COPYING.MIT) +import threading import multiprocessing from unittest.suite import TestSuite + from oeqa.core.loader import OETestLoader +from oeqa.core.runner import OEStreamLogger class OETestLoaderThreaded(OETestLoader): def __init__(self, tc, module_paths, modules, tests, modules_required,
@@ -89,3 +92,25 @@ class OETestLoaderThreaded(OETestLoader): return suites +class OEStreamLoggerThreaded(OEStreamLogger): + _lock = threading.Lock() + buffers = {} + + def write(self, msg): + tid = threading.get_ident() + + if not tid in self.buffers: + self.buffers[tid] = "" + + if msg: + self.buffers[tid] += msg + + def finish(self): + tid = threading.get_ident() + + self._lock.acquire() + self.logger.info('THREAD: %d' % tid) + self.logger.info('-' * 70) + for line in self.buffers[tid].split('\n'): + self.logger.info(line) + self._lock.release()
Signature · 1 line
2.1.4
PATCH 9/36 oeqa/core/runner: OETestResult add internal _tc_map_results
In reply to Aníbal LimónThis method is to assign results into the TestContext, create an internal one to support change implementation in Thread version.
[YOCTO #11450]
--- meta/lib/oeqa/core/runner.py | 2 ++ 1 file changed, 2 insertions(+)
meta/lib/oeqa/core/runner.py +2 -0
@@ -39,7 +39,9 @@ class OETestResult(_TestResult): super(OETestResult, self).__init__(*args, **kwargs) self.tc = tc + self._tc_map_results() + def _tc_map_results(self): self.tc._results['failures'] = self.failures self.tc._results['errors'] = self.errors self.tc._results['skipped'] = self.skipped
Signature · 1 line
2.1.4
PATCH 10/36 oeqa/core/threaded: Add OETestResultThreaded{, Internal} classes
In reply to Aníbal LimónThe 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]
--- meta/lib/oeqa/core/threaded.py | 73 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-)
meta/lib/oeqa/core/threaded.py +72 -1
@@ -7,7 +7,7 @@ import multiprocessing from unittest.suite import TestSuite from oeqa.core.loader import OETestLoader -from oeqa.core.runner import OEStreamLogger +from oeqa.core.runner import OEStreamLogger, OETestResult class OETestLoaderThreaded(OETestLoader): def __init__(self, tc, module_paths, modules, tests, modules_required,
@@ -114,3 +114,74 @@ class OEStreamLoggerThreaded(OEStreamLogger): for line in self.buffers[tid].split('\n'): self.logger.info(line) self._lock.release() + +class OETestResultThreadedInternal(OETestResult): + def _tc_map_results(self): + tid = threading.get_ident() + + # PyUnit generates a result for every test module run, test + # if the thread already has an entry to avoid lose the previous + # test module results. + if not tid in self.tc._results: + self.tc._results[tid] = {} + self.tc._results[tid]['failures'] = self.failures + self.tc._results[tid]['errors'] = self.errors + self.tc._results[tid]['skipped'] = self.skipped + self.tc._results[tid]['expectedFailures'] = self.expectedFailures + +class OETestResultThreaded(object): + _results = {} + _lock = threading.Lock() + + def __init__(self, tc): + self.tc = tc + + def _fill_tc_results(self): + tids = list(self.tc._results.keys()) + fields = ['failures', 'errors', 'skipped', 'expectedFailures'] + + for tid in tids: + result = self.tc._results[tid] + for field in fields: + if not field in self.tc._results: + self.tc._results[field] = [] + self.tc._results[field].extend(result[field]) + + def addResult(self, result, run_start_time, run_end_time): + tid = threading.get_ident() + + self._lock.acquire() + self._results[tid] = {} + self._results[tid]['result'] = result + self._results[tid]['run_start_time'] = run_start_time + self._results[tid]['run_end_time'] = run_end_time + self._results[tid]['result'] = result + self._lock.release() + + def wasSuccessful(self): + wasSuccessful = True + for tid in self._results.keys(): + wasSuccessful = wasSuccessful and \ + self._results[tid]['result'].wasSuccessful() + return wasSuccessful + + def stop(self): + for tid in self._results.keys(): + self._results[tid]['result'].stop() + + def logSummary(self, component, context_msg=''): + elapsed_time = (self.tc._run_end_time - self.tc._run_start_time) + + self.tc.logger.info("SUMMARY:") + self.tc.logger.info("%s (%s) - Ran %d tests in %.3fs" % (component, + context_msg, len(self.tc._registry['cases']), elapsed_time)) + if self.wasSuccessful(): + msg = "%s - OK - All required tests passed" % component + else: + msg = "%s - FAIL - Required tests failed" % component + self.tc.logger.info(msg) + + def logDetails(self): + tid = list(self._results)[0] + result = self._results[tid]['result'] + result.logDetails()
Signature · 1 line
2.1.4
PATCH 11/36 oeqa/core/threaded: Add support of OETestRunnerThreaded
In reply to Aníbal LimónThe 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]
--- meta/lib/oeqa/core/threaded.py | 75 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-)
meta/lib/oeqa/core/threaded.py +74 -1
@@ -3,11 +3,13 @@ import threading import multiprocessing +import queue +import time from unittest.suite import TestSuite from oeqa.core.loader import OETestLoader -from oeqa.core.runner import OEStreamLogger, OETestResult +from oeqa.core.runner import OEStreamLogger, OETestResult, OETestRunner class OETestLoaderThreaded(OETestLoader): def __init__(self, tc, module_paths, modules, tests, modules_required,
@@ -185,3 +187,74 @@ class OETestResultThreaded(object): tid = list(self._results)[0] result = self._results[tid]['result'] result.logDetails() + +class _Worker(threading.Thread): + """Thread executing tasks from a given tasks queue""" + def __init__(self, tasks, result, stream): + threading.Thread.__init__(self) + self.tasks = tasks + + self.result = result + self.stream = stream + + def run(self): + while True: + try: + func, args, kargs = self.tasks.get(block=False) + except queue.Empty: + break + + try: + run_start_time = time.time() + rc = func(*args, **kargs) + run_end_time = time.time() + self.result.addResult(rc, run_start_time, run_end_time) + self.stream.finish() + except Exception as e: + print(e) + finally: + self.tasks.task_done() + +class _ThreadedPool: + """Pool of threads consuming tasks from a queue""" + def __init__(self, num_workers, num_tasks, stream=None, result=None): + self.tasks = queue.Queue(num_tasks) + self.workers = [] + + for _ in range(num_workers): + worker = _Worker(self.tasks, result, stream) + self.workers.append(worker) + + def start(self): + for worker in self.workers: + worker.start() + + def add_task(self, func, *args, **kargs): + """Add a task to the queue""" + self.tasks.put((func, args, kargs)) + + def wait_completion(self): + """Wait for completion of all the tasks in the queue""" + self.tasks.join() + for worker in self.workers: + worker.join() + +class OETestRunnerThreaded(OETestRunner): + streamLoggerClass = OEStreamLoggerThreaded + + def __init__(self, tc, *args, **kwargs): + super(OETestRunnerThreaded, self).__init__(tc, *args, **kwargs) + self.resultclass = OETestResultThreadedInternal # XXX: XML reporting overrides at __init__ + + def run(self, suites): + result = OETestResultThreaded(self.tc) + + pool = _ThreadedPool(len(suites), len(suites), stream=self.stream, + result=result) + for s in suites: + pool.add_task(super(OETestRunnerThreaded, self).run, s) + pool.start() + pool.wait_completion() + result._fill_tc_results() + + return result
Signature · 1 line
2.1.4
PATCH 12/36 oeqa/core/threaded: Add OETestContextThreaded class
In reply to Aníbal LimónThis class sets the {loader,runner}Class to the threaded versions and overrides loadTests method to be able specify the process_num.
[YOCTO #11450]
--- meta/lib/oeqa/core/threaded.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
meta/lib/oeqa/core/threaded.py +14 -0
@@ -10,6 +10,7 @@ from unittest.suite import TestSuite from oeqa.core.loader import OETestLoader from oeqa.core.runner import OEStreamLogger, OETestResult, OETestRunner +from oeqa.core.context import OETestContext class OETestLoaderThreaded(OETestLoader): def __init__(self, tc, module_paths, modules, tests, modules_required,
@@ -258,3 +259,16 @@ class OETestRunnerThreaded(OETestRunner): result._fill_tc_results() return result + +class OETestContextThreaded(OETestContext): + loaderClass = OETestLoaderThreaded + runnerClass = OETestRunnerThreaded + + def loadTests(self, module_paths, modules=[], tests=[], + modules_manifest="", modules_required=[], filters={}, process_num=0): + if modules_manifest: + modules = self._read_modules_from_manifest(modules_manifest) + + self.loader = self.loaderClass(self, module_paths, modules, tests, + modules_required, filters, process_num) + self.suites = self.loader.discover()
Signature · 1 line
2.1.4
PATCH 13/36 oeqa/core/decorator/depends: Add support for threading mode
In reply to Aníbal LimónThe _skipTestDependency needs to know if the thread mode is enabled because the _results are by thread.
[YOCTO #11450]
--- meta/lib/oeqa/core/decorator/depends.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
meta/lib/oeqa/core/decorator/depends.py +7 -1
@@ -3,6 +3,7 @@ from unittest import SkipTest +from oeqa.core.threaded import OETestRunnerThreaded from oeqa.core.exception import OEQADependency from . import OETestDiscover, registerDecorator
@@ -63,7 +64,12 @@ def _order_test_case_by_depends(cases, depends): return [cases[case_id] for case_id in cases_ordered] def _skipTestDependency(case, depends): - results = case.tc._results + if isinstance(case.tc.runner, OETestRunnerThreaded): + import threading + results = case.tc._results[threading.get_ident()] + else: + results = case.tc._results + skipReasons = ['errors', 'failures', 'skipped'] for reason in skipReasons:
Signature · 1 line
2.1.4
PATCH 14/36 oeqa/core/decorator/oetimeout: Add support for OEQA threaded mode
In reply to Aníbal LimónIn 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]
--- meta/lib/oeqa/core/decorator/oetimeout.py | 40 +++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 10 deletions(-)
meta/lib/oeqa/core/decorator/oetimeout.py +30 -10
@@ -1,8 +1,12 @@ # Copyright (C) 2016 Intel Corporation # Released under the MIT license (see COPYING.MIT) -import signal from . import OETestDecorator, registerDecorator + +import signal +from threading import Timer + +from oeqa.core.threaded import OETestRunnerThreaded from oeqa.core.exception import OEQATimeoutError @registerDecorator
@@ -10,16 +14,32 @@ class OETimeout(OETestDecorator): attrs = ('oetimeout',) def setUpDecorator(self): - timeout = self.oetimeout - def _timeoutHandler(signum, frame): - raise OEQATimeoutError("Timed out after %s " + self.logger.debug("Setting up a %d second(s) timeout" % self.oetimeout) + + if isinstance(self.case.tc.runner, OETestRunnerThreaded): + self.timeouted = False + def _timeoutHandler(): + self.timeouted = True + + self.timer = Timer(self.oetimeout, _timeoutHandler) + self.timer.start() + else: + timeout = self.oetimeout + def _timeoutHandler(signum, frame): + raise OEQATimeoutError("Timed out after %s " "seconds of execution" % timeout) - self.logger.debug("Setting up a %d second(s) timeout" % self.oetimeout) - self.alarmSignal = signal.signal(signal.SIGALRM, _timeoutHandler) - signal.alarm(self.oetimeout) + self.alarmSignal = signal.signal(signal.SIGALRM, _timeoutHandler) + signal.alarm(self.oetimeout) def tearDownDecorator(self): - signal.alarm(0) - signal.signal(signal.SIGALRM, self.alarmSignal) - self.logger.debug("Removed SIGALRM handler") + if isinstance(self.case.tc.runner, OETestRunnerThreaded): + self.timer.cancel() + self.logger.debug("Removed Timer handler") + if self.timeouted: + raise OEQATimeoutError("Timed out after %s " + "seconds of execution" % self.oetimeout) + else: + signal.alarm(0) + signal.signal(signal.SIGALRM, self.alarmSignal) + self.logger.debug("Removed SIGALRM handler")
Signature · 1 line
2.1.4
PATCH 15/36 oeqa/core/tests: Add tests of OEQA Threaded mode
In reply to Aníbal LimónAdd 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]
--- .../core/tests/cases/loader/threaded/threaded.py | 12 +++++++++ .../tests/cases/loader/threaded/threaded_alone.py | 8 ++++++ .../cases/loader/threaded/threaded_depends.py | 10 ++++++++ .../tests/cases/loader/threaded/threaded_module.py | 12 +++++++++ meta/lib/oeqa/core/tests/common.py | 10 ++++++++ meta/lib/oeqa/core/tests/test_decorators.py | 12 +++++++++ meta/lib/oeqa/core/tests/test_loader.py | 30 +++++++++++++++++++++- 7 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded.py create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_alone.py create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_depends.py create mode 100644 meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_module.py
meta/lib/oeqa/core/tests/cases/loader/threaded/threaded.py new file +12 -0
@@ -0,0 +1,12 @@ +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +from oeqa.core.case import OETestCase + +class ThreadedTest(OETestCase): + def test_threaded_no_depends(self): + self.assertTrue(True, msg='How is this possible?') + +class ThreadedTest2(OETestCase): + def test_threaded_same_module(self): + self.assertTrue(True, msg='How is this possible?')
meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_alone.py new file +8 -0
@@ -0,0 +1,8 @@ +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +from oeqa.core.case import OETestCase + +class ThreadedTestAlone(OETestCase): + def test_threaded_alone(self): + self.assertTrue(True, msg='How is this possible?')
meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_depends.py new file +10 -0
@@ -0,0 +1,10 @@ +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +from oeqa.core.case import OETestCase +from oeqa.core.decorator.depends import OETestDepends + +class ThreadedTest3(OETestCase): + @OETestDepends(['threaded.ThreadedTest.test_threaded_no_depends']) + def test_threaded_depends(self): + self.assertTrue(True, msg='How is this possible?')
meta/lib/oeqa/core/tests/cases/loader/threaded/threaded_module.py new file +12 -0
@@ -0,0 +1,12 @@ +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +from oeqa.core.case import OETestCase + +class ThreadedTestModule(OETestCase): + def test_threaded_module(self): + self.assertTrue(True, msg='How is this possible?') + +class ThreadedTestModule2(OETestCase): + def test_threaded_module2(self): + self.assertTrue(True, msg='How is this possible?')
meta/lib/oeqa/core/tests/common.py +10 -0
@@ -33,3 +33,13 @@ class TestBase(unittest.TestCase): tc.loadTests(self.cases_path, modules=modules, tests=tests, filters=filters) return tc + + def _testLoaderThreaded(self, d={}, modules=[], + tests=[], filters={}): + from oeqa.core.threaded import OETestContextThreaded + + tc = OETestContextThreaded(d, self.logger) + tc.loadTests(self.cases_path, modules=modules, tests=tests, + filters=filters) + + return tc
meta/lib/oeqa/core/tests/test_decorators.py +12 -0
@@ -131,5 +131,17 @@ class TestTimeoutDecorator(TestBase): msg = "OETestTimeout didn't restore SIGALRM" self.assertIs(alarm_signal, signal.getsignal(signal.SIGALRM), msg=msg) + def test_timeout_thread(self): + tests = ['timeout.TimeoutTest.testTimeoutPass'] + msg = 'Failed to run test using OETestTimeout' + tc = self._testLoaderThreaded(modules=self.modules, tests=tests) + self.assertTrue(tc.runTests().wasSuccessful(), msg=msg) + + def test_timeout_threaded_fail(self): + tests = ['timeout.TimeoutTest.testTimeoutFail'] + msg = "OETestTimeout test didn't timeout as expected" + tc = self._testLoaderThreaded(modules=self.modules, tests=tests) + self.assertFalse(tc.runTests().wasSuccessful(), msg=msg) + if __name__ == '__main__': unittest.main()
meta/lib/oeqa/core/tests/test_loader.py +29 -1
@@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# Copyright (C) 2016 Intel Corporation +# Copyright (C) 2016-2017 Intel Corporation # Released under the MIT license (see COPYING.MIT) import os
@@ -82,5 +82,33 @@ class TestLoader(TestBase): msg = 'Expected modules from two different paths' self.assertEqual(modules, expected_modules, msg=msg) + def test_loader_threaded(self): + cases_path = self.cases_path + + self.cases_path = [os.path.join(self.cases_path, 'loader', 'threaded')] + + tc = self._testLoaderThreaded() + self.assertEqual(len(tc.suites), 3, "Expected to be 3 suites") + + case_ids = ['threaded.ThreadedTest.test_threaded_no_depends', + 'threaded.ThreadedTest2.test_threaded_same_module', + 'threaded_depends.ThreadedTest3.test_threaded_depends'] + for case in tc.suites[0]._tests: + self.assertEqual(case.id(), + case_ids[tc.suites[0]._tests.index(case)]) + + case_ids = ['threaded_alone.ThreadedTestAlone.test_threaded_alone'] + for case in tc.suites[1]._tests: + self.assertEqual(case.id(), + case_ids[tc.suites[1]._tests.index(case)]) + + case_ids = ['threaded_module.ThreadedTestModule.test_threaded_module', + 'threaded_module.ThreadedTestModule2.test_threaded_module2'] + for case in tc.suites[2]._tests: + self.assertEqual(case.id(), + case_ids[tc.suites[2]._tests.index(case)]) + + self.cases_path = cases_path + if __name__ == '__main__': unittest.main()
Signature · 1 line
2.1.4
PATCH 16/36 oeqa/sdkext/cases: Move sdk_update test into devtool module
In reply to Aníbal LimónWith 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]
--- meta/lib/oeqa/sdkext/cases/devtool.py | 32 ++++++++++++++++++++++++++ meta/lib/oeqa/sdkext/cases/sdk_update.py | 39 -------------------------------- 2 files changed, 32 insertions(+), 39 deletions(-) delete mode 100644 meta/lib/oeqa/sdkext/cases/sdk_update.py
meta/lib/oeqa/sdkext/cases/devtool.py +32 -0
@@ -1,12 +1,14 @@ # Copyright (C) 2016 Intel Corporation # Released under the MIT license (see COPYING.MIT) +import os import shutil import subprocess from oeqa.sdkext.case import OESDKExtTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.httpserver import HTTPService class DevtoolTest(OESDKExtTestCase): @classmethod
@@ -95,3 +97,33 @@ class DevtoolTest(OESDKExtTestCase): self._run('devtool build %s ' % package_nodejs) finally: self._run('devtool reset %s '% package_nodejs) + +class SdkUpdateTest(OESDKExtTestCase): + @classmethod + def setUpClass(self): + self.publish_dir = os.path.join(self.tc.sdk_dir, 'esdk_publish') + if os.path.exists(self.publish_dir): + shutil.rmtree(self.publish_dir) + os.mkdir(self.publish_dir) + + base_tcname = "%s/%s" % (self.td.get("SDK_DEPLOY", ''), + self.td.get("TOOLCHAINEXT_OUTPUTNAME", '')) + tcname_new = "%s-new.sh" % base_tcname + if not os.path.exists(tcname_new): + tcname_new = "%s.sh" % base_tcname + + cmd = 'oe-publish-sdk %s %s' % (tcname_new, self.publish_dir) + subprocess.check_output(cmd, shell=True) + + self.http_service = HTTPService(self.publish_dir) + self.http_service.start() + + self.http_url = "http://127.0.0.1:%d" % self.http_service.port + + def test_sdk_update_http(self): + output = self._run("devtool sdk-update \"%s\"" % self.http_url) + + @classmethod + def tearDownClass(self): + self.http_service.stop() + shutil.rmtree(self.publish_dir)
meta/lib/oeqa/sdkext/cases/sdk_update.py deleted +0 -39
@@ -1,39 +0,0 @@ -# Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) - -import os -import shutil -import subprocess - -from oeqa.sdkext.case import OESDKExtTestCase -from oeqa.utils.httpserver import HTTPService - -class SdkUpdateTest(OESDKExtTestCase): - @classmethod - def setUpClass(self): - self.publish_dir = os.path.join(self.tc.sdk_dir, 'esdk_publish') - if os.path.exists(self.publish_dir): - shutil.rmtree(self.publish_dir) - os.mkdir(self.publish_dir) - - base_tcname = "%s/%s" % (self.td.get("SDK_DEPLOY", ''), - self.td.get("TOOLCHAINEXT_OUTPUTNAME", '')) - tcname_new = "%s-new.sh" % base_tcname - if not os.path.exists(tcname_new): - tcname_new = "%s.sh" % base_tcname - - cmd = 'oe-publish-sdk %s %s' % (tcname_new, self.publish_dir) - subprocess.check_output(cmd, shell=True) - - self.http_service = HTTPService(self.publish_dir) - self.http_service.start() - - self.http_url = "http://127.0.0.1:%d" % self.http_service.port - - def test_sdk_update_http(self): - output = self._run("devtool sdk-update \"%s\"" % self.http_url) - - @classmethod - def tearDownClass(self): - self.http_service.stop() - shutil.rmtree(self.publish_dir)
Signature · 1 line
2.1.4
PATCH 17/36 oeqa/sdk: Enable usage of OEQA thread mode
In reply to Aníbal Limónoeqa/sdk/context.py - Use OETestContextThreaded. classes/testsdk.bbclass - Enable bb event thread mode to avoid corrupt the PIPE when multiple threads writes.
[YOCTO #11450]
--- meta/classes/testsdk.bbclass | 4 ++++ meta/lib/oeqa/sdk/context.py | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-)
meta/classes/testsdk.bbclass +4 -0
@@ -24,6 +24,8 @@ def testsdk_main(d): from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor from oeqa.utils import make_logger_bitbake_compatible + bb.event.enable_threadlock() + pn = d.getVar("PN") logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
@@ -97,6 +99,8 @@ def testsdkext_main(d): from oeqa.utils import avoid_paths_in_environ, make_logger_bitbake_compatible, subprocesstweak from oeqa.sdkext.context import OESDKExtTestContext, OESDKExtTestContextExecutor + bb.event.enable_threadlock() + pn = d.getVar("PN") logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
meta/lib/oeqa/sdk/context.py +3 -2
@@ -6,9 +6,10 @@ import sys import glob import re -from oeqa.core.context import OETestContext, OETestContextExecutor +from oeqa.core.context import OETestContextExecutor +from oeqa.core.threaded import OETestContextThreaded -class OESDKTestContext(OETestContext): +class OESDKTestContext(OETestContextThreaded): sdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files") def __init__(self, td=None, logger=None, sdk_dir=None, sdk_env=None,
Signature · 1 line
2.1.4
PATCH 18/36 oeqa/core: Add list tests support in context and runner
In reply to Aníbal LimónA common operation is to list tests, currently only selftest support it, this changes enables this functionality into the core framework.
--- meta/lib/oeqa/core/context.py | 22 +++++++--- meta/lib/oeqa/core/runner.py | 98 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 5 deletions(-)
meta/lib/oeqa/core/context.py +17 -5
@@ -58,6 +58,10 @@ class OETestContext(object): return result + def listTests(self, display_type): + self.runner = self.runnerClass(self, verbosity=2) + return self.runner.list_tests(self.suites, display_type) + class OETestContextExecutor(object): _context_class = OETestContext
@@ -79,9 +83,14 @@ class OETestContextExecutor(object): self.parser.add_argument('--output-log', action='store', default=self.default_output_log, help="results output log, default: %s" % self.default_output_log) - self.parser.add_argument('--run-tests', action='store', + + group = self.parser.add_mutually_exclusive_group() + group.add_argument('--run-tests', action='store', default=self.default_tests, help="tests to run in <module>[.<class>[.<name>]] format. Just works for modules now") + group.add_argument('--list-tests', action='store', + choices=('module', 'class', 'name'), + help="lists available tests") if self.default_test_data: self.parser.add_argument('--test-data-file', action='store',
@@ -126,7 +135,6 @@ class OETestContextExecutor(object): else: self.tc_kwargs['init']['td'] = {} - if args.run_tests: self.tc_kwargs['load']['modules'] = args.run_tests.split() else:
@@ -139,9 +147,13 @@ class OETestContextExecutor(object): self.tc = self._context_class(**self.tc_kwargs['init']) self.tc.loadTests(self.module_paths, **self.tc_kwargs['load']) - rc = self.tc.runTests(**self.tc_kwargs['run']) - rc.logSummary(self.name) - rc.logDetails() + + if args.list_tests: + rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run']) + else: + rc = self.tc.runTests(**self.tc_kwargs['run']) + rc.logSummary(self.name) + rc.logDetails() output_link = os.path.join(os.path.dirname(args.output_log), "%s-results.log" % self.name)
meta/lib/oeqa/core/runner.py +98 -0
107 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 19/36 oeqa/core: Add support for run tests by module, class and name
In reply to Aníbal LimónThis will enable only run certain module tests and filter by class and test name.
--- meta/lib/oeqa/core/context.py | 6 ++-- meta/lib/oeqa/core/loader.py | 66 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 4 deletions(-)
meta/lib/oeqa/core/context.py +3 -3
@@ -85,9 +85,9 @@ class OETestContextExecutor(object): help="results output log, default: %s" % self.default_output_log) group = self.parser.add_mutually_exclusive_group() - group.add_argument('--run-tests', action='store', + group.add_argument('--run-tests', action='store', nargs='+', default=self.default_tests, - help="tests to run in <module>[.<class>[.<name>]] format. Just works for modules now") + help="tests to run in <module>[.<class>[.<name>]]") group.add_argument('--list-tests', action='store', choices=('module', 'class', 'name'), help="lists available tests")
@@ -136,7 +136,7 @@ class OETestContextExecutor(object): self.tc_kwargs['init']['td'] = {} if args.run_tests: - self.tc_kwargs['load']['modules'] = args.run_tests.split() + self.tc_kwargs['load']['modules'] = args.run_tests else: self.tc_kwargs['load']['modules'] = None
meta/lib/oeqa/core/loader.py +65 -1
84 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 20/36 classes/test{export, images}: Change modules to list
In reply to Aníbal LimónWith the new filters by <module>.[class].[testname] the modules arg is expected to be a list so use split into TEST_SUITES variable.
--- meta/classes/testexport.bbclass | 2 +- meta/classes/testimage.bbclass | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
meta/classes/testexport.bbclass +1 -1
@@ -113,7 +113,7 @@ def copy_needed_files(d, tc): oe.path.remove(cases_path) bb.utils.mkdirhier(cases_path) test_paths = get_runtime_paths(d) - test_modules = d.getVar('TEST_SUITES') + test_modules = d.getVar('TEST_SUITES').split() tc.loadTests(test_paths, modules=test_modules) for f in getSuiteCasesFiles(tc.suites): shutil.copy2(f, cases_path)
meta/classes/testimage.bbclass +1 -1
@@ -257,7 +257,7 @@ def testimage_main(d): # Load tests before starting the target test_paths = get_runtime_paths(d) - test_modules = d.getVar('TEST_SUITES') + test_modules = d.getVar('TEST_SUITES').split() tc.loadTests(test_paths, modules=test_modules) if not getSuiteCases(tc.suites):
Signature · 1 line
2.1.4
PATCH 21/36 oeqa/runtime/case: Don't use OEQA framework internal methods
In reply to Aníbal LimónThe 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.
--- meta/lib/oeqa/runtime/case.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
meta/lib/oeqa/runtime/case.py +4 -4
@@ -8,10 +8,10 @@ class OERuntimeTestCase(OETestCase): # target instance set by OERuntimeTestLoader. target = None - def _oeSetUp(self): - super(OERuntimeTestCase, self)._oeSetUp() + def setUp(self): + super(OERuntimeTestCase, self).setUp() install_package(self) - def _oeTearDown(self): - super(OERuntimeTestCase, self)._oeTearDown() + def tearDown(self): + super(OERuntimeTestCase, self).tearDown() uninstall_package(self)
Signature · 1 line
2.1.4
PATCH 22/36 oeqa/core/README: Improve documentation
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
Most of the text include on this text refactor came from [1].
[1] http://lists.openembedded.org/pipermail/openembedded-architecture/2016-December/000351.html
--- meta/lib/oeqa/core/README | 81 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 60 insertions(+), 21 deletions(-)
meta/lib/oeqa/core/README +60 -21
@@ -1,38 +1,77 @@ -= OEQA Framework = += OEQA (v2) Framework = == Introduction == -This is the new OEQA framework the base clases of the framework -are in this module oeqa/core the subsequent components needs to -extend this classes. +This is the new (version 2) OEQA framework. Base clases are located inside the +'oeqa/core' folder and subsequent components needs to extend from these. -A new/unique runner was created called oe-test and is under scripts/ -oe-test, this new runner scans over oeqa module searching for test -components that supports OETestContextExecutor implemented in context -module (i.e. oeqa/core/context.py). +The main design consideration was to implement the needed functionality +on top of Python unittest framework. To archive the latter, the following +modules are present: -For execute an example: + * oeqa/core/runner.py: Provides OETestResult and OETestRunner base + classes extending the unittest ones. This class has the support for + export results to different formats currently RAW and XML. -$ source oe-init-build-env -$ oe-test core + * oeqa/core/loader.py: Provides OETestLoader extending unittest ones, + also implements unified way for decorator support and for filtering test + cases. -For list supported components: + * oeqa/core/case.py: Provides OETestCase base class extending + unittest.TestCase and provides access to the Test data (td), Test context + and Logger functionality. -$ oe-test -h + * oeqa/core/decorator: Provides OETestDecorator a new class to implement + decorators for Test cases. -== Create new Test component == + * oeqa/core/context: Provides OETestContext a high-level API for + loadTests and runTests of certain Test component and + OETestContextExecutor a base class to enable oe-test to discover/use + the Test component. -Usally for add a new Test component the developer needs to extend -OETestContext/OETestContextExecutor in context.py and OETestCase in -case.py. +In the other hand, a new 'oe-test' runner is located under 'scripts', allowing scans for components +that supports OETestContextExecutor (see below). -== How to run the testing of the OEQA framework == +== Terminology == + + * Test component: The area of testing in the Project, for example: runtime, SDK, eSDK, selftest. + + * Test data: Data associated with the Test component. Currently we use bitbake datastore as + a Test data input. + + * Test context: A context of what tests needs to be run and how to do it, additionally provides + access to the Test data and could have custom methods, attrs. + +== oe-test == + +The new tool oe-test (located at scripts) has the ability to scan the code base for test +components and provide a unified way to run test cases. Internally it scans folders inside +oeqa module in order to find specific classes that +implements a test component. + +== Usage == + +Executing the example test component + + $ source oe-init-build-env + $ oe-test core + +Getting help + + $ oe-test -h + +== Creating new Test Component == + +Adding a new test component the developer needs to extend OETestContext/OETestContextExecutor +(from context.py) and OETestCase (from case.py) + +== Selftesting the framework == Run all tests: -$ PATH=$PATH:../../ python3 -m unittest discover -s tests + $ PATH=$PATH:../../ python3 -m unittest discover -s tests Run some test: -$ cd tests/ -$ ./test_data.py + $ cd tests/ + $ ./test_data.py
Signature · 1 line
2.1.4
PATCH 23/36 oeqa/core/case: fix typo on comment about exception name
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
--- meta/lib/oeqa/core/case.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/lib/oeqa/core/case.py +1 -1
@@ -23,7 +23,7 @@ class OETestCase(unittest.TestCase): # td_vars has the variables needed by a test class # or test case instance, if some var isn't into td a - # OEMissingVariable exception is raised + # OEQAMissingVariable exception is raised td_vars = None @classmethod
Signature · 1 line
2.1.4
PATCH 24/36 oeqa/core/context: Raise exception when a manifest is specified but missing
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
--- meta/lib/oeqa/core/context.py | 3 ++- meta/lib/oeqa/core/exception.py | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-)
meta/lib/oeqa/core/context.py +2 -1
@@ -10,6 +10,7 @@ import collections from oeqa.core.loader import OETestLoader from oeqa.core.runner import OETestRunner +from oeqa.core.exception import OEQAMissingManifest class OETestContext(object): loaderClass = OETestLoader
@@ -30,7 +31,7 @@ class OETestContext(object): def _read_modules_from_manifest(self, manifest): if not os.path.exists(manifest): - raise + raise OEQAMissingManifest("Manifest does not exist on %s" % manifest) modules = [] for line in open(manifest).readlines():
meta/lib/oeqa/core/exception.py +3 -0
@@ -12,3 +12,6 @@ class OEQAMissingVariable(OEQAException): class OEQADependency(OEQAException): pass + +class OEQAMissingManifest(OEQAException): + pass
Signature · 1 line
2.1.4
PATCH 25/36 oeqa/core/context: Use a default iterable modules object
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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
--- meta/lib/oeqa/core/context.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/lib/oeqa/core/context.py +1 -1
@@ -139,7 +139,7 @@ class OETestContextExecutor(object): if args.run_tests: self.tc_kwargs['load']['modules'] = args.run_tests else: - self.tc_kwargs['load']['modules'] = None + self.tc_kwargs['load']['modules'] = [] self.module_paths = args.CASES_PATHS
Signature · 1 line
2.1.4
PATCH 26/36 oeqa/core/context: Omit docstring output on XMLResult
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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.
--- meta/lib/oeqa/core/context.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/lib/oeqa/core/context.py +1 -1
@@ -51,7 +51,7 @@ class OETestContext(object): self.suites = self.loader.discover() def runTests(self): - self.runner = self.runnerClass(self, verbosity=2) + self.runner = self.runnerClass(self, descriptions=False, verbosity=2) self._run_start_time = time.time() result = self.runner.run(self.suites)
Signature · 1 line
2.1.4
PATCH 27/36 oeqa/core/context: Include a _pre_run method
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
This pre runner will serve to allow Test components executes code previously of the run a suite.
--- meta/lib/oeqa/core/context.py | 4 ++++ meta/lib/oeqa/core/exception.py | 3 +++ scripts/oe-test | 3 +++ 3 files changed, 10 insertions(+)
meta/lib/oeqa/core/context.py +4 -0
@@ -143,6 +143,9 @@ class OETestContextExecutor(object): self.module_paths = args.CASES_PATHS + def _pre_run(self): + pass + def run(self, logger, args): self._process_args(logger, args)
@@ -152,6 +155,7 @@ class OETestContextExecutor(object): if args.list_tests: rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run']) else: + self._pre_run() rc = self.tc.runTests(**self.tc_kwargs['run']) rc.logSummary(self.name) rc.logDetails()
meta/lib/oeqa/core/exception.py +3 -0
@@ -15,3 +15,6 @@ class OEQADependency(OEQAException): class OEQAMissingManifest(OEQAException): pass + +class OEQAPreRun(OEQAException): + pass
scripts/oe-test +3 -0
@@ -26,6 +26,7 @@ except ImportError: pass from oeqa.core.context import OETestContextExecutor +from oeqa.core.exception import OEQAPreRun logger = scriptutils.logger_create('oe-test')
@@ -92,6 +93,8 @@ def main(): ret = err.code except argparse_oe.ArgumentUsageError as ae: parser.error_subcommand(ae.message, ae.subcommand) + except OEQAPreRun as pr: + ret = 1 return ret
Signature · 1 line
2.1.4
PATCH 28/36 scripts/oe-test: Move load_test_components to oeqa.utils
In reply to Aníbal LimónIn 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).
--- meta/lib/oeqa/core/context.py | 1 + meta/lib/oeqa/utils/__init__.py | 37 ++++++++++++++++++++++++++++++++++++- scripts/oe-test | 31 ++----------------------------- 3 files changed, 39 insertions(+), 30 deletions(-)
meta/lib/oeqa/core/context.py +1 -0
@@ -65,6 +65,7 @@ class OETestContext(object): class OETestContextExecutor(object): _context_class = OETestContext + _script_executor = 'oe-test' name = 'core' help = 'core test component example'
meta/lib/oeqa/utils/__init__.py +36 -1
@@ -2,7 +2,6 @@ from pkgutil import extend_path __path__ = extend_path(__path__, __name__) - # Borrowed from CalledProcessError class CommandError(Exception):
@@ -66,3 +65,39 @@ def make_logger_bitbake_compatible(logger): logger.info = _bitbake_log_info return logger + +def load_test_components(logger, executor): + import sys + import os + import importlib + + from oeqa.core.context import OETestContextExecutor + + components = {} + + for path in sys.path: + base_dir = os.path.join(path, 'oeqa') + if os.path.exists(base_dir) and os.path.isdir(base_dir): + for file in os.listdir(base_dir): + comp_name = file + comp_context = os.path.join(base_dir, file, 'context.py') + if os.path.exists(comp_context): + comp_plugin = importlib.import_module('oeqa.%s.%s' % \ + (comp_name, 'context')) + try: + if not issubclass(comp_plugin._executor_class, + OETestContextExecutor): + raise TypeError("Component %s in %s, _executor_class "\ + "isn't derived from OETestContextExecutor."\ + % (comp_name, comp_context)) + + if comp_plugin._executor_class._script_executor \ + != executor: + continue + + components[comp_name] = comp_plugin._executor_class() + except AttributeError: + raise AttributeError("Component %s in %s don't have "\ + "_executor_class defined." % (comp_name, comp_context)) + + return components
scripts/oe-test +2 -29
@@ -8,7 +8,6 @@ import os import sys import argparse -import importlib import logging scripts_path = os.path.dirname(os.path.realpath(__file__))
@@ -25,37 +24,11 @@ try: except ImportError: pass -from oeqa.core.context import OETestContextExecutor +from oeqa.utils import load_test_components from oeqa.core.exception import OEQAPreRun logger = scriptutils.logger_create('oe-test') -def _load_test_components(logger): - components = {} - - for path in sys.path: - base_dir = os.path.join(path, 'oeqa') - if os.path.exists(base_dir) and os.path.isdir(base_dir): - for file in os.listdir(base_dir): - comp_name = file - comp_context = os.path.join(base_dir, file, 'context.py') - if os.path.exists(comp_context): - comp_plugin = importlib.import_module('oeqa.%s.%s' % \ - (comp_name, 'context')) - try: - if not issubclass(comp_plugin._executor_class, - OETestContextExecutor): - raise TypeError("Component %s in %s, _executor_class "\ - "isn't derived from OETestContextExecutor."\ - % (comp_name, comp_context)) - - components[comp_name] = comp_plugin._executor_class() - except AttributeError: - raise AttributeError("Component %s in %s don't have "\ - "_executor_class defined." % (comp_name, comp_context)) - - return components - def main(): parser = argparse_oe.ArgumentParser(description="OpenEmbedded test tool", add_help=False,
@@ -74,7 +47,7 @@ def main(): elif global_args.quiet: logger.setLevel(logging.ERROR) - components = _load_test_components(logger) + components = load_test_components(logger, 'oe-test') subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='<subcommand>') subparsers.add_subparser_group('components', 'Test components')
Signature · 1 line
2.1.4
PATCH 29/36 oeqa/selftest: Move base class to case module
In reply to Aníbal LimónTo match the new structure of the OEQA framework.
---
meta/lib/oeqa/selftest/{base.py => case.py} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename meta/lib/oeqa/selftest/{base.py => case.py} (100%)meta/lib/oeqa/selftest/case.py renamed from meta/lib/oeqa/selftest/base.py +0 -0
Signature · 1 line
2.1.4
PATCH 30/36 oeqa/selftest/case: Migrate case class to the new OEQA framework
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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.
--- meta/lib/oeqa/selftest/case.py | 111 +++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 60 deletions(-)
meta/lib/oeqa/selftest/case.py +51 -60
@@ -1,31 +1,19 @@ -# Copyright (c) 2013 Intel Corporation -# +# Copyright (C) 2013-2017 Intel Corporation # Released under the MIT license (see COPYING.MIT) - -# DESCRIPTION -# Base class inherited by test classes in meta/lib/oeqa/selftest - -import unittest -import os import sys +import os import shutil -import logging +import glob import errno - -import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer -from oeqa.utils.decorators import LogResults from random import choice -import glob from unittest.util import safe_repr -@LogResults -class oeSelfTest(unittest.TestCase): - - log = logging.getLogger("selftest.base") - longMessage = True +import oeqa.utils.ftools as ftools +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.core.case import OETestCase +class OESelftestTestCase(OETestCase): def __init__(self, methodName="runTest"): self.builddir = os.environ.get("BUILDDIR") self.localconf_path = os.path.join(self.builddir, "conf/local.conf")
@@ -36,23 +24,26 @@ class oeSelfTest(unittest.TestCase): "conf/bblayers.bk") self.testinc_bblayers_path = os.path.join(self.builddir, "conf/bblayers.inc") self.machineinc_path = os.path.join(self.builddir, "conf/machine.inc") - self.testlayer_path = oeSelfTest.testlayer_path + self.testlayer_path = get_test_layer() self._extra_tear_down_commands = [] self._track_for_cleanup = [ self.testinc_path, self.testinc_bblayers_path, self.machineinc_path, self.localconf_backup, self.local_bblayers_backup] - super(oeSelfTest, self).__init__(methodName) + + super(OESelftestTestCase, self).__init__(methodName) def setUp(self): + super(OESelftestTestCase, self).setUp() os.chdir(self.builddir) # Check if local.conf or bblayers.conf files backup exists # from a previous failed test and restore them if os.path.isfile(self.localconf_backup) or os.path.isfile( self.local_bblayers_backup): - self.log.debug("Found a local.conf and/or bblayers.conf backup \ -from a previously aborted test. Restoring these files now, but tests should \ -be re-executed from a clean environment to ensure accurate results.") + self.logger.debug("\ +Found a local.conf and/or bblayers.conf backup from a previously aborted test.\ +Restoring these files now, but tests should be re-executed from a clean environment\ +to ensure accurate results.") try: shutil.copyfile(self.localconf_backup, self.localconf_path) except OSError as e:
@@ -67,9 +58,8 @@ be re-executed from a clean environment to ensure accurate results.") else: # backup local.conf and bblayers.conf shutil.copyfile(self.localconf_path, self.localconf_backup) - shutil.copyfile(self.local_bblayers_path, - self.local_bblayers_backup) - self.log.debug("Creating local.conf and bblayers.conf backups.") + shutil.copyfile(self.local_bblayers_path, self.local_bblayers_backup) + self.logger.debug("Creating local.conf and bblayers.conf backups.") # we don't know what the previous test left around in config or inc files # if it failed so we need a fresh start try:
@@ -116,8 +106,8 @@ be re-executed from a clean environment to ensure accurate results.") if not result.status == 0: failed_extra_commands.append(command) if failed_extra_commands: - self.log.warning("tearDown commands have failed: %s" % ', '.join(map(str, failed_extra_commands))) - self.log.debug("Trying to move on.") + self.logger.warning("tearDown commands have failed: %s" % ', '.join(map(str, failed_extra_commands))) + self.logger.debug("Trying to move on.") self._extra_tear_down_commands = [] if self._track_for_cleanup:
@@ -129,90 +119,92 @@ be re-executed from a clean environment to ensure accurate results.") self._track_for_cleanup = [] self.tearDownLocal() + super(OESelftestTestCase, self).tearDown() def tearDownLocal(self): pass - # add test specific commands to the tearDown method. def add_command_to_tearDown(self, command): - self.log.debug("Adding command '%s' to tearDown for this test." % command) + """Add test specific commands to the tearDown method""" + self.logger.debug("Adding command '%s' to tearDown for this test." % command) self._extra_tear_down_commands.append(command) - # add test specific files or directories to be removed in the tearDown method + def track_for_cleanup(self, path): - self.log.debug("Adding path '%s' to be cleaned up when test is over" % path) + """Add test specific files or directories to be removed in the tearDown method""" + self.logger.debug("Adding path '%s' to be cleaned up when test is over" % path) self._track_for_cleanup.append(path) - # write to <builddir>/conf/selftest.inc def write_config(self, data): - self.log.debug("Writing to: %s\n%s\n" % (self.testinc_path, data)) + """Write to <builddir>/conf/selftest.inc""" + + self.logger.debug("Writing to: %s\n%s\n" % (self.testinc_path, data)) ftools.write_file(self.testinc_path, data) custommachine = os.getenv('CUSTOMMACHINE') if custommachine and 'MACHINE' in data: machine = get_bb_var('MACHINE') - self.log.warning('MACHINE overridden: %s' % machine) + self.logger.warning('MACHINE overridden: %s' % machine) - # append to <builddir>/conf/selftest.inc def append_config(self, data): - self.log.debug("Appending to: %s\n%s\n" % (self.testinc_path, data)) + """Append to <builddir>/conf/selftest.inc""" + self.logger.debug("Appending to: %s\n%s\n" % (self.testinc_path, data)) ftools.append_file(self.testinc_path, data) custommachine = os.getenv('CUSTOMMACHINE') if custommachine and 'MACHINE' in data: machine = get_bb_var('MACHINE') - self.log.warning('MACHINE overridden: %s' % machine) + self.logger.warning('MACHINE overridden: %s' % machine) - # remove data from <builddir>/conf/selftest.inc def remove_config(self, data): - self.log.debug("Removing from: %s\n%s\n" % (self.testinc_path, data)) + """Remove data from <builddir>/conf/selftest.inc""" + self.logger.debug("Removing from: %s\n%s\n" % (self.testinc_path, data)) ftools.remove_from_file(self.testinc_path, data) - # write to meta-sefltest/recipes-test/<recipe>/test_recipe.inc def write_recipeinc(self, recipe, data): + """Write to meta-sefltest/recipes-test/<recipe>/test_recipe.inc""" inc_file = os.path.join(self.testlayer_path, 'recipes-test', recipe, 'test_recipe.inc') - self.log.debug("Writing to: %s\n%s\n" % (inc_file, data)) + self.logger.debug("Writing to: %s\n%s\n" % (inc_file, data)) ftools.write_file(inc_file, data) - # append data to meta-sefltest/recipes-test/<recipe>/test_recipe.inc def append_recipeinc(self, recipe, data): + """Append data to meta-sefltest/recipes-test/<recipe>/test_recipe.inc""" inc_file = os.path.join(self.testlayer_path, 'recipes-test', recipe, 'test_recipe.inc') - self.log.debug("Appending to: %s\n%s\n" % (inc_file, data)) + self.logger.debug("Appending to: %s\n%s\n" % (inc_file, data)) ftools.append_file(inc_file, data) - # remove data from meta-sefltest/recipes-test/<recipe>/test_recipe.inc def remove_recipeinc(self, recipe, data): + """Remove data from meta-sefltest/recipes-test/<recipe>/test_recipe.inc""" inc_file = os.path.join(self.testlayer_path, 'recipes-test', recipe, 'test_recipe.inc') - self.log.debug("Removing from: %s\n%s\n" % (inc_file, data)) + self.logger.debug("Removing from: %s\n%s\n" % (inc_file, data)) ftools.remove_from_file(inc_file, data) - # delete meta-sefltest/recipes-test/<recipe>/test_recipe.inc file def delete_recipeinc(self, recipe): + """Delete meta-sefltest/recipes-test/<recipe>/test_recipe.inc file""" inc_file = os.path.join(self.testlayer_path, 'recipes-test', recipe, 'test_recipe.inc') - self.log.debug("Deleting file: %s" % inc_file) + self.logger.debug("Deleting file: %s" % inc_file) try: os.remove(inc_file) except OSError as e: if e.errno != errno.ENOENT: raise - - # write to <builddir>/conf/bblayers.inc def write_bblayers_config(self, data): - self.log.debug("Writing to: %s\n%s\n" % (self.testinc_bblayers_path, data)) + """Write to <builddir>/conf/bblayers.inc""" + self.logger.debug("Writing to: %s\n%s\n" % (self.testinc_bblayers_path, data)) ftools.write_file(self.testinc_bblayers_path, data) - # append to <builddir>/conf/bblayers.inc def append_bblayers_config(self, data): - self.log.debug("Appending to: %s\n%s\n" % (self.testinc_bblayers_path, data)) + """Append to <builddir>/conf/bblayers.inc""" + self.logger.debug("Appending to: %s\n%s\n" % (self.testinc_bblayers_path, data)) ftools.append_file(self.testinc_bblayers_path, data) - # remove data from <builddir>/conf/bblayers.inc def remove_bblayers_config(self, data): - self.log.debug("Removing from: %s\n%s\n" % (self.testinc_bblayers_path, data)) + """Remove data from <builddir>/conf/bblayers.inc""" + self.logger.debug("Removing from: %s\n%s\n" % (self.testinc_bblayers_path, data)) ftools.remove_from_file(self.testinc_bblayers_path, data) - # write to <builddir>/conf/machine.inc def set_machine_config(self, data): - self.log.debug("Writing to: %s\n%s\n" % (self.machineinc_path, data)) + """Write to <builddir>/conf/machine.inc""" + self.logger.debug("Writing to: %s\n%s\n" % (self.machineinc_path, data)) ftools.write_file(self.machineinc_path, data) # check does path exist
@@ -227,7 +219,6 @@ be re-executed from a clean environment to ensure accurate results.") msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr)) raise self.failureException(msg) - def get_available_machines(): # Get a list of all available machines bbpath = get_bb_var('BBPATH').split(':')
@@ -237,7 +228,7 @@ def get_available_machines(): found_machines = glob.glob(os.path.join(path, 'conf', 'machine', '*.conf')) if found_machines: for i in found_machines: - # eg: '/home/<user>/poky/meta-intel/conf/machine/intel-core2-32.conf' + # eg: '/home/<user>/poky/meta-intel/conf/machine/intel-core2-32.conf' machines.append(os.path.splitext(os.path.basename(i))[0]) return machines
Signature · 1 line
2.1.4
PATCH 31/36 scripts/oe-selftest: Move {add, remove}_include files to case
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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.
--- meta/lib/oeqa/selftest/case.py | 76 ++++++++++++++++++++++++++++++++++++------ scripts/oe-selftest | 54 ------------------------------ 2 files changed, 66 insertions(+), 64 deletions(-)
meta/lib/oeqa/selftest/case.py +66 -10
@@ -14,17 +14,17 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase): + builddir = os.environ.get("BUILDDIR") or "" + localconf_path = os.path.join(builddir, "conf/local.conf") + localconf_backup = os.path.join(builddir, "conf/local.bk") + testinc_path = os.path.join(builddir, "conf/selftest.inc") + local_bblayers_path = os.path.join(builddir, "conf/bblayers.conf") + local_bblayers_backup = os.path.join(builddir, "conf/bblayers.bk") + testinc_bblayers_path = os.path.join(builddir, "conf/bblayers.inc") + machineinc_path = os.path.join(builddir, "conf/machine.inc") + testlayer_path = get_test_layer() + def __init__(self, methodName="runTest"): - self.builddir = os.environ.get("BUILDDIR") - self.localconf_path = os.path.join(self.builddir, "conf/local.conf") - self.localconf_backup = os.path.join(self.builddir, "conf/local.bk") - self.testinc_path = os.path.join(self.builddir, "conf/selftest.inc") - self.local_bblayers_path = os.path.join(self.builddir, "conf/bblayers.conf") - self.local_bblayers_backup = os.path.join(self.builddir, - "conf/bblayers.bk") - self.testinc_bblayers_path = os.path.join(self.builddir, "conf/bblayers.inc") - self.machineinc_path = os.path.join(self.builddir, "conf/machine.inc") - self.testlayer_path = get_test_layer() self._extra_tear_down_commands = [] self._track_for_cleanup = [ self.testinc_path, self.testinc_bblayers_path,
@@ -33,6 +33,62 @@ class OESelftestTestCase(OETestCase): super(OESelftestTestCase, self).__init__(methodName) + @classmethod + def setUpClass(cls): + super(OESelftestTestCase, cls).setUpClass() + cls.add_include() + + @classmethod + def tearDownClass(cls): + cls.remove_include() + cls.remove_inc_files() + super(OESelftestTestCase, cls).tearDownClass() + + @classmethod + def add_include(cls): + if "#include added by oe-selftest" \ + not in ftools.read_file(os.path.join(cls.builddir, "conf/local.conf")): + cls.logger.info("Adding: \"include selftest.inc\" in %s" % os.path.join(cls.builddir, "conf/local.conf")) + ftools.append_file(os.path.join(cls.builddir, "conf/local.conf"), \ + "\n#include added by oe-selftest\ninclude machine.inc\ninclude selftest.inc") + + if "#include added by oe-selftest" \ + not in ftools.read_file(os.path.join(cls.builddir, "conf/bblayers.conf")): + cls.logger.info("Adding: \"include bblayers.inc\" in bblayers.conf") + ftools.append_file(os.path.join(cls.builddir, "conf/bblayers.conf"), \ + "\n#include added by oe-selftest\ninclude bblayers.inc") + + @classmethod + def remove_include(cls): + if "#include added by oe-selftest.py" \ + in ftools.read_file(os.path.join(cls.builddir, "conf/local.conf")): + cls.logger.info("Removing the include from local.conf") + ftools.remove_from_file(os.path.join(cls.builddir, "conf/local.conf"), \ + "\n#include added by oe-selftest.py\ninclude machine.inc\ninclude selftest.inc") + + if "#include added by oe-selftest.py" \ + in ftools.read_file(os.path.join(cls.builddir, "conf/bblayers.conf")): + cls.logger.info("Removing the include from bblayers.conf") + ftools.remove_from_file(os.path.join(cls.builddir, "conf/bblayers.conf"), \ + "\n#include added by oe-selftest.py\ninclude bblayers.inc") + + @classmethod + def remove_inc_files(cls): + try: + os.remove(os.path.join(cls.builddir, "conf/selftest.inc")) + for root, _, files in os.walk(get_test_layer()): + for f in files: + if f == 'test_recipe.inc': + os.remove(os.path.join(root, f)) + except OSError as e: + pass + + for incl_file in ['conf/bblayers.inc', 'conf/machine.inc']: + try: + os.remove(os.path.join(cls.builddir, incl_file)) + except: + pass + def setUp(self): super(OESelftestTestCase, self).setUp() os.chdir(self.builddir)
scripts/oe-selftest +0 -54
70 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 32/36 oeqa/selftest/case.py: Remove machine selection logic
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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.
--- meta/lib/oeqa/selftest/case.py | 37 ++++--------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-)
meta/lib/oeqa/selftest/case.py +4 -33
@@ -6,7 +6,6 @@ import os import shutil import glob import errno -from random import choice from unittest.util import safe_repr import oeqa.utils.ftools as ftools
@@ -135,16 +134,9 @@ to ensure accurate results.") if e.errno != errno.ENOENT: raise - # Get CUSTOMMACHINE from env (set by --machine argument to oe-selftest) - custommachine = os.getenv('CUSTOMMACHINE') - if custommachine: - if custommachine == 'random': - machine = get_random_machine() - else: - machine = custommachine - machine_conf = 'MACHINE ??= "%s"\n' % machine + if self.tc.custommachine: + machine_conf = 'MACHINE ??= "%s"\n' % self.tc.custommachine self.set_machine_config(machine_conf) - print('MACHINE: %s' % machine) # tests might need their own setup # but if they overwrite this one they have to call
@@ -196,8 +188,7 @@ to ensure accurate results.") self.logger.debug("Writing to: %s\n%s\n" % (self.testinc_path, data)) ftools.write_file(self.testinc_path, data) - custommachine = os.getenv('CUSTOMMACHINE') - if custommachine and 'MACHINE' in data: + if self.tc.custommachine and 'MACHINE' in data: machine = get_bb_var('MACHINE') self.logger.warning('MACHINE overridden: %s' % machine)
@@ -206,8 +197,7 @@ to ensure accurate results.") self.logger.debug("Appending to: %s\n%s\n" % (self.testinc_path, data)) ftools.append_file(self.testinc_path, data) - custommachine = os.getenv('CUSTOMMACHINE') - if custommachine and 'MACHINE' in data: + if self.tc.custommachine and 'MACHINE' in data: machine = get_bb_var('MACHINE') self.logger.warning('MACHINE overridden: %s' % machine)
@@ -274,22 +264,3 @@ to ensure accurate results.") if os.path.exists(expr): msg = self._formatMessage(msg, "%s exists when it should not" % safe_repr(expr)) raise self.failureException(msg) - -def get_available_machines(): - # Get a list of all available machines - bbpath = get_bb_var('BBPATH').split(':') - machines = [] - - for path in bbpath: - found_machines = glob.glob(os.path.join(path, 'conf', 'machine', '*.conf')) - if found_machines: - for i in found_machines: - # eg: '/home/<user>/poky/meta-intel/conf/machine/intel-core2-32.conf' - machines.append(os.path.splitext(os.path.basename(i))[0]) - - return machines - - -def get_random_machine(): - # Get a random machine - return choice(get_available_machines())
Signature · 1 line
2.1.4
PATCH 33/36 oeqa/selftest/case: Don't figure out the testlayer inside
In reply to Aníbal LimónThe test layer is added at init of selftest and is the same across test runs so pass it as a attr in the context.
--- meta/lib/oeqa/selftest/case.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
meta/lib/oeqa/selftest/case.py +3 -3
@@ -9,7 +9,7 @@ import errno from unittest.util import safe_repr import oeqa.utils.ftools as ftools -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer +from oeqa.utils.commands import runCmd, bitbake, get_bb_var from oeqa.core.case import OETestCase class OESelftestTestCase(OETestCase):
@@ -21,7 +21,6 @@ class OESelftestTestCase(OETestCase): local_bblayers_backup = os.path.join(builddir, "conf/bblayers.bk") testinc_bblayers_path = os.path.join(builddir, "conf/bblayers.inc") machineinc_path = os.path.join(builddir, "conf/machine.inc") - testlayer_path = get_test_layer() def __init__(self, methodName="runTest"): self._extra_tear_down_commands = []
@@ -35,6 +34,7 @@ class OESelftestTestCase(OETestCase): @classmethod def setUpClass(cls): super(OESelftestTestCase, cls).setUpClass() + cls.testlayer_path = cls.tc.testlayer_path cls.add_include() @classmethod
@@ -75,7 +75,7 @@ class OESelftestTestCase(OETestCase): def remove_inc_files(cls): try: os.remove(os.path.join(cls.builddir, "conf/selftest.inc")) - for root, _, files in os.walk(get_test_layer()): + for root, _, files in os.walk(cls.testlayer_path): for f in files: if f == 'test_recipe.inc': os.remove(os.path.join(root, f))
Signature · 1 line
2.1.4
PATCH 34/36 scripts/oe-selftest: Migrate to new framework into oeqa.selftest.context
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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
--- meta/lib/oeqa/selftest/context.py | 224 ++++++++++++ scripts/oe-selftest | 737 ++------------------------------------ 2 files changed, 250 insertions(+), 711 deletions(-) create mode 100644 meta/lib/oeqa/selftest/context.py
meta/lib/oeqa/selftest/context.py new file +224 -0
@@ -0,0 +1,224 @@ +# Copyright (C) 2017 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +import os +import time +import glob +import sys +import imp +from random import choice + +import oeqa + +from oeqa.core.context import OETestContext, OETestContextExecutor +from oeqa.core.exception import OEQAPreRun + +from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer + +class OESelftestTestContext(OETestContext): + def __init__(self, td=None, logger=None, machines=None, testlayer_path=None): + super(OESelftestTestContext, self).__init__(td, logger) + + self.machines = machines + self.custommachine = None + + self.testlayer_path = testlayer_path + + def runTests(self, machine=None): + if machine: + self.custommachine = machine + if machine == 'random': + self.custommachine = choice(self.machines) + self.logger.info('Run tests with custom MACHINE set to: %s' % \ + self.custommachine) + return super(OESelftestTestContext, self).runTests() + + def listTests(self, display_type, machine=None): + return super(OESelftestTestContext, self).listTests(display_type) + +class OESelftestTestContextExecutor(OETestContextExecutor): + _context_class = OESelftestTestContext + _script_executor = 'oe-selftest' + + name = 'oe-selftest' + help = 'oe-selftest test component' + description = 'Executes selftest tests' + + def register_commands(self, logger, parser): + group = parser.add_mutually_exclusive_group(required=True) + + group.add_argument('-a', '--run-all-tests', default=False, + action="store_true", dest="run_all_tests", + help='Run all (unhidden) tests') + group.add_argument('-r', '--run-tests', required=False, action='store', + nargs='+', dest="run_tests", default=None, + help='Select what tests to run (modules, classes or test methods). Format should be: <module>.<class>.<test_method>') + + group.add_argument('-m', '--list-modules', required=False, + action="store_true", default=False, + help='List all available test modules.') + group.add_argument('--list-classes', required=False, + action="store_true", default=False, + help='List all available test classes.') + group.add_argument('-l', '--list-tests', required=False, + action="store_true", default=False, + help='List all available tests.') + + parser.add_argument('--machine', required=False, choices=['random', 'all'], + help='Run tests on different machines (random/all).') + + parser.set_defaults(func=self.run) + + def _get_available_machines(self): + machines = [] + + bbpath = self.tc_kwargs['init']['td']['BBPATH'].split(':') + + for path in bbpath: + found_machines = glob.glob(os.path.join(path, 'conf', 'machine', '*.conf')) + if found_machines: + for i in found_machines: + # eg: '/home/<user>/poky/meta-intel/conf/machine/intel-core2-32.conf' + machines.append(os.path.splitext(os.path.basename(i))[0]) + + return machines + + def _get_cases_paths(self, bbpath): + cases_paths = [] + for layer in bbpath: + cases_dir = os.path.join(layer, 'lib', 'oeqa', 'selftest', 'cases') + if os.path.isdir(cases_dir): + cases_paths.append(cases_dir) + return cases_paths + + def _process_args(self, logger, args): + args.output_log = '%s-results-%s.log' % (self.name, + time.strftime("%Y%m%d%H%M%S")) + args.test_data_file = None + args.CASES_PATHS = None + + super(OESelftestTestContextExecutor, self)._process_args(logger, args) + + if args.list_modules: + args.list_tests = 'module' + elif args.list_classes: + args.list_tests = 'class' + elif args.list_tests: + args.list_tests = 'name' + + self.tc_kwargs['init']['td'] = get_bb_vars() + self.tc_kwargs['init']['machines'] = self._get_available_machines() + self.tc_kwargs['init']['testlayer_path'] = get_test_layer() + + def _pre_run(self): + def _check_required_env_variables(vars): + for var in vars: + if not os.environ.get(var): + self.tc.logger.error("%s is not set. Did you forget to source your build environment setup script?" % var) + raise OEQAPreRun + + def _check_presence_meta_selftest(): + builddir = os.environ.get("BUILDDIR") + if os.getcwd() != builddir: + self.tc.logger.info("Changing cwd to %s" % builddir) + os.chdir(builddir) + + if not "meta-selftest" in self.tc.td["BBLAYERS"]: + self.tc.logger.warn("meta-selftest layer not found in BBLAYERS, adding it") + meta_selftestdir = os.path.join( + self.tc.td["BBLAYERS_FETCH_DIR"], 'meta-selftest') + if os.path.isdir(meta_selftestdir): + runCmd("bitbake-layers add-layer %s" %meta_selftestdir) + # reload data is needed because a meta-selftest layer was add + self.tc.td = get_bb_vars() + else: + self.tc.logger.error("could not locate meta-selftest in:\n%s" % meta_selftestdir) + raise OEQAPreRun + + def _add_layer_libs(): + bbpath = self.tc.td['BBPATH'].split(':') + layer_libdirs = [p for p in (os.path.join(l, 'lib') \ + for l in bbpath) if os.path.exists(p)] + if layer_libdirs: + self.tc.logger.info("Adding layer libraries:") + for l in layer_libdirs: + self.tc.logger.info("\t%s" % l) + + sys.path.extend(layer_libdirs) + imp.reload(oeqa.selftest) + + _check_required_env_variables(["BUILDDIR"]) + _check_presence_meta_selftest() + + if "buildhistory.bbclass" in self.tc.td["BBINCLUDED"]: + self.tc.logger.error("You have buildhistory enabled already and this isn't recommended for selftest, please disable it first.") + raise OEQAPreRun + + if "PRSERV_HOST" in self.tc.td: + self.tc.logger.error("Please unset PRSERV_HOST in order to run oe-selftest") + raise OEQAPreRun + + if "SANITY_TESTED_DISTROS" in self.tc.td: + self.tc.logger.error("Please unset SANITY_TESTED_DISTROS in order to run oe-selftest") + raise OEQAPreRun + + _add_layer_libs() + + self.tc.logger.info("Running bitbake -p") + runCmd("bitbake -p") + + def _internal_run(self, logger, args): + self.module_paths = self._get_cases_paths( + self.tc_kwargs['init']['td']['BBPATH'].split(':')) + + self.tc = self._context_class(**self.tc_kwargs['init']) + self.tc.loadTests(self.module_paths, **self.tc_kwargs['load']) + + if args.list_tests: + rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run']) + else: + self._pre_run() + rc = self.tc.runTests(**self.tc_kwargs['run']) + rc.logSummary(self.name) + rc.logDetails() + + return rc + + def run(self, logger, args): + self._process_args(logger, args) + rc = None + + if args.machine: + logger.info('Custom machine mode enabled. MACHINE set to %s' % + args.machine) + + if args.machine == 'all': + results = [] + for m in self.tc_kwargs['init']['machines']: + self.tc_kwargs['run']['machine'] = m + results.append(self._internal_run(logger, args)) + + # XXX: the oe-selftest script only needs to know if one + # machine run fails + for r in results: + rc = r + if not r.wasSuccessful(): + break + + else: + self.tc_kwargs['run']['machine'] = args.machine + return self._internal_run(logger, args) + + else: + self.tc_kwargs['run']['machine'] = args.machine + rc = self._internal_run(logger, args) + + output_link = os.path.join(os.path.dirname(args.output_log), + "%s-results.log" % self.name) + if os.path.exists(output_link): + os.remove(output_link) + os.symlink(args.output_log, output_link) + + return rc + +_executor_class = OESelftestTestContextExecutor
scripts/oe-selftest +26 -711
764 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 35/36 oeqa/selftest/cases: Migrate test cases into the new oe-qa framework
In reply to Aníbal LimónFrom: Leonardo Sandoval <[email protected]>
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.
---
meta/lib/oeqa/selftest/__init__.py | 2 -
.../selftest/{ => cases}/_sstatetests_noauto.py | 7 +-
meta/lib/oeqa/selftest/{ => cases}/archiver.py | 14 ++--
meta/lib/oeqa/selftest/{ => cases}/bblayers.py | 24 +++----
meta/lib/oeqa/selftest/{ => cases}/bbtests.py | 57 +++++++--------
meta/lib/oeqa/selftest/{ => cases}/buildhistory.py | 5 +-
meta/lib/oeqa/selftest/{ => cases}/buildoptions.py | 34 ++++-----
.../oeqa/selftest/{ => cases}/containerimage.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/devtool.py | 68 +++++++++---------
meta/lib/oeqa/selftest/{ => cases}/eSDK.py | 18 ++---
.../lib/oeqa/selftest/{ => cases}/image_typedep.py | 4 +-
.../lib/oeqa/selftest/{ => cases}/imagefeatures.py | 16 ++---
meta/lib/oeqa/selftest/{ => cases}/layerappend.py | 15 ++--
meta/lib/oeqa/selftest/{ => cases}/liboe.py | 7 +-
.../{lic-checksum.py => cases/lic_checksum.py} | 8 +--
meta/lib/oeqa/selftest/{ => cases}/manifest.py | 52 +++++++-------
.../oeqa/selftest/{ => cases}/oelib/__init__.py | 0
.../selftest/{ => cases}/oelib/buildhistory.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/elf.py | 4 +-
.../lib/oeqa/selftest/{ => cases}/oelib/license.py | 6 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/path.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/types.py | 6 +-
meta/lib/oeqa/selftest/{ => cases}/oelib/utils.py | 6 +-
meta/lib/oeqa/selftest/{ => cases}/oescripts.py | 15 ++--
meta/lib/oeqa/selftest/{ => cases}/package.py | 4 +-
meta/lib/oeqa/selftest/{ => cases}/pkgdata.py | 29 ++++----
meta/lib/oeqa/selftest/{ => cases}/prservice.py | 27 ++++---
meta/lib/oeqa/selftest/{ => cases}/recipetool.py | 81 +++++++++++----------
meta/lib/oeqa/selftest/{ => cases}/runqemu.py | 31 ++++----
.../{runtime-test.py => cases/runtime_test.py} | 15 ++--
meta/lib/oeqa/selftest/{ => cases}/signing.py | 15 ++--
meta/lib/oeqa/selftest/{ => cases}/sstate.py | 5 +-
meta/lib/oeqa/selftest/{ => cases}/sstatetests.py | 46 ++++++------
meta/lib/oeqa/selftest/{ => cases}/tinfoil.py | 25 ++++---
meta/lib/oeqa/selftest/{ => cases}/wic.py | 84 +++++++++++-----------
35 files changed, 355 insertions(+), 387 deletions(-)
delete mode 100644 meta/lib/oeqa/selftest/__init__.py
rename meta/lib/oeqa/selftest/{ => cases}/_sstatetests_noauto.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/archiver.py (91%)
rename meta/lib/oeqa/selftest/{ => cases}/bblayers.py (94%)
rename meta/lib/oeqa/selftest/{ => cases}/bbtests.py (95%)
rename meta/lib/oeqa/selftest/{ => cases}/buildhistory.py (94%)
rename meta/lib/oeqa/selftest/{ => cases}/buildoptions.py (94%)
rename meta/lib/oeqa/selftest/{ => cases}/containerimage.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/devtool.py (99%)
rename meta/lib/oeqa/selftest/{ => cases}/eSDK.py (92%)
rename meta/lib/oeqa/selftest/{ => cases}/image_typedep.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/imagefeatures.py (95%)
rename meta/lib/oeqa/selftest/{ => cases}/layerappend.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/liboe.py (96%)
rename meta/lib/oeqa/selftest/{lic-checksum.py => cases/lic_checksum.py} (87%)
rename meta/lib/oeqa/selftest/{ => cases}/manifest.py (80%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/__init__.py (100%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/buildhistory.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/elf.py (92%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/license.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/path.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/types.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/oelib/utils.py (91%)
rename meta/lib/oeqa/selftest/{ => cases}/oescripts.py (72%)
rename meta/lib/oeqa/selftest/{ => cases}/package.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/pkgdata.py (96%)
rename meta/lib/oeqa/selftest/{ => cases}/prservice.py (93%)
rename meta/lib/oeqa/selftest/{ => cases}/recipetool.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/runqemu.py (92%)
rename meta/lib/oeqa/selftest/{runtime-test.py => cases/runtime_test.py} (97%)
rename meta/lib/oeqa/selftest/{ => cases}/signing.py (96%)
rename meta/lib/oeqa/selftest/{ => cases}/sstate.py (95%)
rename meta/lib/oeqa/selftest/{ => cases}/sstatetests.py (97%)
rename meta/lib/oeqa/selftest/{ => cases}/tinfoil.py (96%)
rename meta/lib/oeqa/selftest/{ => cases}/wic.py (97%)meta/lib/oeqa/selftest/__init__.py deleted +0 -2
@@ -1,2 +0,0 @@ -from pkgutil import extend_path -__path__ = extend_path(__path__, __name__)
meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py renamed from meta/lib/oeqa/selftest/_sstatetests_noauto.py +2 -5
@@ -1,19 +1,16 @@ -import datetime -import unittest import os -import re import shutil import oeqa.utils.ftools as ftools -from oeqa.selftest.base import oeSelfTest from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer -from oeqa.selftest.sstate import SStateBase +from oeqa.selftest.cases.sstate import SStateBase class RebuildFromSState(SStateBase): @classmethod def setUpClass(self): + super(RebuildFromSState, self).setUpClass() self.builddir = os.path.join(os.environ.get('BUILDDIR')) def get_dep_targets(self, primary_targets):
meta/lib/oeqa/selftest/cases/archiver.py renamed from meta/lib/oeqa/selftest/archiver.py +6 -8
@@ -1,14 +1,12 @@ -from oeqa.selftest.base import oeSelfTest -from oeqa.utils.commands import bitbake, get_bb_vars -from oeqa.utils.decorators import testcase -import glob import os -import shutil - +import glob +from oeqa.utils.commands import bitbake, get_bb_vars +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID -class Archiver(oeSelfTest): +class Archiver(OESelftestTestCase): - @testcase(1345) + @OETestID(1345) def test_archiver_allows_to_filter_on_recipe_name(self): """ Summary: The archiver should offer the possibility to filter on the recipe. (#6929)
meta/lib/oeqa/selftest/cases/bblayers.py renamed from meta/lib/oeqa/selftest/bblayers.py +11 -13
@@ -1,39 +1,37 @@ -import unittest import os -import logging import re -import shutil import oeqa.utils.ftools as ftools -from oeqa.selftest.base import oeSelfTest from oeqa.utils.commands import runCmd, get_bb_var -from oeqa.utils.decorators import testcase -class BitbakeLayers(oeSelfTest): +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID - @testcase(756) +class BitbakeLayers(OESelftestTestCase): + + @OETestID(756) def test_bitbakelayers_showcrossdepends(self): result = runCmd('bitbake-layers show-cross-depends') self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output) - @testcase(83) + @OETestID(83) def test_bitbakelayers_showlayers(self): result = runCmd('bitbake-layers show-layers') self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output) - @testcase(93) + @OETestID(93) def test_bitbakelayers_showappends(self): recipe = "xcursor-transparent-theme" bb_file = self.get_recipe_basename(recipe) result = runCmd('bitbake-layers show-appends') self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output)) - @testcase(90) + @OETestID(90) def test_bitbakelayers_showoverlayed(self): result = runCmd('bitbake-layers show-overlayed') self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output) - @testcase(95) + @OETestID(95) def test_bitbakelayers_flatten(self): recipe = "xcursor-transparent-theme" recipe_path = "recipes-graphics/xcursor-transparent-theme"
@@ -48,7 +46,7 @@ class BitbakeLayers(oeSelfTest): find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents) self.assertTrue(find_in_contents, msg = "Flattening layers did not work. bitbake-layers flatten output: %s" % result.output) - @testcase(1195) + @OETestID(1195) def test_bitbakelayers_add_remove(self): test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton') result = runCmd('bitbake-layers show-layers')
@@ -66,7 +64,7 @@ class BitbakeLayers(oeSelfTest): result = runCmd('bitbake-layers show-layers') self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) - @testcase(1384) + @OETestID(1384) def test_bitbakelayers_showrecipes(self): result = runCmd('bitbake-layers show-recipes') self.assertIn('aspell:', result.output)
meta/lib/oeqa/selftest/cases/bbtests.py renamed from meta/lib/oeqa/selftest/bbtests.py +29 -28
201 lines not on this page · raw message
meta/lib/oeqa/selftest/cases/buildhistory.py renamed from meta/lib/oeqa/selftest/buildhistory.py +2 -3
@@ -2,12 +2,11 @@ import os import re import datetime -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, get_bb_vars -from oeqa.utils.decorators import testcase -class BuildhistoryBase(oeSelfTest): +class BuildhistoryBase(OESelftestTestCase): def config_buildhistory(self, tmp_bh_location=False): bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT'])
meta/lib/oeqa/selftest/cases/buildoptions.py renamed from meta/lib/oeqa/selftest/buildoptions.py +17 -17
@@ -3,15 +3,15 @@ import re import glob as g import shutil import tempfile -from oeqa.selftest.base import oeSelfTest -from oeqa.selftest.buildhistory import BuildhistoryBase +from oeqa.selftest.case import OESelftestTestCase +from oeqa.selftest.cases.buildhistory import BuildhistoryBase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import oeqa.utils.ftools as ftools -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID -class ImageOptionsTests(oeSelfTest): +class ImageOptionsTests(OESelftestTestCase): - @testcase(761) + @OETestID(761) def test_incremental_image_generation(self): image_pkgtype = get_bb_var("IMAGE_PKGTYPE") if image_pkgtype != 'rpm':
@@ -30,7 +30,7 @@ class ImageOptionsTests(oeSelfTest): incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed) self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed) - @testcase(286) + @OETestID(286) def test_ccache_tool(self): bitbake("ccache-native") bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native')
@@ -43,7 +43,7 @@ class ImageOptionsTests(oeSelfTest): res = runCmd("grep ccache %s" % log_compile, ignore_status=True) self.assertEqual(0, res.status, msg="No match for ccache in m4 log.do_compile. For further details: %s" % log_compile) - @testcase(1435) + @OETestID(1435) def test_read_only_image(self): distro_features = get_bb_var('DISTRO_FEATURES') if not ('x11' in distro_features and 'opengl' in distro_features):
@@ -52,9 +52,9 @@ class ImageOptionsTests(oeSelfTest): bitbake("core-image-sato") # do_image will fail if there are any pending postinsts -class DiskMonTest(oeSelfTest): +class DiskMonTest(OESelftestTestCase): - @testcase(277) + @OETestID(277) def test_stoptask_behavior(self): self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') res = bitbake("m4", ignore_status = True)
@@ -68,13 +68,13 @@ class DiskMonTest(oeSelfTest): res = bitbake("m4") self.assertTrue('WARNING: The free space' in res.output, msg = "A warning should have been displayed for disk monitor is set to WARN: %s" %res.output) -class SanityOptionsTest(oeSelfTest): +class SanityOptionsTest(OESelftestTestCase): def getline(self, res, line): for l in res.output.split('\n'): if line in l: return l - @testcase(927) + @OETestID(927) def test_options_warnqa_errorqa_switch(self): self.write_config("INHERIT_remove = \"report-error\"")
@@ -96,7 +96,7 @@ class SanityOptionsTest(oeSelfTest): line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) - @testcase(278) + @OETestID(278) def test_sanity_unsafe_script_references(self): self.write_config('WARN_QA_append = " unsafe-references-in-scripts"')
@@ -114,7 +114,7 @@ do_install_append_pn-gzip () { line = self.getline(res, "QA Issue: gzip") self.assertTrue(line and line.startswith("WARNING:"), "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output) - @testcase(1421) + @OETestID(1421) def test_layer_without_git_dir(self): """ Summary: Test that layer git revisions are displayed and do not fail without git repository
@@ -156,20 +156,20 @@ do_install_append_pn-gzip () { class BuildhistoryTests(BuildhistoryBase): - @testcase(293) + @OETestID(293) def test_buildhistory_basic(self): self.run_buildhistory_operation('xcursor-transparent-theme') self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") - @testcase(294) + @OETestID(294) def test_buildhistory_buildtime_pr_backwards(self): target = 'xcursor-transparent-theme' error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds from (.*-r1.* to .*-r0.*)" % target self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) -class ArchiverTest(oeSelfTest): - @testcase(926) +class ArchiverTest(OESelftestTestCase): + @OETestID(926) def test_arch_work_dir_and_export_source(self): """ Test for archiving the work directory and exporting the source files.
meta/lib/oeqa/selftest/cases/containerimage.py renamed from meta/lib/oeqa/selftest/containerimage.py +2 -2
@@ -1,6 +1,6 @@ import os -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, get_bb_vars, runCmd # This test builds an image with using the "container" IMAGE_FSTYPE, and
@@ -16,7 +16,7 @@ from oeqa.utils.commands import bitbake, get_bb_vars, runCmd # of them, but this test is more to catch if other packages get added by # default other than what is in ROOTFS_BOOTSTRAP_INSTALL. # -class ContainerImageTests(oeSelfTest): +class ContainerImageTests(OESelftestTestCase): # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well
meta/lib/oeqa/selftest/cases/devtool.py renamed from meta/lib/oeqa/selftest/devtool.py +34 -34
262 lines not on this page · raw message
meta/lib/oeqa/selftest/cases/eSDK.py renamed from meta/lib/oeqa/selftest/eSDK.py +7 -11
@@ -1,16 +1,12 @@ -import unittest import tempfile import shutil import os import glob -import logging -import subprocess -import oeqa.utils.ftools as ftools -from oeqa.utils.decorators import testcase -from oeqa.selftest.base import oeSelfTest +from oeqa.core.decorator.oeid import OETestID +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars -class oeSDKExtSelfTest(oeSelfTest): +class oeSDKExtSelfTest(OESelftestTestCase): """ # Bugzilla Test Plan: 6033 # This code is planned to be part of the automation for eSDK containig
@@ -73,6 +69,7 @@ CORE_IMAGE_EXTRA_INSTALL = "perl" @classmethod def setUpClass(cls): + super(oeSDKExtSelfTest, cls).setUpClass() cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA') sstate_dir = get_bb_var('SSTATE_DIR')
@@ -97,19 +94,18 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" @classmethod def tearDownClass(cls): shutil.rmtree(cls.tmpdir_eSDKQA) + super(oeSDKExtSelfTest, cls).tearDownClass() - @testcase (1602) + @OETestID(1602) def test_install_libraries_headers(self): pn_sstate = 'bc' bitbake(pn_sstate) cmd = "devtool sdk-install %s " % pn_sstate oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) - @testcase(1603) + @OETestID(1603) def test_image_generation_binary_feeds(self): image = 'core-image-minimal' cmd = "devtool build-image %s" % image oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) -if __name__ == '__main__': - unittest.main()
meta/lib/oeqa/selftest/cases/image_typedep.py renamed from meta/lib/oeqa/selftest/image_typedep.py +2 -2
@@ -1,9 +1,9 @@ import os -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake -class ImageTypeDepTests(oeSelfTest): +class ImageTypeDepTests(OESelftestTestCase): # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that # the conversion type bar gets added as a dep as well
meta/lib/oeqa/selftest/cases/imagefeatures.py renamed from meta/lib/oeqa/selftest/imagefeatures.py +7 -9
@@ -1,17 +1,15 @@ -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID from oeqa.utils.sshcontrol import SSHControl import os -import sys -import logging -class ImageFeatures(oeSelfTest): +class ImageFeatures(OESelftestTestCase): test_user = 'tester' root_user = 'root' - @testcase(1107) + @OETestID(1107) def test_non_root_user_can_connect_via_ssh_without_password(self): """ Summary: Check if non root user can connect via ssh without password
@@ -37,7 +35,7 @@ class ImageFeatures(oeSelfTest): status, output = ssh.run("true") self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) - @testcase(1115) + @OETestID(1115) def test_all_users_can_connect_via_ssh_without_password(self): """ Summary: Check if all users can connect via ssh without password
@@ -67,7 +65,7 @@ class ImageFeatures(oeSelfTest): self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) - @testcase(1116) + @OETestID(1116) def test_clutter_image_can_be_built(self): """ Summary: Check if clutter image can be built
@@ -80,7 +78,7 @@ class ImageFeatures(oeSelfTest): # Build a core-image-clutter bitbake('core-image-clutter') - @testcase(1117) + @OETestID(1117) def test_wayland_support_in_image(self): """ Summary: Check Wayland support in image
meta/lib/oeqa/selftest/cases/layerappend.py renamed from meta/lib/oeqa/selftest/layerappend.py +5 -10
@@ -1,15 +1,11 @@ -import unittest import os -import logging -import re -from oeqa.selftest.base import oeSelfTest -from oeqa.selftest.buildhistory import BuildhistoryBase +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var import oeqa.utils.ftools as ftools -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID -class LayerAppendTests(oeSelfTest): +class LayerAppendTests(OESelftestTestCase): layerconf = """ # We have a conf and classes directory, append to BBPATH BBPATH .= ":${LAYERDIR}"
@@ -51,8 +47,9 @@ SRC_URI_append += "file://appendtest.txt" def tearDownLocal(self): if self.layerappend: ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend) + super(LayerAppendTests, self).tearDownLocal() - @testcase(1196) + @OETestID(1196) def test_layer_appends(self): corebase = get_bb_var("COREBASE")
@@ -96,5 +93,3 @@ SRC_URI_append += "file://appendtest.txt" bitbake("layerappendtest") data = ftools.read_file(stagingdir + "/appendtest.txt") self.assertEqual(data, "Layer 2 test") - -
meta/lib/oeqa/selftest/cases/liboe.py renamed from meta/lib/oeqa/selftest/liboe.py +3 -4
@@ -1,14 +1,13 @@ -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd import oe.path -import glob import os -import os.path -class LibOE(oeSelfTest): +class LibOE(OESelftestTestCase): @classmethod def setUpClass(cls): + super(LibOE, cls).setUpClass() cls.tmp_dir = get_bb_var('TMPDIR') def test_copy_tree_special(self):
meta/lib/oeqa/selftest/cases/lic_checksum.py renamed from meta/lib/oeqa/selftest/lic-checksum.py +4 -4
@@ -1,16 +1,16 @@ import os import tempfile -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake from oeqa.utils import CommandError -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID -class LicenseTests(oeSelfTest): +class LicenseTests(OESelftestTestCase): # Verify that changing a license file that has an absolute path causes # the license qa to fail due to a mismatched md5sum. - @testcase(1197) + @OETestID(1197) def test_nonmatching_checksum(self): bitbake_cmd = '-c populate_lic emptytest' error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc'
meta/lib/oeqa/selftest/cases/manifest.py renamed from meta/lib/oeqa/selftest/manifest.py +26 -26
149 lines not on this page · raw message
meta/lib/oeqa/selftest/cases/oelib/__init__.py renamed from meta/lib/oeqa/selftest/oelib/__init__.py +0 -0
meta/lib/oeqa/selftest/cases/oelib/buildhistory.py renamed from meta/lib/oeqa/selftest/oelib/buildhistory.py +2 -2
@@ -1,11 +1,11 @@ import os -import unittest +from oeqa.selftest.case import OESelftestTestCase import tempfile from git import Repo from oeqa.utils.commands import get_bb_var from oe.buildhistory_analysis import blob_to_dict, compare_dict_blobs -class TestBlobParsing(unittest.TestCase): +class TestBlobParsing(OESelftestTestCase): def setUp(self): import time
meta/lib/oeqa/selftest/cases/oelib/elf.py renamed from meta/lib/oeqa/selftest/oelib/elf.py +2 -2
@@ -1,7 +1,7 @@ -import unittest +from oeqa.selftest.case import OESelftestTestCase import oe.qa -class TestElf(unittest.TestCase): +class TestElf(OESelftestTestCase): def test_machine_name(self): """ Test elf_machine_to_string()
meta/lib/oeqa/selftest/cases/oelib/license.py renamed from meta/lib/oeqa/selftest/oelib/license.py +3 -3
@@ -1,4 +1,4 @@ -import unittest +from oeqa.selftest.case import OESelftestTestCase import oe.license class SeenVisitor(oe.license.LicenseVisitor):
@@ -9,7 +9,7 @@ class SeenVisitor(oe.license.LicenseVisitor): def visit_Str(self, node): self.seen.append(node.s) -class TestSingleLicense(unittest.TestCase): +class TestSingleLicense(OESelftestTestCase): licenses = [ "GPLv2", "LGPL-2.0",
@@ -37,7 +37,7 @@ class TestSingleLicense(unittest.TestCase): self.parse(license) self.assertEqual(cm.exception.license, license) -class TestSimpleCombinations(unittest.TestCase): +class TestSimpleCombinations(OESelftestTestCase): tests = { "FOO&BAR": ["FOO", "BAR"], "BAZ & MOO": ["BAZ", "MOO"],
meta/lib/oeqa/selftest/cases/oelib/path.py renamed from meta/lib/oeqa/selftest/oelib/path.py +2 -2
@@ -1,11 +1,11 @@ -import unittest +from oeqa.selftest.case import OESelftestTestCase import oe, oe.path import tempfile import os import errno import shutil -class TestRealPath(unittest.TestCase): +class TestRealPath(OESelftestTestCase): DIRS = [ "a", "b", "etc", "sbin", "usr", "usr/bin", "usr/binX", "usr/sbin", "usr/include", "usr/include/gdbm" ] FILES = [ "etc/passwd", "b/file" ] LINKS = [
meta/lib/oeqa/selftest/cases/oelib/types.py renamed from meta/lib/oeqa/selftest/oelib/types.py +3 -3
@@ -1,7 +1,7 @@ -import unittest +from oeqa.selftest.case import OESelftestTestCase from oe.maketype import create -class TestBooleanType(unittest.TestCase): +class TestBooleanType(OESelftestTestCase): def test_invalid(self): self.assertRaises(ValueError, create, '', 'boolean') self.assertRaises(ValueError, create, 'foo', 'boolean')
@@ -31,7 +31,7 @@ class TestBooleanType(unittest.TestCase): self.assertEqual(create('y', 'boolean'), True) self.assertNotEqual(create('y', 'boolean'), False) -class TestList(unittest.TestCase): +class TestList(OESelftestTestCase): def assertListEqual(self, value, valid, sep=None): obj = create(value, 'list', separator=sep) self.assertEqual(obj, valid)
meta/lib/oeqa/selftest/cases/oelib/utils.py renamed from meta/lib/oeqa/selftest/oelib/utils.py +3 -3
@@ -1,7 +1,7 @@ -import unittest +from oeqa.selftest.case import OESelftestTestCase from oe.utils import packages_filter_out_system, trim_version -class TestPackagesFilterOutSystem(unittest.TestCase): +class TestPackagesFilterOutSystem(OESelftestTestCase): def test_filter(self): """ Test that oe.utils.packages_filter_out_system works.
@@ -31,7 +31,7 @@ class TestPackagesFilterOutSystem(unittest.TestCase): self.assertEqual(pkgs, ["foo-data"]) -class TestTrimVersion(unittest.TestCase): +class TestTrimVersion(OESelftestTestCase): def test_version_exception(self): with self.assertRaises(TypeError): trim_version(None, 2)
meta/lib/oeqa/selftest/cases/oescripts.py renamed from meta/lib/oeqa/selftest/oescripts.py +4 -11
@@ -1,18 +1,11 @@ -import datetime -import unittest -import os -import re -import shutil - -import oeqa.utils.ftools as ftools -from oeqa.selftest.base import oeSelfTest -from oeqa.selftest.buildhistory import BuildhistoryBase +from oeqa.selftest.case import OESelftestTestCase +from oeqa.selftest.cases.buildhistory import BuildhistoryBase from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID class BuildhistoryDiffTests(BuildhistoryBase): - @testcase(295) + @OETestID(295) def test_buildhistory_diff(self): target = 'xcursor-transparent-theme' self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True)
meta/lib/oeqa/selftest/cases/package.py renamed from meta/lib/oeqa/selftest/package.py +2 -2
@@ -1,9 +1,9 @@ -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, get_bb_vars import subprocess, os import oe.path -class VersionOrdering(oeSelfTest): +class VersionOrdering(OESelftestTestCase): # version1, version2, sort order tests = ( ("1.0", "1.0", 0),
meta/lib/oeqa/selftest/cases/pkgdata.py renamed from meta/lib/oeqa/selftest/pkgdata.py +13 -16
@@ -1,24 +1,21 @@ -import unittest import os import tempfile -import logging import fnmatch -import oeqa.utils.ftools as ftools -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID -class OePkgdataUtilTests(oeSelfTest): +class OePkgdataUtilTests(OESelftestTestCase): @classmethod def setUpClass(cls): + super(OePkgdataUtilTests, cls).setUpClass() # Ensure we have the right data in pkgdata - logger = logging.getLogger("selftest") - logger.info('Running bitbake to generate pkgdata') + cls.logger.info('Running bitbake to generate pkgdata') bitbake('busybox zlib m4') - @testcase(1203) + @OETestID(1203) def test_lookup_pkg(self): # Forward tests result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"')
@@ -37,7 +34,7 @@ class OePkgdataUtilTests(oeSelfTest): self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') - @testcase(1205) + @OETestID(1205) def test_read_value(self): result = runCmd('oe-pkgdata-util read-value PN libz1') self.assertEqual(result.output, 'zlib')
@@ -47,7 +44,7 @@ class OePkgdataUtilTests(oeSelfTest): pkgsize = int(result.output.strip()) self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) - @testcase(1198) + @OETestID(1198) def test_find_path(self): result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1') self.assertEqual(result.output, 'zlib: /lib/libz.so.1')
@@ -57,7 +54,7 @@ class OePkgdataUtilTests(oeSelfTest): self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') - @testcase(1204) + @OETestID(1204) def test_lookup_recipe(self): result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') self.assertEqual(result.output, 'zlib\nbusybox')
@@ -67,7 +64,7 @@ class OePkgdataUtilTests(oeSelfTest): self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') - @testcase(1202) + @OETestID(1202) def test_list_pkgs(self): # No arguments result = runCmd('oe-pkgdata-util list-pkgs')
@@ -111,7 +108,7 @@ class OePkgdataUtilTests(oeSelfTest): pkglist = sorted(result.output.split()) self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) - @testcase(1201) + @OETestID(1201) def test_list_pkg_files(self): def splitoutput(output): files = {}
@@ -201,7 +198,7 @@ class OePkgdataUtilTests(oeSelfTest): self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) - @testcase(1200) + @OETestID(1200) def test_glob(self): tempdir = tempfile.mkdtemp(prefix='pkgdataqa') self.track_for_cleanup(tempdir)
@@ -221,7 +218,7 @@ class OePkgdataUtilTests(oeSelfTest): self.assertNotIn('libz-dev', resultlist) self.assertNotIn('libz-dbg', resultlist) - @testcase(1206) + @OETestID(1206) def test_specify_pkgdatadir(self): result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR')) self.assertEqual(result.output, 'libz1')
meta/lib/oeqa/selftest/cases/prservice.py renamed from meta/lib/oeqa/selftest/prservice.py +13 -14
@@ -1,20 +1,19 @@ -import unittest import os -import logging import re import shutil import datetime import oeqa.utils.ftools as ftools -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID from oeqa.utils.network import get_free_port -class BitbakePrTests(oeSelfTest): +class BitbakePrTests(OESelftestTestCase): @classmethod def setUpClass(cls): + super(BitbakePrTests, cls).setUpClass() cls.pkgdata_dir = get_bb_var('PKGDATA_DIR') def get_pr_version(self, package_name):
@@ -89,39 +88,39 @@ class BitbakePrTests(oeSelfTest): self.assertTrue(pr_2 - pr_1 == 1, "Step between same pkg. revision is greater than 1") - @testcase(930) + @OETestID(930) def test_import_export_replace_db(self): self.run_test_pr_export_import('m4') - @testcase(931) + @OETestID(931) def test_import_export_override_db(self): self.run_test_pr_export_import('m4', replace_current_db=False) - @testcase(932) + @OETestID(932) def test_pr_service_rpm_arch_dep(self): self.run_test_pr_service('m4', 'rpm', 'do_package') - @testcase(934) + @OETestID(934) def test_pr_service_deb_arch_dep(self): self.run_test_pr_service('m4', 'deb', 'do_package') - @testcase(933) + @OETestID(933) def test_pr_service_ipk_arch_dep(self): self.run_test_pr_service('m4', 'ipk', 'do_package') - @testcase(935) + @OETestID(935) def test_pr_service_rpm_arch_indep(self): self.run_test_pr_service('xcursor-transparent-theme', 'rpm', 'do_package') - @testcase(937) + @OETestID(937) def test_pr_service_deb_arch_indep(self): self.run_test_pr_service('xcursor-transparent-theme', 'deb', 'do_package') - @testcase(936) + @OETestID(936) def test_pr_service_ipk_arch_indep(self): self.run_test_pr_service('xcursor-transparent-theme', 'ipk', 'do_package') - @testcase(1419) + @OETestID(1419) def test_stopping_prservice_message(self): port = get_free_port()
meta/lib/oeqa/selftest/cases/recipetool.py renamed from meta/lib/oeqa/selftest/recipetool.py +40 -41
307 lines not on this page · raw message
meta/lib/oeqa/selftest/cases/runqemu.py renamed from meta/lib/oeqa/selftest/runqemu.py +16 -15
@@ -5,17 +5,18 @@ import re import logging -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import bitbake, runqemu, get_bb_var -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID -class RunqemuTests(oeSelfTest): +class RunqemuTests(OESelftestTestCase): """Runqemu test class""" image_is_ready = False deploy_dir_image = '' def setUpLocal(self): + super(RunqemuTests, self).setUpLocal() self.recipe = 'core-image-minimal' self.machine = 'qemux86-64' self.fstypes = "ext4 iso hddimg vmdk qcow2 vdi"
@@ -40,14 +41,14 @@ SYSLINUX_TIMEOUT = "10" bitbake(self.recipe) RunqemuTests.image_is_ready = True - @testcase(2001) + @OETestID(2001) def test_boot_machine(self): """Test runqemu machine""" cmd = "%s %s" % (self.cmd_common, self.machine) with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) - @testcase(2002) + @OETestID(2002) def test_boot_machine_ext4(self): """Test runqemu machine ext4""" cmd = "%s %s ext4" % (self.cmd_common, self.machine)
@@ -55,7 +56,7 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue('rootfs.ext4' in f.read(), "Failed: %s" % cmd) - @testcase(2003) + @OETestID(2003) def test_boot_machine_iso(self): """Test runqemu machine iso""" cmd = "%s %s iso" % (self.cmd_common, self.machine)
@@ -63,14 +64,14 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue(' -cdrom ' in f.read(), "Failed: %s" % cmd) - @testcase(2004) + @OETestID(2004) def test_boot_recipe_image(self): """Test runqemu recipe-image""" cmd = "%s %s" % (self.cmd_common, self.recipe) with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) - @testcase(2005) + @OETestID(2005) def test_boot_recipe_image_vmdk(self): """Test runqemu recipe-image vmdk""" cmd = "%s %s vmdk" % (self.cmd_common, self.recipe)
@@ -78,7 +79,7 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue('format=vmdk' in f.read(), "Failed: %s" % cmd) - @testcase(2006) + @OETestID(2006) def test_boot_recipe_image_vdi(self): """Test runqemu recipe-image vdi""" cmd = "%s %s vdi" % (self.cmd_common, self.recipe)
@@ -86,14 +87,14 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue('format=vdi' in f.read(), "Failed: %s" % cmd) - @testcase(2007) + @OETestID(2007) def test_boot_deploy(self): """Test runqemu deploy_dir_image""" cmd = "%s %s" % (self.cmd_common, self.deploy_dir_image) with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) - @testcase(2008) + @OETestID(2008) def test_boot_deploy_hddimg(self): """Test runqemu deploy_dir_image hddimg""" cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image)
@@ -101,7 +102,7 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue(re.search('file=.*.hddimg', f.read()), "Failed: %s" % cmd) - @testcase(2009) + @OETestID(2009) def test_boot_machine_slirp(self): """Test runqemu machine slirp""" cmd = "%s slirp %s" % (self.cmd_common, self.machine)
@@ -109,7 +110,7 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue(' -netdev user' in f.read(), "Failed: %s" % cmd) - @testcase(2009) + @OETestID(2009) def test_boot_machine_slirp_qcow2(self): """Test runqemu machine slirp qcow2""" cmd = "%s slirp qcow2 %s" % (self.cmd_common, self.machine)
@@ -117,7 +118,7 @@ SYSLINUX_TIMEOUT = "10" with open(qemu.qemurunnerlog) as f: self.assertTrue('format=qcow2' in f.read(), "Failed: %s" % cmd) - @testcase(2010) + @OETestID(2010) def test_boot_qemu_boot(self): """Test runqemu /path/to/image.qemuboot.conf""" qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine)
@@ -128,7 +129,7 @@ SYSLINUX_TIMEOUT = "10" with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) - @testcase(2011) + @OETestID(2011) def test_boot_rootfs(self): """Test runqemu /path/to/rootfs.ext4""" rootfs = "%s-%s.ext4" % (self.recipe, self.machine)
meta/lib/oeqa/selftest/cases/runtime_test.py renamed from meta/lib/oeqa/selftest/runtime-test.py +8 -7
@@ -1,14 +1,15 @@ -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID import os import re -class TestExport(oeSelfTest): +class TestExport(OESelftestTestCase): @classmethod def tearDownClass(cls): runCmd("rm -rf /tmp/sdk") + super(TestExport, cls).tearDownClass() def test_testexport_basic(self): """
@@ -101,7 +102,7 @@ class TestExport(oeSelfTest): self.assertEqual(0, result.status, "Couldn't run tar from SDK") -class TestImage(oeSelfTest): +class TestImage(OESelftestTestCase): def test_testimage_install(self): """
@@ -129,8 +130,8 @@ class TestImage(oeSelfTest): bitbake('core-image-full-cmdline socat') bitbake('-c testimage core-image-full-cmdline') -class Postinst(oeSelfTest): - @testcase(1540) +class Postinst(OESelftestTestCase): + @OETestID(1540) def test_verify_postinst(self): """ Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319]
@@ -180,7 +181,7 @@ postinst-delayed-t \ self.assertEqual(idx, len(postinst_list), "Not found all postinsts") break - @testcase(1545) + @OETestID(1545) def test_postinst_rootfs_and_boot(self): """ Summary: The purpose of this test case is to verify Post-installation
meta/lib/oeqa/selftest/cases/signing.py renamed from meta/lib/oeqa/selftest/signing.py +8 -7
@@ -1,15 +1,15 @@ -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars import os import glob import re import shutil import tempfile -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID from oeqa.utils.ftools import write_file -class Signing(oeSelfTest): +class Signing(OESelftestTestCase): gpg_dir = "" pub_key_path = ""
@@ -17,6 +17,7 @@ class Signing(oeSelfTest): @classmethod def setUpClass(cls): + super(Signing, cls).setUpClass() # Check that we can find the gpg binary and fail early if we can't if not shutil.which("gpg"): raise AssertionError("This test needs GnuPG")
@@ -29,7 +30,7 @@ class Signing(oeSelfTest): runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) - @testcase(1362) + @OETestID(1362) def test_signing_packages(self): """ Summary: Test that packages can be signed in the package feed
@@ -92,7 +93,7 @@ class Signing(oeSelfTest): bitbake('core-image-minimal') - @testcase(1382) + @OETestID(1382) def test_signing_sstate_archive(self): """ Summary: Test that sstate archives can be signed
@@ -135,9 +136,9 @@ class Signing(oeSelfTest): self.assertIn('gpg: Good signature from', ret.output, 'Package signed incorrectly.') -class LockedSignatures(oeSelfTest): +class LockedSignatures(OESelftestTestCase): - @testcase(1420) + @OETestID(1420) def test_locked_signatures(self): """ Summary: Test locked signature mechanism
meta/lib/oeqa/selftest/cases/sstate.py renamed from meta/lib/oeqa/selftest/sstate.py +3 -2
@@ -5,13 +5,14 @@ import re import shutil import oeqa.utils.ftools as ftools -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, bitbake, get_bb_vars, get_test_layer -class SStateBase(oeSelfTest): +class SStateBase(OESelftestTestCase): def setUpLocal(self): + super(SStateBase, self).setUpLocal() self.temp_sstate_location = None needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS']
meta/lib/oeqa/selftest/cases/sstatetests.py renamed from meta/lib/oeqa/selftest/sstatetests.py +21 -25
144 lines not on this page · raw message
meta/lib/oeqa/selftest/cases/tinfoil.py renamed from meta/lib/oeqa/selftest/tinfoil.py +12 -13
@@ -1,16 +1,15 @@ -import unittest import os import re import bb.tinfoil -from oeqa.selftest.base import oeSelfTest +from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd -from oeqa.utils.decorators import testcase +from oeqa.core.decorator.oeid import OETestID -class TinfoilTests(oeSelfTest): +class TinfoilTests(OESelftestTestCase): """ Basic tests for the tinfoil API """ - @testcase(1568) + @OETestID(1568) def test_getvar(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(True)
@@ -18,7 +17,7 @@ class TinfoilTests(oeSelfTest): if not machine: self.fail('Unable to get MACHINE value - returned %s' % machine) - @testcase(1569) + @OETestID(1569) def test_expand(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(True)
@@ -27,7 +26,7 @@ class TinfoilTests(oeSelfTest): if not pid: self.fail('Unable to expand "%s" - returned %s' % (expr, pid)) - @testcase(1570) + @OETestID(1570) def test_getvar_bb_origenv(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(True)
@@ -36,7 +35,7 @@ class TinfoilTests(oeSelfTest): self.fail('Unable to get BB_ORIGENV value - returned %s' % origenv) self.assertEqual(origenv.getVar('HOME', False), os.environ['HOME']) - @testcase(1571) + @OETestID(1571) def test_parse_recipe(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2)
@@ -47,7 +46,7 @@ class TinfoilTests(oeSelfTest): rd = tinfoil.parse_recipe_file(best[3]) self.assertEqual(testrecipe, rd.getVar('PN')) - @testcase(1572) + @OETestID(1572) def test_parse_recipe_copy_expand(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2)
@@ -66,7 +65,7 @@ class TinfoilTests(oeSelfTest): localdata.setVar('PN', 'hello') self.assertEqual('hello', localdata.getVar('BPN')) - @testcase(1573) + @OETestID(1573) def test_parse_recipe_initial_datastore(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2)
@@ -80,7 +79,7 @@ class TinfoilTests(oeSelfTest): # Check we can get variable values self.assertEqual('somevalue', rd.getVar('MYVARIABLE')) - @testcase(1574) + @OETestID(1574) def test_list_recipes(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2)
@@ -99,7 +98,7 @@ class TinfoilTests(oeSelfTest): if checkpns: self.fail('Unable to find pkg_fn entries for: %s' % ', '.join(checkpns)) - @testcase(1575) + @OETestID(1575) def test_wait_event(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=True)
@@ -130,7 +129,7 @@ class TinfoilTests(oeSelfTest): self.assertNotEqual(waitcount, 0, 'Timed out waiting for CommandCompleted event from bitbake server') self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server') - @testcase(1576) + @OETestID(1576) def test_setvariable_clean(self): # First check that setVariable affects the datastore with bb.tinfoil.Tinfoil() as tinfoil:
meta/lib/oeqa/selftest/cases/wic.py renamed from meta/lib/oeqa/selftest/wic.py +43 -41
307 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 36/36 selftest: Migrate systemd_boot test case to the new framework
In reply to Aníbal Limón- systemd_boot.py: Use the new case class and change decorator for id
- __init__.py: Because isn't needed now
---
meta-yocto-bsp/lib/oeqa/selftest/__init__.py | 0
.../lib/oeqa/selftest/{ => cases}/systemd_boot.py | 14 +++++---------
2 files changed, 5 insertions(+), 9 deletions(-)
delete mode 100644 meta-yocto-bsp/lib/oeqa/selftest/__init__.py
rename meta-yocto-bsp/lib/oeqa/selftest/{ => cases}/systemd_boot.py (91%)meta-yocto-bsp/lib/oeqa/selftest/__init__.py deleted +0 -0
meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py renamed from meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py +5 -9
@@ -1,14 +1,10 @@ -from oeqa.selftest.base import oeSelfTest -from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu -from oeqa.utils.decorators import testcase -import re import os -import sys -import logging - -class Systemdboot(oeSelfTest): +from oeqa.selftest.case import OESelftestTestCase +from oeqa.core.decorator.oeid import OETestID +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu +class Systemdboot(OESelftestTestCase): def _common_setup(self): """ Common setup for test cases: 1445, XXXX
@@ -28,7 +24,7 @@ class Systemdboot(oeSelfTest): bitbake('mtools-native core-image-minimal') - @testcase(1445) + @OETestID(1445) def test_efi_systemdboot_images_can_be_built(self): """ Summary: Check if systemd-boot images can be built correctly
Signature · 1 line
2.1.4
✗ patchtest: failure for OEQA threading support and selftest migration
In reply to Aníbal Limón== Series Details ==
Series: OEQA threading support and selftest migration
Revision: 1
URL : https://patchwork.openembedded.org/series/6941/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at 12373003cc)
* Issue Series sent to the wrong mailing list or some patches from the series correspond to different mailing lists [test_target_mailing_list]
Suggested fix Send the series again to the correct mailing list (ML) Suggested ML [email protected] [http://git.yoctoproject.org/cgit/cgit.cgi/poky/] Patch's path: meta-yocto-bsp/lib/oeqa/selftest/systemd_boot.py
If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).
---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
Quoted 6 lines · Aníbal Limón
This series is the integration of tree main changes into the OEQA module,
* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same framework
I tried this on the autobuilder:
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selftest/
builds/901/steps/Running%20oe-selftest/logs/stdio
It was fast, the oe-selftest run which usually takes several hours took 30 mins. The above logs suggest we might have a coverage issue though.
Cheers,
Richard
Quoted 8 lines · Richard Purdie
Quoted 6 lines · Aníbal Limón
This series is the integration of tree main changes into the OEQA module,
* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same framework
Quoted 7 lines
I tried this on the autobuilder:
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selftest/
builds/901/steps/Running%20oe-selftest/logs/stdioIt was fast, the oe-selftest run which usually takes several hours took 30 mins. The above logs suggest we might have a coverage issue though.
BTW, the new OE/QA threading support does not support (yet, Anibal is planning to work on it) the selftest test cases (because only one bitbake instance can be running at a time) so we should see similar times as before with this migration. So, those 30 minutes just comes from executing a subset, so something may be wrong in the series.
Leo
Quoted 4 lines
Cheers,
Richard
Quoted 20 lines · Leonardo Sandoval
Quoted 11 lines · Richard Purdie
Quoted 7 lines · Aníbal Limón
This series is the integration of tree main changes into the OEQA module,
* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same frameworkI tried this on the autobuilder:
Quoted 8 lines
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selft
est/
builds/901/steps/Running%20oe-selftest/logs/stdioIt was fast, the oe-selftest run which usually takes several hours took
30 mins. The above logs suggest we might have a coverage issue though.
Quoted 5 lines
BTW, the new OE/QA threading support does not support (yet, Anibal is planning to work on it) the selftest test cases (because only one bitbake instance can be running at a time) so we should see similar times as before with this migration. So, those 30 minutes just comes from executing a subset, so something may be wrong in the series.
The above was British understatement ;-).
If you look at the log it went from 200+ tests to executing just one. There is something *very* wrong with the series.
I have Anibal's piece of the series queued in -next and may merge that ahead of the selftest pieces whilst you figure out the issue there.
Cheers,
Richard
Quoted 27 lines · Richard Purdie
Quoted 20 lines · Leonardo Sandoval
Quoted 11 lines · Richard Purdie
Quoted 7 lines · Aníbal Limón
This series is the integration of tree main changes into the OEQA module,
* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same frameworkI tried this on the autobuilder:
Quoted 8 lines
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selft
est/
builds/901/steps/Running%20oe-selftest/logs/stdioIt was fast, the oe-selftest run which usually takes several hours took
30 mins. The above logs suggest we might have a coverage issue though.Quoted 5 lines
BTW, the new OE/QA threading support does not support (yet, Anibal is planning to work on it) the selftest test cases (because only one bitbake instance can be running at a time) so we should see similar times as before with this migration. So, those 30 minutes just comes from executing a subset, so something may be wrong in the series.
Quoted 4 lines
The above was British understatement ;-).
If you look at the log it went from 200+ tests to executing just one. There is something *very* wrong with the series.
I rebased Anibal's series on top of current master and executed oe-selftest -a at my host, and tests are added correctly and start executing as expected, so there may be something going on on the AB. Also several local AB builds were launched prior sending the series into the mailing list and no errors were seen. Will work on this to figure out the root cause.
Leo
Quoted 7 lines
I have Anibal's piece of the series queued in -next and may merge that ahead of the selftest pieces whilst you figure out the issue there.
Cheers,
Richard
Quoted 28 lines · Leonardo Sandoval
Quoted 27 lines · Richard Purdie
Quoted 25 lines · Leonardo Sandoval
Quoted 11 lines · Richard Purdie
Quoted 7 lines · Aníbal Limón
This series is the integration of tree main changes into the OEQA module,
* Implement threading support into OEQA core module
* Enables OEQA threaded mode into {,e}SDK test component
* Migrate current oe-selftest to use the same frameworkI tried this on the autobuilder:
Quoted 8 lines
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selft
est/
builds/901/steps/Running%20oe-selftest/logs/stdioIt was fast, the oe-selftest run which usually takes several hours took
30 mins. The above logs suggest we might have a coverage issue though.BTW, the new OE/QA threading support does not support (yet, Anibal is planning to work on it) the selftest test cases (because only one bitbake instance can be running at a time) so we should see similar times as before with this migration. So, those 30 minutes just comes from executing a subset, so something may be wrong in the series.
Quoted 4 lines
Quoted 4 lines
The above was British understatement ;-).
If you look at the log it went from 200+ tests to executing just one. There is something *very* wrong with the series.
I executed the branch into the local AB and everything goes well, see attached log.
May be was an integration issue because we have two patches for migrate test cases, one for oe-core and other for meta-yocto-bsp. [1]. I re-launched the build into the local AB to test again and see what happens.
[1]
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=alimon/oeqa_integration
Cheers,
Anibal
Quoted 20 lines
I rebased Anibal's series on top of current master and executed oe-selftest -a at my host, and tests are added correctly and start executing as expected, so there may be something going on on the AB. Also several local AB builds were launched prior sending the series into the mailing list and no errors were seen. Will work on this to figure out the root cause.
Leo
Quoted 7 lines
I have Anibal's piece of the series queued in -next and may merge that ahead of the selftest pieces whilst you figure out the issue there.
Cheers,
Richard
### Shell environment set up for builds. ###
You can now run 'bitbake <target>'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
2017-05-26 13:27:47,172 - oe-selftest - INFO - Adding layer libraries: 2017-05-26 13:27:47,172 - oe-selftest - INFO - /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib 2017-05-26 13:27:47,172 - oe-selftest - INFO - /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/meta-yocto-bsp/lib 2017-05-26 13:27:47,172 - oe-selftest - INFO - /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/meta-selftest/lib 2017-05-26 13:27:47,174 - oe-selftest - INFO - Running bitbake -p 2017-05-26 13:27:55,509 - oe-selftest - INFO - 2017-05-26 13:27:55,510 - oe-selftest - INFO - Running tests... 2017-05-26 13:27:55,510 - oe-selftest - INFO - ---------------------------------------------------------------------- 2017-05-26 13:27:55,511 - oe-selftest - INFO - Adding: "include selftest.inc" in /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/conf/local.conf 2017-05-26 13:27:55,511 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf 2017-05-26 13:31:54,563 - oe-selftest - INFO - test_archiver_allows_to_filter_on_recipe_name (archiver.Archiver) ... OK (239.052s) 2017-05-26 13:32:06,511 - oe-selftest - INFO - test_bitbakelayers_add_remove (bblayers.BitbakeLayers) ... OK (11.947s) 2017-05-26 13:32:19,932 - oe-selftest - INFO - test_bitbakelayers_flatten (bblayers.BitbakeLayers) ... OK (13.420s) 2017-05-26 13:32:25,713 - oe-selftest - INFO - test_bitbakelayers_showappends (bblayers.BitbakeLayers) ... OK (5.780s) 2017-05-26 13:33:11,085 - oe-selftest - INFO - test_bitbakelayers_showcrossdepends (bblayers.BitbakeLayers) ... OK (45.372s) 2017-05-26 13:33:12,187 - oe-selftest - INFO - test_bitbakelayers_showlayers (bblayers.BitbakeLayers) ... OK (1.101s) 2017-05-26 13:33:15,036 - oe-selftest - INFO - test_bitbakelayers_showoverlayed (bblayers.BitbakeLayers) ... OK (2.849s) 2017-05-26 13:33:30,382 - oe-selftest - INFO - test_bitbakelayers_showrecipes (bblayers.BitbakeLayers) ... OK (15.345s) 2017-05-26 13:33:36,262 - oe-selftest - INFO - test_bbappend_order (bbtests.BitbakeTests) ... OK (5.879s) 2017-05-26 13:33:41,614 - oe-selftest - INFO - test_bitbake_g (bbtests.BitbakeTests) ... OK (5.352s) 2017-05-26 13:33:42,532 - oe-selftest - INFO - test_bitbake_invalid_recipe (bbtests.BitbakeTests) ... OK (0.917s) 2017-05-26 13:33:44,489 - oe-selftest - INFO - test_bitbake_invalid_target (bbtests.BitbakeTests) ... OK (1.957s) 2017-05-26 13:33:49,290 - oe-selftest - INFO - test_checkuri (bbtests.BitbakeTests) ... OK (4.801s) 2017-05-26 13:34:06,252 - oe-selftest - INFO - test_continue (bbtests.BitbakeTests) ... OK (16.961s) 2017-05-26 13:34:10,056 - oe-selftest - INFO - test_dry_run (bbtests.BitbakeTests) ... OK (3.803s) 2017-05-26 13:34:11,336 - oe-selftest - INFO - test_environment (bbtests.BitbakeTests) ... OK (1.280s) 2017-05-26 13:34:20,593 - oe-selftest - INFO - test_event_handler (bbtests.BitbakeTests) ... OK (9.257s) 2017-05-26 13:35:01,117 - oe-selftest - INFO - test_force_task_1 (bbtests.BitbakeTests) ... OK (40.524s) 2017-05-26 13:35:23,984 - oe-selftest - INFO - test_force_task_2 (bbtests.BitbakeTests) ... OK (22.866s) 2017-05-26 13:35:37,179 - oe-selftest - INFO - test_image_manifest (bbtests.BitbakeTests) ... OK (13.194s) 2017-05-26 13:35:50,630 - oe-selftest - INFO - test_invalid_patch (bbtests.BitbakeTests) ... OK (13.451s) 2017-05-26 13:36:06,734 - oe-selftest - INFO - test_invalid_recipe_src_uri (bbtests.BitbakeTests) ... OK (16.103s) 2017-05-26 13:36:10,623 - oe-selftest - INFO - test_just_parse (bbtests.BitbakeTests) ... OK (3.889s) 2017-05-26 13:36:24,276 - oe-selftest - INFO - test_local_sstate (bbtests.BitbakeTests) ... OK (13.653s) 2017-05-26 13:36:44,590 - oe-selftest - INFO - test_non_gplv3 (bbtests.BitbakeTests) ... OK (20.313s) 2017-05-26 13:36:45,855 - oe-selftest - INFO - test_postfile (bbtests.BitbakeTests) ... OK (1.265s) 2017-05-26 13:36:52,229 - oe-selftest - INFO - test_prefile (bbtests.BitbakeTests) ... OK (6.373s) 2017-05-26 13:37:01,058 - oe-selftest - INFO - test_rename_downloaded_file (bbtests.BitbakeTests) ... OK (8.828s) 2017-05-26 13:37:02,345 - oe-selftest - INFO - test_run_bitbake_from_dir_1 (bbtests.BitbakeTests) ... OK (1.287s) 2017-05-26 13:37:03,658 - oe-selftest - INFO - test_run_bitbake_from_dir_2 (bbtests.BitbakeTests) ... OK (1.312s) 2017-05-26 13:37:25,978 - oe-selftest - INFO - test_setscene_only (bbtests.BitbakeTests) ... OK (22.320s) 2017-05-26 13:37:28,507 - oe-selftest - INFO - test_version (bbtests.BitbakeTests) ... OK (2.528s) 2017-05-26 13:37:29,450 - oe-selftest - INFO - test_warnings_errors (bbtests.BitbakeTests) ... OK (0.942s) 2017-05-26 13:37:50,831 - oe-selftest - INFO - test_arch_work_dir_and_export_source (buildoptions.ArchiverTest) ... OK (21.381s) 2017-05-26 13:38:11,672 - oe-selftest - INFO - test_buildhistory_basic (buildoptions.BuildhistoryTests) ... OK (20.840s) 2017-05-26 13:38:58,009 - oe-selftest - INFO - test_buildhistory_buildtime_pr_backwards (buildoptions.BuildhistoryTests) ... OK (46.337s) 2017-05-26 13:39:26,605 - oe-selftest - INFO - test_stoptask_behavior (buildoptions.DiskMonTest) ... OK (28.595s) 2017-05-26 13:58:56,097 - oe-selftest - INFO - test_ccache_tool (buildoptions.ImageOptionsTests) ... OK (1169.491s) 2017-05-26 14:01:47,085 - oe-selftest - INFO - test_incremental_image_generation (buildoptions.ImageOptionsTests) ... OK (170.987s) 2017-05-26 14:35:42,505 - oe-selftest - INFO - test_read_only_image (buildoptions.ImageOptionsTests) ... OK (2035.420s) 2017-05-26 14:36:04,557 - oe-selftest - INFO - test_layer_without_git_dir (buildoptions.SanityOptionsTest) ... OK (22.036s) 2017-05-26 14:36:26,492 - oe-selftest - INFO - test_options_warnqa_errorqa_switch (buildoptions.SanityOptionsTest) ... OK (21.935s) 2017-05-26 14:37:34,000 - oe-selftest - INFO - test_sanity_unsafe_script_references (buildoptions.SanityOptionsTest) ... OK (67.508s) 2017-05-26 14:38:36,144 - oe-selftest - INFO - test_expected_files (containerimage.ContainerImageTests) ... OK (62.142s) 2017-05-26 14:38:45,135 - oe-selftest - INFO - test_create_workspace (devtool.DevtoolTests) ... OK (7.616s) 2017-05-26 14:39:38,062 - oe-selftest - INFO - test_devtool_add (devtool.DevtoolTests) ... OK (52.926s) 2017-05-26 14:40:38,974 - oe-selftest - INFO - test_devtool_add_fetch (devtool.DevtoolTests) ... OK (60.911s) 2017-05-26 14:41:30,352 - oe-selftest - INFO - test_devtool_add_fetch_git (devtool.DevtoolTests) ... OK (51.377s) 2017-05-26 14:41:46,555 - oe-selftest - INFO - test_devtool_add_fetch_simple (devtool.DevtoolTests) ... OK (16.202s) 2017-05-26 14:42:01,042 - oe-selftest - INFO - test_devtool_add_git_local (devtool.DevtoolTests) ... OK (14.486s) 2017-05-26 14:47:53,406 - oe-selftest - INFO - test_devtool_add_library (devtool.DevtoolTests) ... OK (352.364s) 2017-05-26 14:50:45,513 - oe-selftest - INFO - test_devtool_build_image (devtool.DevtoolTests) ... OK (172.106s) 2017-05-26 14:52:53,283 - oe-selftest - INFO - test_devtool_buildclean (devtool.DevtoolTests) ... OK (127.770s)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/oe-selftest-image-qemux86-64.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/oe-selftest-image/1.0-r0/testimage/qemu_boot_log.20170526195432
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/oe-selftest-image/1.0-r0/testimage/ssh_target_log.20170526195432
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:39685
Created listening socket for qemu serial console on: 127.0.0.1:58030
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/oe-selftest-image-qemux86-64.ext4 tcpserial=58030 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:39685"
runqemu started, pid is 2196
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 2216
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/oe-selftest-image-qemux86-64.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:39685-cpukvm64-enable-kvm-m256-serialtcp:127.0.0.1:58030-snapshot-kerneltmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/oe-selftest-image-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/oe-selftest-image-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:39685 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:58030 -snapshot -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:46988
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 14:55:13,751 - oe-selftest - INFO - test_devtool_deploy_target (devtool.DevtoolTests) ... OK (140.467s) 2017-05-26 14:55:35,998 - oe-selftest - INFO - test_devtool_extract (devtool.DevtoolTests) ... OK (22.247s) 2017-05-26 14:55:55,753 - oe-selftest - INFO - test_devtool_extract_virtual (devtool.DevtoolTests) ... OK (19.755s) 2017-05-26 14:56:34,819 - oe-selftest - INFO - test_devtool_finish_modify_origlayer (devtool.DevtoolTests) ... OK (39.065s) 2017-05-26 14:57:16,072 - oe-selftest - INFO - test_devtool_finish_modify_otherlayer (devtool.DevtoolTests) ... OK (41.253s) 2017-05-26 14:57:50,714 - oe-selftest - INFO - test_devtool_finish_upgrade_origlayer (devtool.DevtoolTests) ... OK (34.641s) 2017-05-26 14:58:28,068 - oe-selftest - INFO - test_devtool_finish_upgrade_otherlayer (devtool.DevtoolTests) ... OK (37.354s) 2017-05-26 14:58:30,345 - oe-selftest - INFO - test_devtool_layer_plugins (devtool.DevtoolTests) ... OK (2.277s) 2017-05-26 14:58:43,279 - oe-selftest - INFO - test_devtool_load_plugin (devtool.DevtoolTests) ... OK (12.933s) 2017-05-26 15:00:13,053 - oe-selftest - INFO - test_devtool_modify (devtool.DevtoolTests) ... OK (89.773s) 2017-05-26 15:01:06,769 - oe-selftest - INFO - test_devtool_modify_git (devtool.DevtoolTests) ... OK (53.716s) 2017-05-26 15:02:32,912 - oe-selftest - INFO - test_devtool_modify_invalid (devtool.DevtoolTests) ... OK (86.142s) 2017-05-26 15:04:03,297 - oe-selftest - INFO - test_devtool_modify_localfiles (devtool.DevtoolTests) ... OK (90.384s) 2017-05-26 15:07:54,157 - oe-selftest - INFO - test_devtool_modify_native (devtool.DevtoolTests) ... OK (230.860s) 2017-05-26 15:08:15,140 - oe-selftest - INFO - test_devtool_modify_virtual (devtool.DevtoolTests) ... OK (20.983s) 2017-05-26 15:09:05,711 - oe-selftest - INFO - test_devtool_rename (devtool.DevtoolTests) ... OK (50.571s) 2017-05-26 15:10:46,005 - oe-selftest - INFO - test_devtool_reset_all (devtool.DevtoolTests) ... OK (100.293s) 2017-05-26 15:11:16,393 - oe-selftest - INFO - test_devtool_update_recipe (devtool.DevtoolTests) ... OK (30.388s) 2017-05-26 15:12:09,332 - oe-selftest - INFO - test_devtool_update_recipe_append (devtool.DevtoolTests) ... OK (52.939s) 2017-05-26 15:13:00,276 - oe-selftest - INFO - test_devtool_update_recipe_append_git (devtool.DevtoolTests) ... OK (50.943s) 2017-05-26 15:13:32,376 - oe-selftest - INFO - test_devtool_update_recipe_git (devtool.DevtoolTests) ... OK (32.100s) 2017-05-26 15:14:09,867 - oe-selftest - INFO - test_devtool_update_recipe_local_files (devtool.DevtoolTests) ... OK (37.490s) 2017-05-26 15:14:38,820 - oe-selftest - INFO - test_devtool_update_recipe_local_files_2 (devtool.DevtoolTests) ... OK (28.953s) 2017-05-26 15:15:04,539 - oe-selftest - INFO - test_devtool_update_recipe_local_files_3 (devtool.DevtoolTests) ... OK (25.719s) 2017-05-26 15:15:26,285 - oe-selftest - INFO - test_devtool_update_recipe_local_files_subdir (devtool.DevtoolTests) ... OK (21.745s) 2017-05-26 15:15:52,574 - oe-selftest - INFO - test_devtool_update_recipe_local_patch_gz (devtool.DevtoolTests) ... OK (26.288s) 2017-05-26 15:16:27,959 - oe-selftest - INFO - test_devtool_upgrade (devtool.DevtoolTests) ... OK (35.385s) 2017-05-26 15:16:53,494 - oe-selftest - INFO - test_devtool_upgrade_git (devtool.DevtoolTests) ... OK (25.535s) 2017-05-26 15:35:39,820 - oe-selftest - INFO - test_devtool_virtual_kernel_modify (devtool.DevtoolTests) ... OK (1126.325s) 2017-05-26 16:06:56,825 - oe-selftest - INFO - test_image_generation_binary_feeds (eSDK.oeSDKExtSelfTest) ... OK (49.079s) 2017-05-26 16:07:04,853 - oe-selftest - INFO - test_install_libraries_headers (eSDK.oeSDKExtSelfTest) ... OK (8.026s) 2017-05-26 16:07:16,977 - oe-selftest - INFO - test_conversion_typedep_added (image_typedep.ImageTypeDepTests) ... OK (9.022s)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526210803
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526210803
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:49538
Created listening socket for qemu serial console on: 127.0.0.1:56344
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tcpserial=56344 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:49538"
runqemu started, pid is 12008
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 12028
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:49538-cpukvm64-enable-kvm-m256-serialtcp:127.0.0.1:56344-snapshot-kerneltmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:49538 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:56344 -snapshot -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner Connection from 127.0.0.1:39126
Reached login banner
Couldn't login into serial console as root using blank password Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 16:08:23,624 - oe-selftest - INFO - test_all_users_can_connect_via_ssh_without_password (imagefeatures.ImageFeatures) ... OK (66.646s) 2017-05-26 16:09:24,778 - oe-selftest - INFO - test_bmap (imagefeatures.ImageFeatures) ... OK (61.153s) 2017-05-26 16:14:42,891 - oe-selftest - INFO - test_clutter_image_can_be_built (imagefeatures.ImageFeatures) ... OK (318.112s)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526211531
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526211531
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:55927
Created listening socket for qemu serial console on: 127.0.0.1:43950
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tcpserial=43950 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:55927"
runqemu started, pid is 20702
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 20722
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:55927-cpukvm64-enable-kvm-m256-serialtcp:127.0.0.1:43950-snapshot-kerneltmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:55927 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:43950 -snapshot -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:35394
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 16:15:45,517 - oe-selftest - INFO - test_non_root_user_can_connect_via_ssh_without_password (imagefeatures.ImageFeatures) ... OK (62.626s) 2017-05-26 16:18:20,878 - oe-selftest - INFO - test_wayland_support_in_image (imagefeatures.ImageFeatures) ... OK (155.360s) 2017-05-26 16:18:56,147 - oe-selftest - INFO - test_layer_appends (layerappend.LayerAppendTests) ... OK (35.267s) 2017-05-26 16:18:57,492 - oe-selftest - INFO - test_copy_hardlink_tree_count (liboe.LibOE) ... OK (0.020s) 2017-05-26 16:18:57,504 - oe-selftest - INFO - test_copy_tree_special (liboe.LibOE) ... OK (0.011s) 2017-05-26 16:19:05,197 - oe-selftest - INFO - test_copy_tree_xattr (liboe.LibOE) ... OK (7.692s) 2017-05-26 16:19:16,447 - oe-selftest - INFO - test_nonmatching_checksum (lic_checksum.LicenseTests) ... OK (11.249s) 2017-05-26 16:19:16,448 - oe-selftest - INFO - VerifyManifest: doing bitbake core-image-minimal as a prerequisite of the test 2017-05-26 16:33:41,222 - oe-selftest - INFO - test_SDK_manifest_entries (manifest.VerifyManifest) ... OK (828.832s) 2017-05-26 16:33:52,679 - oe-selftest - INFO - test_image_manifest_entries (manifest.VerifyManifest) ... OK (11.440s) 2017-05-26 16:33:54,899 - oe-selftest - INFO - test_blob_to_dict (oelib.buildhistory.TestBlobParsing) ... OK (2.219s) 2017-05-26 16:33:56,281 - oe-selftest - INFO - test_compare_dict_blobs (oelib.buildhistory.TestBlobParsing) ... OK (1.382s) 2017-05-26 16:33:57,642 - oe-selftest - INFO - test_compare_dict_blobs_default (oelib.buildhistory.TestBlobParsing) ... OK (1.360s) 2017-05-26 16:33:57,645 - oe-selftest - INFO - test_machine_name (oelib.elf.TestElf) ... OK (0.002s) 2017-05-26 16:33:57,649 - oe-selftest - INFO - test_tests (oelib.license.TestComplexCombinations) ... OK (0.003s) 2017-05-26 16:33:57,652 - oe-selftest - INFO - test_tests (oelib.license.TestSimpleCombinations) ... OK (0.002s) 2017-05-26 16:33:57,654 - oe-selftest - INFO - test_invalid_licenses (oelib.license.TestSingleLicense) ... OK (0.002s) 2017-05-26 16:33:57,657 - oe-selftest - INFO - test_single_licenses (oelib.license.TestSingleLicense) ... OK (0.002s) 2017-05-26 16:33:57,662 - oe-selftest - INFO - test_loop (oelib.path.TestRealPath) ... OK (0.004s) 2017-05-26 16:33:57,666 - oe-selftest - INFO - test_norm (oelib.path.TestRealPath) ... OK (0.004s) 2017-05-26 16:33:57,667 - oe-selftest - INFO - test_phys (oelib.path.TestRealPath) ... OK (0.001s) 2017-05-26 16:33:57,670 - oe-selftest - INFO - test_bool_equality (oelib.types.TestBooleanType) ... OK (0.002s) 2017-05-26 16:33:57,672 - oe-selftest - INFO - test_false (oelib.types.TestBooleanType) ... OK (0.002s) 2017-05-26 16:33:57,674 - oe-selftest - INFO - test_invalid (oelib.types.TestBooleanType) ... OK (0.002s) 2017-05-26 16:33:57,676 - oe-selftest - INFO - test_true (oelib.types.TestBooleanType) ... OK (0.002s) 2017-05-26 16:33:57,678 - oe-selftest - INFO - test_list_nosep (oelib.types.TestList) ... OK (0.002s) 2017-05-26 16:33:57,680 - oe-selftest - INFO - test_list_usersep (oelib.types.TestList) ... OK (0.002s) 2017-05-26 16:33:57,682 - oe-selftest - INFO - test_filter (oelib.utils.TestPackagesFilterOutSystem) ... OK (0.002s) 2017-05-26 16:33:57,685 - oe-selftest - INFO - test_num_exception (oelib.utils.TestTrimVersion) ... OK (0.002s) 2017-05-26 16:33:57,686 - oe-selftest - INFO - test_valid (oelib.utils.TestTrimVersion) ... OK (0.002s) 2017-05-26 16:33:57,688 - oe-selftest - INFO - test_version_exception (oelib.utils.TestTrimVersion) ... OK (0.002s) 2017-05-26 16:34:30,006 - oe-selftest - INFO - test_buildhistory_diff (oescripts.BuildhistoryDiffTests) ... OK (32.317s) 2017-05-26 16:34:47,052 - oe-selftest - INFO - test_dpkg (package.VersionOrdering) ... OK (0.110s) 2017-05-26 16:34:47,162 - oe-selftest - INFO - test_opkg (package.VersionOrdering) ... OK (0.109s) 2017-05-26 16:34:47,582 - oe-selftest - INFO - test_rpm (package.VersionOrdering) ... OK (0.419s) 2017-05-26 16:34:47,583 - oe-selftest - INFO - Running bitbake to generate pkgdata 2017-05-26 16:35:45,912 - oe-selftest - INFO - test_find_path (pkgdata.OePkgdataUtilTests) ... OK (53.144s) 2017-05-26 16:35:49,250 - oe-selftest - INFO - test_glob (pkgdata.OePkgdataUtilTests) ... OK (3.338s) 2017-05-26 16:35:57,010 - oe-selftest - INFO - test_list_pkg_files (pkgdata.OePkgdataUtilTests) ... OK (7.759s) 2017-05-26 16:36:06,409 - oe-selftest - INFO - test_list_pkgs (pkgdata.OePkgdataUtilTests) ... OK (9.398s) 2017-05-26 16:36:12,620 - oe-selftest - INFO - test_lookup_pkg (pkgdata.OePkgdataUtilTests) ... OK (6.211s) 2017-05-26 16:36:15,761 - oe-selftest - INFO - test_lookup_recipe (pkgdata.OePkgdataUtilTests) ... OK (3.140s) 2017-05-26 16:36:18,822 - oe-selftest - INFO - test_read_value (pkgdata.OePkgdataUtilTests) ... OK (3.060s) 2017-05-26 16:36:20,364 - oe-selftest - INFO - test_specify_pkgdatadir (pkgdata.OePkgdataUtilTests) ... OK (1.542s) 2017-05-26 16:37:54,344 - oe-selftest - INFO - test_import_export_override_db (prservice.BitbakePrTests) ... OK (92.598s) 2017-05-26 16:38:46,112 - oe-selftest - INFO - test_import_export_replace_db (prservice.BitbakePrTests) ... OK (51.768s) 2017-05-26 16:40:32,995 - oe-selftest - INFO - test_pr_service_deb_arch_dep (prservice.BitbakePrTests) ... OK (106.883s) 2017-05-26 16:41:08,206 - oe-selftest - INFO - test_pr_service_deb_arch_indep (prservice.BitbakePrTests) ... OK (35.210s) 2017-05-26 16:41:49,325 - oe-selftest - INFO - test_pr_service_ipk_arch_dep (prservice.BitbakePrTests) ... OK (41.118s) 2017-05-26 16:42:14,486 - oe-selftest - INFO - test_pr_service_ipk_arch_indep (prservice.BitbakePrTests) ... OK (25.161s) 2017-05-26 16:42:43,749 - oe-selftest - INFO - test_pr_service_rpm_arch_dep (prservice.BitbakePrTests) ... OK (29.262s) 2017-05-26 16:43:08,593 - oe-selftest - INFO - test_pr_service_rpm_arch_indep (prservice.BitbakePrTests) ... OK (24.843s) 2017-05-26 16:43:10,025 - oe-selftest - INFO - test_stopping_prservice_message (prservice.BitbakePrTests) ... OK (1.432s) 2017-05-26 16:43:27,101 - oe-selftest - INFO - test_recipetool_appendsrcfile_basic (recipetool.RecipetoolAppendsrcTests) ... OK (15.751s) 2017-05-26 16:43:43,804 - oe-selftest - INFO - test_recipetool_appendsrcfile_basic_wildcard (recipetool.RecipetoolAppendsrcTests) ... OK (16.702s) 2017-05-26 16:43:56,627 - oe-selftest - INFO - test_recipetool_appendsrcfile_existing_in_src_uri (recipetool.RecipetoolAppendsrcTests) ... OK (12.823s) 2017-05-26 16:44:09,299 - oe-selftest - INFO - test_recipetool_appendsrcfile_existing_in_src_uri_diff_params (recipetool.RecipetoolAppendsrcTests) ... OK (12.671s) 2017-05-26 16:44:31,277 - oe-selftest - INFO - test_recipetool_appendsrcfile_replace_file_srcdir (recipetool.RecipetoolAppendsrcTests) ... OK (21.978s) 2017-05-26 16:44:44,883 - oe-selftest - INFO - test_recipetool_appendsrcfile_srcdir_basic (recipetool.RecipetoolAppendsrcTests) ... OK (13.605s) 2017-05-26 16:44:55,019 - oe-selftest - INFO - test_recipetool_appendsrcfile_subdir_basic (recipetool.RecipetoolAppendsrcTests) ... OK (10.135s) 2017-05-26 16:45:05,094 - oe-selftest - INFO - test_recipetool_appendsrcfile_subdir_basic_dirdest (recipetool.RecipetoolAppendsrcTests) ... OK (10.075s) 2017-05-26 16:45:22,202 - oe-selftest - INFO - test_recipetool_appendsrcfiles_basic (recipetool.RecipetoolAppendsrcTests) ... OK (17.107s) 2017-05-26 16:45:39,589 - oe-selftest - INFO - test_recipetool_appendsrcfiles_basic_subdir (recipetool.RecipetoolAppendsrcTests) ... OK (17.387s) 2017-05-26 16:45:39,591 - oe-selftest - INFO - Running bitbake to generate pkgdata 2017-05-26 16:46:11,957 - oe-selftest - INFO - test_recipetool_appendfile_add (recipetool.RecipetoolTests) ... OK (19.147s) 2017-05-26 16:46:21,956 - oe-selftest - INFO - test_recipetool_appendfile_add_bindir (recipetool.RecipetoolTests) ... OK (9.999s) 2017-05-26 16:46:35,743 - oe-selftest - INFO - test_recipetool_appendfile_add_machine (recipetool.RecipetoolTests) ... OK (13.786s) 2017-05-26 16:47:00,134 - oe-selftest - INFO - test_recipetool_appendfile_alternatives (recipetool.RecipetoolTests) ... OK (24.390s) 2017-05-26 16:47:11,479 - oe-selftest - INFO - test_recipetool_appendfile_basic (recipetool.RecipetoolTests) ... OK (11.345s) 2017-05-26 16:47:15,266 - oe-selftest - INFO - test_recipetool_appendfile_binary (recipetool.RecipetoolTests) ... OK (3.786s) 2017-05-26 16:47:19,558 - oe-selftest - INFO - test_recipetool_appendfile_extlayer (recipetool.RecipetoolTests) ... OK (4.291s) 2017-05-26 16:47:30,396 - oe-selftest - INFO - test_recipetool_appendfile_inst_func (recipetool.RecipetoolTests) ... OK (10.838s) 2017-05-26 16:47:41,230 - oe-selftest - INFO - test_recipetool_appendfile_inst_glob (recipetool.RecipetoolTests) ... OK (10.833s) 2017-05-26 16:47:52,719 - oe-selftest - INFO - test_recipetool_appendfile_inst_todir_glob (recipetool.RecipetoolTests) ... OK (11.488s) 2017-05-26 16:48:01,752 - oe-selftest - INFO - test_recipetool_appendfile_invalid (recipetool.RecipetoolTests) ... OK (9.032s) 2017-05-26 16:48:12,204 - oe-selftest - INFO - test_recipetool_appendfile_orig (recipetool.RecipetoolTests) ... OK (10.451s) 2017-05-26 16:48:23,676 - oe-selftest - INFO - test_recipetool_appendfile_patch (recipetool.RecipetoolTests) ... OK (11.471s) 2017-05-26 16:48:37,399 - oe-selftest - INFO - test_recipetool_appendfile_postinstall (recipetool.RecipetoolTests) ... OK (13.723s) 2017-05-26 16:48:48,894 - oe-selftest - INFO - test_recipetool_appendfile_renamed (recipetool.RecipetoolTests) ... OK (11.494s) 2017-05-26 16:49:00,386 - oe-selftest - INFO - test_recipetool_appendfile_script (recipetool.RecipetoolTests) ... OK (11.492s) 2017-05-26 16:49:11,651 - oe-selftest - INFO - test_recipetool_appendfile_src_glob (recipetool.RecipetoolTests) ... OK (11.264s) 2017-05-26 16:49:22,487 - oe-selftest - INFO - test_recipetool_appendfile_subdir (recipetool.RecipetoolTests) ... OK (10.836s) 2017-05-26 16:49:33,750 - oe-selftest - INFO - test_recipetool_appendfile_todir (recipetool.RecipetoolTests) ... OK (11.263s) 2017-05-26 16:49:45,599 - oe-selftest - INFO - test_recipetool_appendfile_wildcard (recipetool.RecipetoolTests) ... OK (11.848s) 2017-05-26 16:50:15,057 - oe-selftest - INFO - test_recipetool_create (recipetool.RecipetoolTests) ... OK (29.458s) 2017-05-26 16:50:27,357 - oe-selftest - INFO - test_recipetool_create_cmake (recipetool.RecipetoolTests) ... OK (12.299s) 2017-05-26 16:50:53,594 - oe-selftest - INFO - test_recipetool_create_git (recipetool.RecipetoolTests) ... OK (26.237s) 2017-05-26 16:51:07,445 - oe-selftest - INFO - test_recipetool_create_git_http (recipetool.RecipetoolTests) ... OK (13.849s) 2017-05-26 16:51:43,822 - oe-selftest - INFO - test_recipetool_create_github (recipetool.RecipetoolTests) ... OK (36.377s) 2017-05-26 16:51:58,240 - oe-selftest - INFO - test_recipetool_create_github_tarball (recipetool.RecipetoolTests) ... OK (14.417s) 2017-05-26 16:52:13,669 - oe-selftest - INFO - test_recipetool_create_simple (recipetool.RecipetoolTests) ... OK (15.429s) 2017-05-26 16:52:31,879 - oe-selftest - INFO - test_recipetool_load_plugin (recipetool.RecipetoolTests) ... OK (18.209s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220744
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220744
Created listening socket for qemu serial console on: 127.0.0.1:45377
Created listening socket for qemu serial console on: 127.0.0.1:51781
launchcmd=runqemu nographic /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64 tcpserial=51781 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:45377" runqemu started, pid is 29543
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29565
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:45377 -cpu core2duo -m 256 -serial tcp:127.0.0.1:51781 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:44344
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:08:02,719 - oe-selftest - INFO - test_boot_deploy (runqemu.RunqemuTests) ... OK (929.537s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220803
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220803
Created listening socket for qemu serial console on: 127.0.0.1:43716
Created listening socket for qemu serial console on: 127.0.0.1:38091
launchcmd=runqemu nographic /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64 hddimg tcpserial=38091 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:43716" runqemu started, pid is 29585
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29607
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=none,id=hd,file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.hddimg,format=raw -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:43716 -cpu core2duo -m 256 -serial tcp:127.0.0.1:38091 QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:52208
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:08:26,428 - oe-selftest - INFO - test_boot_deploy_hddimg (runqemu.RunqemuTests) ... OK (23.709s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220826 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220826 Created listening socket for qemu serial console on: 127.0.0.1:53919
Created listening socket for qemu serial console on: 127.0.0.1:52102
launchcmd=runqemu nographic qemux86-64 tcpserial=52102 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:53919" runqemu started, pid is 29627
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29664
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Assuming MACHINE = qemux86-64
runqemu - INFO - Running MACHINE=qemux86-64 bitbake -e...
runqemu - INFO - MACHINE: qemux86-64
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf... runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:53919 -cpu core2duo -m 256 -serial tcp:127.0.0.1:52102 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:42790
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:08:45,306 - oe-selftest - INFO - test_boot_machine (runqemu.RunqemuTests) ... OK (18.877s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220845 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220845 Created listening socket for qemu serial console on: 127.0.0.1:41561
Created listening socket for qemu serial console on: 127.0.0.1:51638
launchcmd=runqemu nographic qemux86-64 ext4 tcpserial=51638 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:41561" runqemu started, pid is 29685
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29722
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Assuming MACHINE = qemux86-64
runqemu - INFO - Running MACHINE=qemux86-64 bitbake -e...
runqemu - INFO - MACHINE: qemux86-64
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf... runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:41561 -cpu core2duo -m 256 -serial tcp:127.0.0.1:51638 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:40568
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:09:03,585 - oe-selftest - INFO - test_boot_machine_ext4 (runqemu.RunqemuTests) ... OK (18.278s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220903 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220903 Created listening socket for qemu serial console on: 127.0.0.1:45543
Created listening socket for qemu serial console on: 127.0.0.1:38058
launchcmd=runqemu nographic qemux86-64 iso tcpserial=38058 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:45543" runqemu started, pid is 29742
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29779
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Assuming MACHINE = qemux86-64
runqemu - INFO - Running MACHINE=qemux86-64 bitbake -e...
runqemu - INFO - MACHINE: qemux86-64
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf... runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -cdrom tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.iso -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:45543 -cpu core2duo -m 256 -serial tcp:127.0.0.1:38058 QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:41596
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:09:26,581 - oe-selftest - INFO - test_boot_machine_iso (runqemu.RunqemuTests) ... OK (22.995s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220926 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220926 Created listening socket for qemu serial console on: 127.0.0.1:47827
Created listening socket for qemu serial console on: 127.0.0.1:53394
launchcmd=runqemu nographic slirp qemux86-64 tcpserial=53394 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:47827" runqemu started, pid is 29799
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29834
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Assuming MACHINE = qemux86-64
runqemu - INFO - Running MACHINE=qemux86-64 bitbake -e...
runqemu - INFO - MACHINE: qemux86-64
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf... runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Port forward: hostfwd=tcp::2222-:22 hostfwd=tcp::2323-:23
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:35:02 -netdev user,id=net0,hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23,tftp=tmp/deploy/images/qemux86-64 -drive file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:47827 -cpu core2duo -m 256 -serial tcp:127.0.0.1:53394 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=dhcp vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:52471
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:09:46,047 - oe-selftest - INFO - test_boot_machine_slirp (runqemu.RunqemuTests) ... OK (19.466s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526220946 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526220946 Created listening socket for qemu serial console on: 127.0.0.1:40945
Created listening socket for qemu serial console on: 127.0.0.1:40741
launchcmd=runqemu nographic slirp qcow2 qemux86-64 tcpserial=40741 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:40945" runqemu started, pid is 29857
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29892
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Assuming MACHINE = qemux86-64
runqemu - INFO - Running MACHINE=qemux86-64 bitbake -e...
runqemu - INFO - MACHINE: qemux86-64
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf... runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Port forward: hostfwd=tcp::2222-:22 hostfwd=tcp::2323-:23
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:35:02 -netdev user,id=net0,hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23,tftp=tmp/deploy/images/qemux86-64 -drive if=none,id=hd,file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.qcow2,format=qcow2 -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:40945 -cpu core2duo -m 256 -serial tcp:127.0.0.1:40741 QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:40077
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:10:07,241 - oe-selftest - INFO - test_boot_machine_slirp_qcow2 (runqemu.RunqemuTests) ... OK (21.194s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526221007
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526221007
Created listening socket for qemu serial console on: 127.0.0.1:53433
Created listening socket for qemu serial console on: 127.0.0.1:49815
launchcmd=runqemu nographic /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf tcpserial=49815 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:53433" runqemu started, pid is 29912
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29947
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Running bitbake -e...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64-20170526215243.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:53433 -cpu core2duo -m 256 -serial tcp:127.0.0.1:49815 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:33673
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:10:26,298 - oe-selftest - INFO - test_boot_qemu_boot (runqemu.RunqemuTests) ... OK (19.056s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526221026 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526221026 Created listening socket for qemu serial console on: 127.0.0.1:57286
Created listening socket for qemu serial console on: 127.0.0.1:55675
launchcmd=runqemu nographic core-image-minimal tcpserial=55675 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:57286" runqemu started, pid is 29967
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 30002
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Running bitbake -e...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:57286 -cpu core2duo -m 256 -serial tcp:127.0.0.1:55675 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:59872
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:10:44,998 - oe-selftest - INFO - test_boot_recipe_image (runqemu.RunqemuTests) ... OK (18.699s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526221045 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526221045 Created listening socket for qemu serial console on: 127.0.0.1:59168
Created listening socket for qemu serial console on: 127.0.0.1:41893
launchcmd=runqemu nographic core-image-minimal vdi tcpserial=41893 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:59168" runqemu started, pid is 30023
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 30058
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Running bitbake -e...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=none,id=hd,file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.vdi,format=vdi -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:59168 -cpu core2duo -m 256 -serial tcp:127.0.0.1:41893 QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:33649
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:11:05,027 - oe-selftest - INFO - test_boot_recipe_image_vdi (runqemu.RunqemuTests) ... OK (20.029s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526221105 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526221105 Created listening socket for qemu serial console on: 127.0.0.1:41047
Created listening socket for qemu serial console on: 127.0.0.1:44611
launchcmd=runqemu nographic core-image-minimal vmdk tcpserial=44611 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:41047" runqemu started, pid is 30079
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 30114
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Running bitbake -e...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=none,id=hd,file=tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.vmdk,format=vmdk -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:41047 -cpu core2duo -m 256 -serial tcp:127.0.0.1:44611 QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:45001
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:11:25,553 - oe-selftest - INFO - test_boot_recipe_image_vmdk (runqemu.RunqemuTests) ... OK (20.525s)
rootfs file:
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526221125
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526221125
Created listening socket for qemu serial console on: 127.0.0.1:45809
Created listening socket for qemu serial console on: 127.0.0.1:32962
launchcmd=runqemu nographic /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tcpserial=32962 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:45809" runqemu started, pid is 30134
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 30169
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - Running bitbake -e...
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -nographic -serial tcp:127.0.0.1:45809 -cpu core2duo -m 256 -serial tcp:127.0.0.1:32962 -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off console=ttyS0 mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1' QEMU 2.8.1.1 monitor - type 'help' for more information
(qemu)
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:39834
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 17:11:44,005 - oe-selftest - INFO - test_boot_rootfs (runqemu.RunqemuTests) ... OK (18.452s)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/parse/ast.py:304: ResourceWarning: unclosed file <_io.FileIO name=47 mode='wb'>
statements.append(DataNode(filename, lineno, groupd))
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/parse/ast.py:304: ResourceWarning: unclosed file <_io.FileIO name=47 mode='wb'>
statements.append(DataNode(filename, lineno, groupd))
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526223416
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526223416
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:39709
Created listening socket for qemu serial console on: 127.0.0.1:32861
launchcmd=runqemu snapshot kvm qemux86 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 tcpserial=32861 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:39709"
runqemu started, pid is 12952
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 12972
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:39709-cpukvm32-enable-kvm-m256-serialtcp:127.0.0.1:32861-snapshot-kerneltmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:39709 -cpu kvm32 -enable-kvm -m 256 -serial tcp:127.0.0.1:32861 -snapshot -kernel tmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:51616
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526223612
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526223612
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:52143
Created listening socket for qemu serial console on: 127.0.0.1:56554
launchcmd=runqemu snapshot kvm qemux86 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 tcpserial=56554 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:52143"
runqemu started, pid is 27103
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 27124
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:52143-cpukvm32-enable-kvm-m256-serialtcp:127.0.0.1:56554-snapshot-kerneltmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:52143 -cpu kvm32 -enable-kvm -m 256 -serial tcp:127.0.0.1:56554 -snapshot -kernel tmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:38363
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:598: ResourceWarning: unclosed file <_io.TextIOWrapper name=54 mode='w' encoding='UTF-8'>
self.overridedata[shortvar] = list(self.overridedata[shortvar])
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:598: ResourceWarning: unclosed file <_io.TextIOWrapper name=54 mode='w' encoding='UTF-8'>
self.overridedata[shortvar] = list(self.overridedata[shortvar])
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526223721
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526223721
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:44633
Created listening socket for qemu serial console on: 127.0.0.1:52807
launchcmd=runqemu snapshot kvm qemux86 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 tcpserial=52807 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:44633"
runqemu started, pid is 1777
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 1797
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:44633-cpukvm32-enable-kvm-m256-serialtcp:127.0.0.1:52807-snapshot-kerneltmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:44633 -cpu kvm32 -enable-kvm -m 256 -serial tcp:127.0.0.1:52807 -snapshot -kernel tmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:40041
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:598: ResourceWarning: unclosed file <_io.TextIOWrapper name=54 mode='w' encoding='UTF-8'>
self.overridedata[shortvar] = list(self.overridedata[shortvar])
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:598: ResourceWarning: unclosed file <_io.TextIOWrapper name=61 mode='w' encoding='UTF-8'>
self.overridedata[shortvar] = list(self.overridedata[shortvar])
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:598: ResourceWarning: unclosed file <_io.TextIOWrapper name=54 mode='w' encoding='UTF-8'>
self.overridedata[shortvar] = list(self.overridedata[shortvar])
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:598: ResourceWarning: unclosed file <_io.TextIOWrapper name=61 mode='w' encoding='UTF-8'>
self.overridedata[shortvar] = list(self.overridedata[shortvar])
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526230136
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526230136
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:37198
Created listening socket for qemu serial console on: 127.0.0.1:36904
launchcmd=runqemu snapshot kvm qemux86 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 tcpserial=36904 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:37198"
runqemu started, pid is 5925
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 5945
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:37198-cpukvm32-enable-kvm-m256-serialtcp:127.0.0.1:36904-snapshot-kerneltmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:37198 -cpu kvm32 -enable-kvm -m 256 -serial tcp:127.0.0.1:36904 -snapshot -kernel tmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:52981
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/cache.py:449: ResourceWarning: unclosed file <_io.TextIOWrapper name=68 mode='w' encoding='UTF-8'>
value = pickled.load()
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/cache.py:449: ResourceWarning: unclosed file <_io.TextIOWrapper name=68 mode='w' encoding='UTF-8'>
value = pickled.load()
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526230249
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526230249
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:47578
Created listening socket for qemu serial console on: 127.0.0.1:38453
launchcmd=runqemu snapshot kvm qemux86 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 tcpserial=38453 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:47578"
runqemu started, pid is 13970
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 13990
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:47578-cpukvm32-enable-kvm-m256-serialtcp:127.0.0.1:38453-snapshot-kerneltmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:47578 -cpu kvm32 -enable-kvm -m 256 -serial tcp:127.0.0.1:38453 -snapshot -kernel tmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:55759
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/cache.py:449: ResourceWarning: unclosed file <_io.TextIOWrapper name=68 mode='w' encoding='UTF-8'>
value = pickled.load()
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/cache.py:449: ResourceWarning: unclosed file <_io.TextIOWrapper name=68 mode='w' encoding='UTF-8'>
value = pickled.load()
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/cache.py:449: ResourceWarning: unclosed file <_io.TextIOWrapper name=45 mode='w' encoding='UTF-8'>
value = pickled.load()
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/cache.py:449: ResourceWarning: unclosed file <_io.TextIOWrapper name=45 mode='w' encoding='UTF-8'>
value = pickled.load()
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526230359
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526230359
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:39808
Created listening socket for qemu serial console on: 127.0.0.1:57229
launchcmd=runqemu snapshot kvm qemux86 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 tcpserial=57229 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:39808"
runqemu started, pid is 21309
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 21329
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:39808-cpukvm32-enable-kvm-m256-serialtcp:127.0.0.1:57229-snapshot-kerneltmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:39808 -cpu kvm32 -enable-kvm -m 256 -serial tcp:127.0.0.1:57229 -snapshot -kernel tmp/deploy/images/qemux86/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-20170526221151.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:55680
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 18:04:16,907 - oe-selftest - INFO - test_postinst_rootfs_and_boot (runtime_test.Postinst) ... OK (3152.901s)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526230530
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526230530
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:56404
Created listening socket for qemu serial console on: 127.0.0.1:51416
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tcpserial=51416 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:56404"
runqemu started, pid is 28060
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 28080
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:56404-cpukvm64-enable-kvm-m256-serialtcp:127.0.0.1:51416-snapshot-kerneltmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:56404 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:51416 -snapshot -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:47651
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 18:05:43,835 - oe-selftest - INFO - test_verify_postinst (runtime_test.Postinst) ... OK (86.926s)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:566: ResourceWarning: unclosed file <_io.TextIOWrapper name=68 mode='w' encoding='UTF-8'>
self._setvar_update_overrides(var, **loginfo)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:566: ResourceWarning: unclosed file <_io.TextIOWrapper name=45 mode='w' encoding='UTF-8'>
self._setvar_update_overrides(var, **loginfo)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:566: ResourceWarning: unclosed file <_io.TextIOWrapper name=54 mode='w' encoding='UTF-8'>
self._setvar_update_overrides(var, **loginfo)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:566: ResourceWarning: unclosed file <_io.TextIOWrapper name=68 mode='w' encoding='UTF-8'>
self._setvar_update_overrides(var, **loginfo)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:566: ResourceWarning: unclosed file <_io.TextIOWrapper name=45 mode='w' encoding='UTF-8'>
self._setvar_update_overrides(var, **loginfo)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:566: ResourceWarning: unclosed file <_io.TextIOWrapper name=54 mode='w' encoding='UTF-8'>
self._setvar_update_overrides(var, **loginfo)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170526230734
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170526230734
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:57566
Created listening socket for qemu serial console on: 127.0.0.1:36354
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tcpserial=36354 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:57566"
runqemu started, pid is 12348
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 12368
qemu cmdline used:
tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64-devicevirtio-net-pci,netdev=net0,mac=52:54:00:12:34:02-netdevtap,id=net0,ifname=tap0,script=no,downscript=no-drivefile=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw-vgavmware-show-cursor-usb-usbdevicetablet-devicevirtio-rng-pci-serialtcp:127.0.0.1:57566-cpukvm64-enable-kvm-m256-serialtcp:127.0.0.1:36354-snapshot-kerneltmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin-appendroot=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1 Target IP: 192.168.7.2
Server IP: 192.168.7.1
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:57566 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:36354 -snapshot -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.15+git0+4d929fac34_d2c1ed3c0c-r0-qemux86-64-20170526174439.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 console=tty1 console=ttyS0,115200n8 printk.time=1'
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:47752
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 18:07:48,521 - oe-selftest - INFO - test_testexport_basic (runtime_test.TestExport) ... OK (124.685s) 2017-05-26 18:09:37,328 - oe-selftest - INFO - test_testexport_sdk (runtime_test.TestExport) ... OK (108.806s) 2017-05-26 18:14:30,546 - oe-selftest - INFO - test_testimage_install (runtime_test.TestImage) ... OK (293.209s) 2017-05-26 18:14:57,046 - oe-selftest - INFO - test_locked_signatures (signing.LockedSignatures) ... OK (26.499s) 2017-05-26 18:25:06,875 - oe-selftest - INFO - test_signing_packages (signing.Signing) ... OK (609.402s) 2017-05-26 18:26:32,525 - oe-selftest - INFO - test_signing_sstate_archive (signing.Signing) ... OK (85.649s) 2017-05-26 18:27:11,102 - oe-selftest - INFO - test_cleansstate_task_distro_nonspecific (sstatetests.SStateTests) ... OK (38.576s) 2017-05-26 18:27:40,323 - oe-selftest - INFO - test_cleansstate_task_distro_specific (sstatetests.SStateTests) ... OK (29.221s) 2017-05-26 18:27:59,037 - oe-selftest - INFO - test_cleansstate_task_distro_specific_nonspecific (sstatetests.SStateTests) ... OK (18.713s) 2017-05-26 18:28:22,423 - oe-selftest - INFO - test_rebuild_distro_specific_sstate_cross_native_targets (sstatetests.SStateTests) ... OK (23.385s) 2017-05-26 18:28:45,360 - oe-selftest - INFO - test_rebuild_distro_specific_sstate_cross_target (sstatetests.SStateTests) ... OK (22.937s) 2017-05-26 18:29:07,829 - oe-selftest - INFO - test_rebuild_distro_specific_sstate_native_target (sstatetests.SStateTests) ... OK (22.469s) 2017-05-26 18:30:04,069 - oe-selftest - INFO - test_sstate_32_64_same_hash (sstatetests.SStateTests) ... OK (56.239s) 2017-05-26 18:31:24,485 - oe-selftest - INFO - test_sstate_allarch_samesigs (sstatetests.SStateTests) ... OK (80.416s) 2017-05-26 18:33:21,330 - oe-selftest - INFO - test_sstate_allarch_samesigs_multilib (sstatetests.SStateTests) ... OK (116.844s) 2017-05-26 18:39:04,415 - oe-selftest - INFO - test_sstate_cache_management_script_using_machine (sstatetests.SStateTests) ... OK (343.085s) 2017-05-26 18:40:14,154 - oe-selftest - INFO - test_sstate_cache_management_script_using_pr_1 (sstatetests.SStateTests) ... OK (69.739s) 2017-05-26 18:42:16,630 - oe-selftest - INFO - test_sstate_cache_management_script_using_pr_2 (sstatetests.SStateTests) ... OK (122.475s) 2017-05-26 18:45:24,021 - oe-selftest - INFO - test_sstate_cache_management_script_using_pr_3 (sstatetests.SStateTests) ... OK (187.390s) 2017-05-26 18:45:38,310 - oe-selftest - INFO - test_sstate_creation_distro_nonspecific_fail (sstatetests.SStateTests) ... OK (14.289s) 2017-05-26 18:45:51,845 - oe-selftest - INFO - test_sstate_creation_distro_nonspecific_pass (sstatetests.SStateTests) ... OK (13.534s) 2017-05-26 18:46:05,260 - oe-selftest - INFO - test_sstate_creation_distro_specific_fail (sstatetests.SStateTests) ... OK (13.415s) 2017-05-26 18:46:18,699 - oe-selftest - INFO - test_sstate_creation_distro_specific_pass (sstatetests.SStateTests) ... OK (13.439s) 2017-05-26 18:47:15,210 - oe-selftest - INFO - test_sstate_nativelsbstring_same_hash (sstatetests.SStateTests) ... OK (56.510s) 2017-05-26 18:48:30,541 - oe-selftest - INFO - test_sstate_noop_samesigs (sstatetests.SStateTests) ... OK (75.330s) 2017-05-26 18:50:54,264 - oe-selftest - INFO - test_sstate_sametune_samesigs (sstatetests.SStateTests) ... OK (143.723s) 2017-05-26 18:50:54,617 - oe-selftest - INFO - test_datastore_operations (tinfoil.TinfoilTests) ... OK (0.352s) 2017-05-26 18:50:55,005 - oe-selftest - INFO - test_expand (tinfoil.TinfoilTests) ... OK (0.388s) 2017-05-26 18:50:55,379 - oe-selftest - INFO - test_getvar (tinfoil.TinfoilTests) ... OK (0.374s) 2017-05-26 18:50:55,753 - oe-selftest - INFO - test_getvar_bb_origenv (tinfoil.TinfoilTests) ... OK (0.373s) 2017-05-26 18:50:57,265 - oe-selftest - INFO - test_list_recipes (tinfoil.TinfoilTests) ... OK (1.511s) 2017-05-26 18:50:58,904 - oe-selftest - INFO - test_parse_recipe (tinfoil.TinfoilTests) ... OK (1.639s) 2017-05-26 18:51:00,522 - oe-selftest - INFO - test_parse_recipe_copy_expand (tinfoil.TinfoilTests) ... OK (1.618s) 2017-05-26 18:51:02,220 - oe-selftest - INFO - test_parse_recipe_initial_datastore (tinfoil.TinfoilTests) ... OK (1.698s) 2017-05-26 18:51:03,378 - oe-selftest - INFO - test_setvariable_clean (tinfoil.TinfoilTests) ... OK (1.157s) 2017-05-26 18:51:04,007 - oe-selftest - INFO - test_wait_event (tinfoil.TinfoilTests) ... OK (0.629s) 2017-05-26 18:56:22,956 - oe-selftest - INFO - test_bmap_long (wic.Wic) ... OK (318.947s) 2017-05-26 18:56:32,436 - oe-selftest - INFO - test_bmap_short (wic.Wic) ... OK (9.479s) 2017-05-26 18:56:47,367 - oe-selftest - INFO - test_bootloader_config (wic.Wic) ... OK (14.931s) 2017-05-26 18:57:03,103 - oe-selftest - INFO - test_build_artifacts (wic.Wic) ... OK (15.735s) 2017-05-26 18:57:12,347 - oe-selftest - INFO - test_build_image_name (wic.Wic) ... OK (9.243s) 2017-05-26 18:57:30,735 - oe-selftest - INFO - test_build_rootfs_long (wic.Wic) ... OK (18.388s) 2017-05-26 18:57:48,004 - oe-selftest - INFO - test_build_rootfs_short (wic.Wic) ... OK (17.268s) 2017-05-26 18:57:58,771 - oe-selftest - INFO - test_compress_bzip2 (wic.Wic) ... OK (10.766s) 2017-05-26 18:58:08,734 - oe-selftest - INFO - test_compress_gzip (wic.Wic) ... OK (9.962s) 2017-05-26 18:58:22,543 - oe-selftest - INFO - test_compress_xz (wic.Wic) ... OK (13.808s) 2017-05-26 18:58:22,965 - oe-selftest - INFO - test_createhelp (wic.Wic) ... OK (0.422s) 2017-05-26 18:58:31,999 - oe-selftest - INFO - test_debug_long (wic.Wic) ... OK (9.033s) 2017-05-26 18:58:41,201 - oe-selftest - INFO - test_debug_short (wic.Wic) ... OK (9.201s) 2017-05-26 18:58:51,242 - oe-selftest - INFO - test_default_output_dir (wic.Wic) ... OK (10.041s) 2017-05-26 18:59:09,145 - oe-selftest - INFO - test_exclude_path (wic.Wic) ... OK (17.902s) 2017-05-26 18:59:18,840 - oe-selftest - INFO - test_exclude_path_errors (wic.Wic) ... OK (9.694s) 2017-05-26 18:59:28,370 - oe-selftest - INFO - test_fixed_size (wic.Wic) ... OK (9.530s) 2017-05-26 18:59:32,957 - oe-selftest - INFO - test_fixed_size_error (wic.Wic) ... OK (4.587s) 2017-05-26 18:59:46,614 - oe-selftest - INFO - test_fs_types (wic.Wic) ... OK (13.656s) 2017-05-26 18:59:58,307 - oe-selftest - INFO - test_gpt_image (wic.Wic) ... OK (11.693s) 2017-05-26 18:59:59,005 - oe-selftest - INFO - test_help (wic.Wic) ... OK (0.697s) 2017-05-26 18:59:59,313 - oe-selftest - INFO - test_help_create (wic.Wic) ... OK (0.308s) 2017-05-26 18:59:59,621 - oe-selftest - INFO - test_help_kickstart (wic.Wic) ... OK (0.307s) 2017-05-26 19:00:00,058 - oe-selftest - INFO - test_help_list (wic.Wic) ... OK (0.437s) 2017-05-26 19:00:00,453 - oe-selftest - INFO - test_help_overview (wic.Wic) ... OK (0.394s) 2017-05-26 19:00:00,894 - oe-selftest - INFO - test_help_plugins (wic.Wic) ... OK (0.440s) 2017-05-26 19:00:21,652 - oe-selftest - INFO - test_image_bootpart_globbed (wic.Wic) ... OK (20.758s) 2017-05-26 19:00:39,034 - oe-selftest - INFO - test_image_env (wic.Wic) ... OK (17.381s) 2017-05-26 19:00:40,304 - oe-selftest - INFO - test_image_vars_dir_long (wic.Wic) ... OK (1.270s) 2017-05-26 19:00:41,482 - oe-selftest - INFO - test_image_vars_dir_short (wic.Wic) ... OK (1.177s) 2017-05-26 19:07:02,600 - oe-selftest - INFO - test_iso_image (wic.Wic) ... OK (381.118s) 2017-05-26 19:07:13,827 - oe-selftest - INFO - test_kickstart_parser (wic.Wic) ... OK (11.227s) 2017-05-26 19:07:15,996 - oe-selftest - INFO - test_list_images (wic.Wic) ... OK (2.168s) 2017-05-26 19:07:18,108 - oe-selftest - INFO - test_list_source_plugins (wic.Wic) ... OK (2.111s) 2017-05-26 19:07:50,120 - oe-selftest - INFO - test_listed_images_help (wic.Wic) ... OK (32.012s) 2017-05-26 19:07:50,559 - oe-selftest - INFO - test_listhelp (wic.Wic) ... OK (0.438s) 2017-05-26 19:08:03,380 - oe-selftest - INFO - test_mkefidisk (wic.Wic) ... OK (12.821s) 2017-05-26 19:08:03,832 - oe-selftest - INFO - test_no_command (wic.Wic) ... OK (0.452s)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/wic-image-minimal-qemux86-64.wic
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/wic-image-minimal/1.0-r0/testimage/qemu_boot_log.20170527000913 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/wic-image-minimal/1.0-r0/testimage/ssh_target_log.20170527000913 Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:42684
Created listening socket for qemu serial console on: 127.0.0.1:57473
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/wic-image-minimal-qemux86-64.wic tcpserial=57473 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:42684"
runqemu started, pid is 21666
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 21686
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/wic-image-minimal-qemux86-64.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=none,id=hd,file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/wic-image-minimal-qemux86-64.wic,format=raw -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:42684 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:57473 -snapshot
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:34825
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 19:09:27,517 - oe-selftest - INFO - test_qemu (wic.Wic) ... OK (83.684s)
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:513: ResourceWarning: unclosed file <_io.TextIOWrapper name=41 mode='w' encoding='UTF-8'>
self.expand_cache = {}
WARNING: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/data_smart.py:513: ResourceWarning: unclosed file <_io.TextIOWrapper name=41 mode='w' encoding='UTF-8'>
self.expand_cache = {}
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170527001207
SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170527001207
Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:43972
Created listening socket for qemu serial console on: 127.0.0.1:58733
launchcmd=runqemu snapshot ovmf kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic tcpserial=58733 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:43972" runqemu started, pid is 16737
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 16757
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=none,id=hd,file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic,format=raw -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -drive if=pflash,format=qcow2,file=tmp/deploy/images/qemux86-64/ovmf.qcow2 -vga std -serial tcp:127.0.0.1:43972 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:58733 -snapshot
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:43742
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 19:12:39,657 - oe-selftest - INFO - test_qemu_efi (wic.Wic) ... OK (192.139s) 2017-05-26 19:12:50,531 - oe-selftest - INFO - test_qemux86_directdisk (wic.Wic) ... OK (10.874s) 2017-05-26 19:13:04,103 - oe-selftest - INFO - test_rawcopy_plugin (wic.Wic) ... OK (13.571s)
rootfs file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic
Qemu log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/qemu_boot_log.20170527001448 SSH log file: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testimage/ssh_target_log.20170527001448 Using kvm for runqemu
Created listening socket for qemu serial console on: 127.0.0.1:51228
Created listening socket for qemu serial console on: 127.0.0.1:55547
launchcmd=runqemu snapshot kvm qemux86-64 /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic tcpserial=55547 bootparams="console=tty1 console=ttyS0,115200n8 printk.time=1" qemuparams="-serial tcp:127.0.0.1:51228"
runqemu started, pid is 29832
waiting at most 60 seconds for qemu pid
qemu started - qemu procces pid is 29852
Starting logging thread
Starting thread event loop
Connection request received
Setting connection established event
Output from runqemu:
runqemu - INFO - CONFFILE: /home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf runqemu - INFO - Continuing with the following parameters:
stty: standard input: Inappropriate ioctl for device
runqemu - INFO - Running /bin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Using preconfigured tap device tap0
runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0.
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Using scsi drive
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive if=none,id=hd,file=/home/ab/autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic,format=raw -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd -no-reboot -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -serial tcp:127.0.0.1:51228 -cpu kvm64 -enable-kvm -m 256 -serial tcp:127.0.0.1:55547 -snapshot
Waiting at most 1000 seconds for login banner
Connection from 127.0.0.1:37063
Reached login banner
Logged as root in serial console
Stopping logging thread
Stop event received
Tearing down logging thread
Sending SIGTERM to runqemu
2017-05-26 19:15:00,712 - oe-selftest - INFO - test_rawcopy_plugin_qemu (wic.Wic) ... OK (116.609s) 2017-05-26 19:15:17,735 - oe-selftest - INFO - test_rootfs_artifacts (wic.Wic) ... OK (17.022s) 2017-05-26 19:15:27,748 - oe-selftest - INFO - test_rootfs_indirect_recipes (wic.Wic) ... OK (10.012s) 2017-05-26 19:15:48,396 - oe-selftest - INFO - test_sdimage_bootpart (wic.Wic) ... OK (20.648s) 2017-05-26 19:15:57,938 - oe-selftest - INFO - test_skip_build_check_long (wic.Wic) ... OK (9.542s) 2017-05-26 19:16:07,210 - oe-selftest - INFO - test_skip_build_check_short (wic.Wic) ... OK (9.271s) 2017-05-26 19:16:08,997 - oe-selftest - INFO - test_sparse_copy (wic.Wic) ... OK (1.787s) 2017-05-26 19:17:13,666 - oe-selftest - INFO - test_systemd_bootdisk (wic.Wic) ... OK (64.669s) 2017-05-26 19:17:14,111 - oe-selftest - INFO - test_unsupported_subcommand (wic.Wic) ... OK (0.444s) 2017-05-26 19:17:14,499 - oe-selftest - INFO - test_version (wic.Wic) ... OK (0.388s) 2017-05-26 19:17:25,863 - oe-selftest - INFO - test_wic_image_type (wic.Wic) ... OK (11.363s) 2017-05-26 19:17:26,316 - oe-selftest - INFO - test_wrong_compressor (wic.Wic) ... OK (0.452s) 2017-05-26 19:24:06,484 - oe-selftest - INFO - test_efi_systemdboot_images_can_be_built (systemd_boot.Systemdboot) ... OK (400.166s) 2017-05-26 19:24:06,485 - oe-selftest - INFO - 2017-05-26 19:24:06,485 - oe-selftest - INFO - ---------------------------------------------------------------------- 2017-05-26 19:24:06,485 - oe-selftest - INFO - Ran 282 tests in 21370.974s 2017-05-26 19:24:06,485 - oe-selftest - INFO - 2017-05-26 19:24:06,485 - oe-selftest - INFO - OK 2017-05-26 19:24:06,485 - oe-selftest - INFO - 2017-05-26 19:24:06,486 - oe-selftest - INFO - Generating XML reports... 2017-05-26 19:24:06,896 - oe-selftest - INFO - SUMMARY: 2017-05-26 19:24:06,896 - oe-selftest - INFO - oe-selftest () - Ran 282 tests in 21371.387s 2017-05-26 19:24:06,896 - oe-selftest - INFO - oe-selftest - OK - All required tests passed 2017-05-26 19:24:06,896 - oe-selftest - INFO - RESULTS: 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - archiver.Archiver.test_archiver_allows_to_filter_on_recipe_name - Testcase 1345: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_add_remove - Testcase 1195: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_flatten - Testcase 95: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_showappends - Testcase 93: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_showcrossdepends - Testcase 756: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_showlayers - Testcase 83: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_showoverlayed - Testcase 90: PASSED 2017-05-26 19:24:06,897 - oe-selftest - INFO - RESULTS - bblayers.BitbakeLayers.test_bitbakelayers_showrecipes - Testcase 1384: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_bbappend_order - Testcase 1425: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_bitbake_g - Testcase 167: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_bitbake_invalid_recipe - Testcase 105: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_bitbake_invalid_target - Testcase 107: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_checkuri - Testcase 1034: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_continue - Testcase 1035: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_dry_run - Testcase 1029: PASSED 2017-05-26 19:24:06,898 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_environment - Testcase 1028: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_event_handler - Testcase 806: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_force_task_1 - Testcase 1354: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_force_task_2 - Testcase 163: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_image_manifest - Testcase 899: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_invalid_patch - Testcase 108: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_invalid_recipe_src_uri - Testcase 168: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_just_parse - Testcase 1030: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_local_sstate - Testcase 103: PASSED 2017-05-26 19:24:06,899 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_non_gplv3 - Testcase 1119: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_postfile - Testcase 1033: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_prefile - Testcase 1032: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_rename_downloaded_file - Testcase 171: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_run_bitbake_from_dir_1 - Testcase 789: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_run_bitbake_from_dir_2 - Testcase 790: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_setscene_only - Testcase 1422: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_version - Testcase 1031: PASSED 2017-05-26 19:24:06,900 - oe-selftest - INFO - RESULTS - bbtests.BitbakeTests.test_warnings_errors - Testcase 106: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.ArchiverTest.test_arch_work_dir_and_export_source - Testcase 926: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.BuildhistoryTests.test_buildhistory_basic - Testcase 293: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.BuildhistoryTests.test_buildhistory_buildtime_pr_backwards - Testcase 294: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.DiskMonTest.test_stoptask_behavior - Testcase 277: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.ImageOptionsTests.test_ccache_tool - Testcase 286: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.ImageOptionsTests.test_incremental_image_generation - Testcase 761: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.ImageOptionsTests.test_read_only_image - Testcase 1435: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.SanityOptionsTest.test_layer_without_git_dir - Testcase 1421: PASSED 2017-05-26 19:24:06,901 - oe-selftest - INFO - RESULTS - buildoptions.SanityOptionsTest.test_options_warnqa_errorqa_switch - Testcase 927: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - buildoptions.SanityOptionsTest.test_sanity_unsafe_script_references - Testcase 278: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - containerimage.ContainerImageTests.test_expected_files - Testcase -1: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_create_workspace - Testcase 1158: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_add - Testcase 1159: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_add_fetch - Testcase 1160: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_add_fetch_git - Testcase 1161: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_add_fetch_simple - Testcase 1391: PASSED 2017-05-26 19:24:06,902 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_add_git_local - Testcase 1423: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_add_library - Testcase 1162: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_build_image - Testcase 1366: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_buildclean - Testcase -1: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_deploy_target - Testcase 1272: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_extract - Testcase 1163: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_extract_virtual - Testcase 1379: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_finish_modify_origlayer - Testcase -1: PASSED 2017-05-26 19:24:06,903 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_finish_modify_otherlayer - Testcase -1: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_finish_upgrade_origlayer - Testcase -1: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_finish_upgrade_otherlayer - Testcase -1: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_layer_plugins - Testcase 1352: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_load_plugin - Testcase -1: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_modify - Testcase 1164: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_modify_git - Testcase 1165: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_modify_invalid - Testcase 1166: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_modify_localfiles - Testcase 1167: PASSED 2017-05-26 19:24:06,904 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_modify_native - Testcase 1365: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_modify_virtual - Testcase 1378: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_rename - Testcase -1: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_reset_all - Testcase 1168: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe - Testcase 1169: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_append - Testcase 1170: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_append_git - Testcase 1171: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_git - Testcase 1172: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_local_files - Testcase 1370: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_local_files_2 - Testcase 1371: PASSED 2017-05-26 19:24:06,905 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_local_files_3 - Testcase -1: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_local_files_subdir - Testcase -1: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_update_recipe_local_patch_gz - Testcase -1: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_upgrade - Testcase 1367: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_upgrade_git - Testcase 1433: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - devtool.DevtoolTests.test_devtool_virtual_kernel_modify - Testcase 1577: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - eSDK.oeSDKExtSelfTest.test_image_generation_binary_feeds - Testcase 1603: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - eSDK.oeSDKExtSelfTest.test_install_libraries_headers - Testcase 1602: PASSED 2017-05-26 19:24:06,906 - oe-selftest - INFO - RESULTS - image_typedep.ImageTypeDepTests.test_conversion_typedep_added - Testcase -1: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - imagefeatures.ImageFeatures.test_all_users_can_connect_via_ssh_without_password - Testcase 1115: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - imagefeatures.ImageFeatures.test_bmap - Testcase -1: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - imagefeatures.ImageFeatures.test_clutter_image_can_be_built - Testcase 1116: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - imagefeatures.ImageFeatures.test_non_root_user_can_connect_via_ssh_without_password - Testcase 1107: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - imagefeatures.ImageFeatures.test_wayland_support_in_image - Testcase 1117: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - layerappend.LayerAppendTests.test_layer_appends - Testcase 1196: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - liboe.LibOE.test_copy_hardlink_tree_count - Testcase -1: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - liboe.LibOE.test_copy_tree_special - Testcase -1: PASSED 2017-05-26 19:24:06,907 - oe-selftest - INFO - RESULTS - liboe.LibOE.test_copy_tree_xattr - Testcase -1: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - lic_checksum.LicenseTests.test_nonmatching_checksum - Testcase 1197: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - manifest.VerifyManifest.test_SDK_manifest_entries - Testcase 1380: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - manifest.VerifyManifest.test_image_manifest_entries - Testcase 1381: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - oelib.buildhistory.TestBlobParsing.test_blob_to_dict - Testcase -1: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - oelib.buildhistory.TestBlobParsing.test_compare_dict_blobs - Testcase -1: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - oelib.buildhistory.TestBlobParsing.test_compare_dict_blobs_default - Testcase -1: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - oelib.elf.TestElf.test_machine_name - Testcase -1: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - oelib.license.TestComplexCombinations.test_tests - Testcase -1: PASSED 2017-05-26 19:24:06,908 - oe-selftest - INFO - RESULTS - oelib.license.TestSimpleCombinations.test_tests - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.license.TestSingleLicense.test_invalid_licenses - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.license.TestSingleLicense.test_single_licenses - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.path.TestRealPath.test_loop - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.path.TestRealPath.test_norm - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.path.TestRealPath.test_phys - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.types.TestBooleanType.test_bool_equality - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.types.TestBooleanType.test_false - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.types.TestBooleanType.test_invalid - Testcase -1: PASSED 2017-05-26 19:24:06,909 - oe-selftest - INFO - RESULTS - oelib.types.TestBooleanType.test_true - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oelib.types.TestList.test_list_nosep - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oelib.types.TestList.test_list_usersep - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oelib.utils.TestPackagesFilterOutSystem.test_filter - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oelib.utils.TestTrimVersion.test_num_exception - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oelib.utils.TestTrimVersion.test_valid - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oelib.utils.TestTrimVersion.test_version_exception - Testcase -1: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - oescripts.BuildhistoryDiffTests.test_buildhistory_diff - Testcase 295: PASSED 2017-05-26 19:24:06,910 - oe-selftest - INFO - RESULTS - package.VersionOrdering.test_dpkg - Testcase -1: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - package.VersionOrdering.test_opkg - Testcase -1: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - package.VersionOrdering.test_rpm - Testcase -1: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_find_path - Testcase 1198: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_glob - Testcase 1200: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_list_pkg_files - Testcase 1201: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_list_pkgs - Testcase 1202: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_lookup_pkg - Testcase 1203: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_lookup_recipe - Testcase 1204: PASSED 2017-05-26 19:24:06,911 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_read_value - Testcase 1205: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - pkgdata.OePkgdataUtilTests.test_specify_pkgdatadir - Testcase 1206: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_import_export_override_db - Testcase 931: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_import_export_replace_db - Testcase 930: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_pr_service_deb_arch_dep - Testcase 934: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_pr_service_deb_arch_indep - Testcase 937: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_pr_service_ipk_arch_dep - Testcase 933: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_pr_service_ipk_arch_indep - Testcase 936: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_pr_service_rpm_arch_dep - Testcase 932: PASSED 2017-05-26 19:24:06,912 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_pr_service_rpm_arch_indep - Testcase 935: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - prservice.BitbakePrTests.test_stopping_prservice_message - Testcase 1419: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_basic - Testcase 1273: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_basic_wildcard - Testcase 1274: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_existing_in_src_uri - Testcase 1275: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_existing_in_src_uri_diff_params - Testcase 1276: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_replace_file_srcdir - Testcase 1277: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_srcdir_basic - Testcase 1280: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_subdir_basic - Testcase 1281: PASSED 2017-05-26 19:24:06,913 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfile_subdir_basic_dirdest - Testcase 1282: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfiles_basic - Testcase 1278: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolAppendsrcTests.test_recipetool_appendsrcfiles_basic_subdir - Testcase 1279: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_add - Testcase 1173: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_add_bindir - Testcase 1174: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_add_machine - Testcase 1175: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_alternatives - Testcase 1176: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_basic - Testcase 1177: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_binary - Testcase 1178: PASSED 2017-05-26 19:24:06,914 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_extlayer - Testcase 1179: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_inst_func - Testcase 1180: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_inst_glob - Testcase 1181: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_inst_todir_glob - Testcase 1182: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_invalid - Testcase 1183: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_orig - Testcase 1184: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_patch - Testcase 1185: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_postinstall - Testcase 1186: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_renamed - Testcase 1187: PASSED 2017-05-26 19:24:06,915 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_script - Testcase 1188: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_src_glob - Testcase 1189: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_subdir - Testcase 1190: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_todir - Testcase 1191: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_appendfile_wildcard - Testcase 1192: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create - Testcase 1193: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create_cmake - Testcase 1418: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create_git - Testcase 1194: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create_git_http - Testcase -1: PASSED 2017-05-26 19:24:06,916 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create_github - Testcase -1: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create_github_tarball - Testcase -1: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_create_simple - Testcase 1392: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - recipetool.RecipetoolTests.test_recipetool_load_plugin - Testcase -1: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_deploy - Testcase 2007: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_deploy_hddimg - Testcase 2008: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_machine - Testcase 2001: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_machine_ext4 - Testcase 2002: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_machine_iso - Testcase 2003: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_machine_slirp - Testcase 2009: PASSED 2017-05-26 19:24:06,917 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_machine_slirp_qcow2 - Testcase 2009: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_qemu_boot - Testcase 2010: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_recipe_image - Testcase 2004: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_recipe_image_vdi - Testcase 2006: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_recipe_image_vmdk - Testcase 2005: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runqemu.RunqemuTests.test_boot_rootfs - Testcase 2011: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runtime_test.Postinst.test_postinst_rootfs_and_boot - Testcase 1545: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runtime_test.Postinst.test_verify_postinst - Testcase 1540: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runtime_test.TestExport.test_testexport_basic - Testcase -1: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runtime_test.TestExport.test_testexport_sdk - Testcase -1: PASSED 2017-05-26 19:24:06,918 - oe-selftest - INFO - RESULTS - runtime_test.TestImage.test_testimage_install - Testcase -1: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - signing.LockedSignatures.test_locked_signatures - Testcase 1420: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - signing.Signing.test_signing_packages - Testcase 1362: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - signing.Signing.test_signing_sstate_archive - Testcase 1382: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_cleansstate_task_distro_nonspecific - Testcase 1376: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_cleansstate_task_distro_specific - Testcase 1377: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_cleansstate_task_distro_specific_nonspecific - Testcase 977: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_rebuild_distro_specific_sstate_cross_native_targets - Testcase 175: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_rebuild_distro_specific_sstate_cross_target - Testcase 1372: PASSED 2017-05-26 19:24:06,919 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_rebuild_distro_specific_sstate_native_target - Testcase 1373: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_32_64_same_hash - Testcase 1270: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_allarch_samesigs - Testcase 1368: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_allarch_samesigs_multilib - Testcase -1: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_cache_management_script_using_machine - Testcase 974: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_cache_management_script_using_pr_1 - Testcase 973: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_cache_management_script_using_pr_2 - Testcase 978: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_cache_management_script_using_pr_3 - Testcase 979: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_creation_distro_nonspecific_fail - Testcase 1375: PASSED 2017-05-26 19:24:06,920 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_creation_distro_nonspecific_pass - Testcase 976: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_creation_distro_specific_fail - Testcase 1374: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_creation_distro_specific_pass - Testcase 975: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_nativelsbstring_same_hash - Testcase 1271: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_noop_samesigs - Testcase -1: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - sstatetests.SStateTests.test_sstate_sametune_samesigs - Testcase 1369: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_datastore_operations - Testcase -1: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_expand - Testcase 1569: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_getvar - Testcase 1568: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_getvar_bb_origenv - Testcase 1570: PASSED 2017-05-26 19:24:06,921 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_list_recipes - Testcase 1574: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_parse_recipe - Testcase 1571: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_parse_recipe_copy_expand - Testcase 1572: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_parse_recipe_initial_datastore - Testcase 1573: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_setvariable_clean - Testcase 1576: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - tinfoil.TinfoilTests.test_wait_event - Testcase 1575: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - wic.Wic.test_bmap_long - Testcase -1: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - wic.Wic.test_bmap_short - Testcase 1496: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - wic.Wic.test_bootloader_config - Testcase 1385: PASSED 2017-05-26 19:24:06,922 - oe-selftest - INFO - RESULTS - wic.Wic.test_build_artifacts - Testcase 1212: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_build_image_name - Testcase 1211: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_build_rootfs_long - Testcase -1: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_build_rootfs_short - Testcase 1564: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_compress_bzip2 - Testcase 1265: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_compress_gzip - Testcase 1264: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_compress_xz - Testcase 1266: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_createhelp - Testcase 1209: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_debug_long - Testcase -1: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_debug_short - Testcase 1558: PASSED 2017-05-26 19:24:06,923 - oe-selftest - INFO - RESULTS - wic.Wic.test_default_output_dir - Testcase 1562: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_exclude_path - Testcase -1: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_exclude_path_errors - Testcase -1: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_fixed_size - Testcase -1: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_fixed_size_error - Testcase -1: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_fs_types - Testcase -1: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_gpt_image - Testcase 1157: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_help - Testcase 1208: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_help_create - Testcase 1553: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_help_kickstart - Testcase 1217: PASSED 2017-05-26 19:24:06,924 - oe-selftest - INFO - RESULTS - wic.Wic.test_help_list - Testcase 1554: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_help_overview - Testcase 1215: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_help_plugins - Testcase 1216: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_image_bootpart_globbed - Testcase -1: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_image_env - Testcase 1347: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_image_vars_dir_long - Testcase -1: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_image_vars_dir_short - Testcase 1559: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_iso_image - Testcase 1346: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_kickstart_parser - Testcase -1: PASSED 2017-05-26 19:24:06,925 - oe-selftest - INFO - RESULTS - wic.Wic.test_list_images - Testcase 1555: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_list_source_plugins - Testcase 1556: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_listed_images_help - Testcase 1557: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_listhelp - Testcase 1210: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_mkefidisk - Testcase 1350: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_no_command - Testcase 1214: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_qemu - Testcase 1422: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_qemu_efi - Testcase -1: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_qemux86_directdisk - Testcase 1348: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_rawcopy_plugin - Testcase -1: PASSED 2017-05-26 19:24:06,926 - oe-selftest - INFO - RESULTS - wic.Wic.test_rawcopy_plugin_qemu - Testcase -1: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_rootfs_artifacts - Testcase 1269: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_rootfs_indirect_recipes - Testcase 1268: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_sdimage_bootpart - Testcase 1561: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_skip_build_check_long - Testcase -1: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_skip_build_check_short - Testcase 1563: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_sparse_copy - Testcase -1: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_systemd_bootdisk - Testcase 1560: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_unsupported_subcommand - Testcase 1213: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_version - Testcase 1552: PASSED 2017-05-26 19:24:06,927 - oe-selftest - INFO - RESULTS - wic.Wic.test_wic_image_type - Testcase 1351: PASSED 2017-05-26 19:24:06,928 - oe-selftest - INFO - RESULTS - wic.Wic.test_wrong_compressor - Testcase 1267: PASSED 2017-05-26 19:24:06,928 - oe-selftest - INFO - RESULTS - systemd_boot.Systemdboot.test_efi_systemdboot_images_can_be_built - Testcase 1445: PASSED