diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-12-05 01:18:15 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-12-17 16:07:13 +0300 |
commit | f86d0556ed6040140f3d635b0bb2eeb1c507f818 (patch) | |
tree | bbf8537d5de28d729402c6458d4f67360e3f531b /poky/meta/lib/oeqa/runtime/cases/ptest.py | |
parent | 5a60ea963172683f7e8dab81bc77d92f12fbd18b (diff) | |
download | openbmc-f86d0556ed6040140f3d635b0bb2eeb1c507f818.tar.xz |
poky: sumo refresh a4c7d28688..78020fb639
Update poky to sumo HEAD.
Michael Halstead (1):
scripts/runqemu: Replace subprocess.run() for compatibilty
Richard Purdie (35):
scripts/runqemu: Tidy up lock handling code
scripts/runqemu: Improve lockfile handling for python with close_fd=True
oeqa/selftest/signing: Skip tests if gpg isn't found
oeqa/selftest/signing: Allow tests not to need gpg on the host
oeqa/selftest/signing: Use do_populate_lic target instead of do_package
oeqa/selftest/case: Use bb.utils.remove() instead of shutil.remove()
oeqa/selftest/buildoptions: Improve ccache test failure output
oeqa/utils/commands: Add extra qemu failure logging
oeqa/utils/qemurunner: Fix python ResourceWarning for unclosed file
oeqa/utils/commands: Avoid log message duplication
oeqa/qemurunner: Remove resource python warnings
oeqa/selftest/buildoptions: Improve ccache test
oeqa/selftest/buildoptions: Ensure diskmon tests run consistently
oeqa/selftest/runqemu: Improve testcase failure handling
oeqa/utils/qemurunner: Avoid tracebacks on closed files
oeqa/loader: Fix deprecation warning
oeqa/utils/commands: Avoid unclosed file warnings
oeqa/selftest/context: Replace deprecated imp module usage
oeqa/utils/qemurunner.py: Fix python regex warnings
oeqa/selftest/context: Improve log file handling
oeqa/core/runner: Improve test case comparision
oeqa/runner: Ensure we don't print misleading results output
oeqa/core/threaded: Remove in favour of using concurrenttests
oeqa/runner: Simplify code
oeqa: Remove xmlrunner
oeqa/runtime/ptest: Inject results+logs into stored json results file
oeqa/runner: Always show a summary of success/fail/error/skip counts
oeqa/runner: Sort the test result output by result class
oeqa/selftest: Improvements to the json logging
oeqa/utils/metadata: Allow to function without the git module
image-buildinfo,oeqa/selftest/containerimage: Ensure image-buildinfo doesn't break tests
oeqa/selftest/esdk: Ensure parent directory exists
oeqa/selftest/esdk: Fix typo causing test failure
testimage: Improvements to the json logging
testsdk: Improvements to the json logging
Ross Burton (3):
oeqa/oelib/path: don't leak temporary directories
oeqa: don't litter /tmp with temporary directories
oeqa/selftest/esdk: run selftest inside workdir not /tmp
Scott Rifenbark (1):
documentation: Prepared for 2.5.2 document release
Stefan Lendl (1):
default-versions.inc: Make PREFERRED_VERSION_openssl* overwritable
Yeoh Ee Peng (6):
oeqa/core/runner: refactor for OEQA to write json testresult
oeqa/core/runner: write testresult to json files
oeqa/selftest/context: write testresult to json files
testimage.bbclass: write testresult to json files
testsdk.bbclass: write testresult to json files
oeqa/selftest: Standardize json logging output directory
Change-Id: I3c8123930c8c3441126c1e81b3bbbde9f2b126f2
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/lib/oeqa/runtime/cases/ptest.py')
-rw-r--r-- | poky/meta/lib/oeqa/runtime/cases/ptest.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/poky/meta/lib/oeqa/runtime/cases/ptest.py b/poky/meta/lib/oeqa/runtime/cases/ptest.py index f60a433d5..77ae7b6b8 100644 --- a/poky/meta/lib/oeqa/runtime/cases/ptest.py +++ b/poky/meta/lib/oeqa/runtime/cases/ptest.py @@ -1,3 +1,6 @@ +import unittest +import pprint + from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.core.decorator.oeid import OETestID @@ -49,6 +52,7 @@ class PtestRunnerTest(OERuntimeTestCase): @OETestID(1600) @skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) + @unittest.expectedFailure def test_ptestrunner(self): status, output = self.target.run('which ptest-runner', 0) if status != 0: @@ -76,6 +80,11 @@ class PtestRunnerTest(OERuntimeTestCase): # status != 0 is OK since some ptest tests may fail self.assertTrue(status != 127, msg="Cannot execute ptest-runner!") + if not hasattr(self.tc, "extraresults"): + self.tc.extraresults = {} + extras = self.tc.extraresults + extras['ptestresult.rawlogs'] = {'log': output} + # Parse and save results parse_result = self.parse_ptest(ptest_runner_log) parse_result.log_as_files(ptest_log_dir, test_status = ['pass','fail', 'skip']) @@ -84,10 +93,18 @@ class PtestRunnerTest(OERuntimeTestCase): os.remove(ptest_log_dir_link) os.symlink(os.path.basename(ptest_log_dir), ptest_log_dir_link) + trans = str.maketrans("()", "__") + resmap = {'pass': 'PASSED', 'skip': 'SKIPPED', 'fail': 'FAILED'} + for section in parse_result.result_dict: + for test, result in parse_result.result_dict[section]: + testname = "ptestresult." + section + "." + "_".join(test.translate(trans).split()) + extras[testname] = {'status': resmap[result]} + failed_tests = {} for section in parse_result.result_dict: - failed_testcases = [ test for test, result in parse_result.result_dict[section] if result == 'fail' ] + failed_testcases = [ "_".join(test.translate(trans).split()) for test, result in parse_result.result_dict[section] if result == 'fail' ] if failed_testcases: failed_tests[section] = failed_testcases - self.assertFalse(failed_tests, msg = "Failed ptests: %s" %(str(failed_tests))) + if failed_tests: + self.fail("Failed ptests:\n%s" % pprint.pformat(failed_tests)) |