testimage: Improvements to the json logging

Tweak the preceeding commit to:

* Add STARTTIME to the identifier to make it unique
* Log DISTRO
* Use LOG_DIR
* Store the layer config in a more natural json format
* Drop '_' function prefixes

(From OE-Core rev: fd07da4d46a8167807f6ce872497fbdc812494ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2018-10-29 13:49:14 +00:00
parent 6512ffb090
commit e331378e17

View File

@@ -132,29 +132,29 @@ def testimage_sanity(d):
bb.fatal('When TEST_TARGET is set to "simpleremote" '
'TEST_TARGET_IP and TEST_SERVER_IP are needed too.')
def _get_testimage_configuration(d, test_type, pid, machine):
def get_testimage_configuration(d, test_type, machine):
import platform
from oeqa.utils.metadata import get_layers
configuration = {'TEST_TYPE': test_type,
'PROCESS_ID': pid,
'MACHINE': machine,
'DISTRO': d.getVar("DISTRO"),
'IMAGE_BASENAME': d.getVar("IMAGE_BASENAME"),
'IMAGE_PKGTYPE': d.getVar("IMAGE_PKGTYPE"),
'HOST_DISTRO': ('-'.join(platform.linux_distribution())).replace(' ', '-')}
layers = (d.getVar("BBLAYERS") or "").split()
for l in layers:
configuration['%s_BRANCH_REV' % os.path.basename(l)] = '%s:%s' % (base_get_metadata_git_branch(l, None).strip(),
base_get_metadata_git_revision(l, None))
'STARTTIME': d.getVar("DATETIME"),
'HOST_DISTRO': ('-'.join(platform.linux_distribution())).replace(' ', '-'),
'LAYERS': get_layers(d.getVar("BBLAYERS"))}
return configuration
get_testimage_configuration[vardepsexclude] = "DATETIME"
def _get_testimage_json_result_dir(d):
json_result_dir = os.path.join(d.getVar("WORKDIR"), 'oeqa')
def get_testimage_json_result_dir(d):
json_result_dir = os.path.join(d.getVar("LOG_DIR"), 'oeqa')
custom_json_result_dir = d.getVar("OEQA_JSON_RESULT_DIR")
if custom_json_result_dir:
json_result_dir = custom_json_result_dir
return json_result_dir
def _get_testimage_result_id(configuration):
return '%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['MACHINE'])
def get_testimage_result_id(configuration):
return '%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['MACHINE'], configuration['STARTTIME'])
def testimage_main(d):
import os
@@ -323,10 +323,10 @@ def testimage_main(d):
# Show results (if we have them)
if not results:
bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
configuration = _get_testimage_configuration(d, 'runtime', os.getpid(), machine)
results.logDetails(_get_testimage_json_result_dir(d),
configuration = get_testimage_configuration(d, 'runtime', machine)
results.logDetails(get_testimage_json_result_dir(d),
configuration,
_get_testimage_result_id(configuration))
get_testimage_result_id(configuration))
results.logSummary(pn)
if not results.wasSuccessful():
bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)