summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2017-01-13 15:12:45 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-19 22:45:46 +0000
commit6e7e6e37664b0a86111272f5f6f4a4e1d0f23302 (patch)
tree91ab3f0c523e2204654411d959684f14848473d5
parent71ca7dab08fc500b231054249aacc90ae4aa85da (diff)
downloadopenembedded-core-contrib-6e7e6e37664b0a86111272f5f6f4a4e1d0f23302.tar.gz
openembedded-core-contrib-6e7e6e37664b0a86111272f5f6f4a4e1d0f23302.tar.bz2
openembedded-core-contrib-6e7e6e37664b0a86111272f5f6f4a4e1d0f23302.zip
oeqa.utils.metadata: allow storing any bitbake config variables
Make it possible to store any bitbake config variables in the metadata. Config values will be stored under a new config element in the xml report: <config> <variable name="MACHINE">qemux86</variable> </config> The value of MACHINE is moved there instead of having a dedicated <machine> element. [YOCTO #10590] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/lib/oeqa/utils/metadata.py12
-rwxr-xr-xscripts/oe-selftest4
2 files changed, 11 insertions, 5 deletions
diff --git a/meta/lib/oeqa/utils/metadata.py b/meta/lib/oeqa/utils/metadata.py
index a3c1b2b46c..08d8198935 100644
--- a/meta/lib/oeqa/utils/metadata.py
+++ b/meta/lib/oeqa/utils/metadata.py
@@ -29,14 +29,13 @@ def metadata_from_bb():
Data will be gathered using bitbake -e thanks to get_bb_vars.
"""
+ metadata_config_vars = ('MACHINE')
info_dict = OrderedDict()
hostname = runCmd('hostname')
info_dict['hostname'] = hostname.output
data_dict = get_bb_vars()
- info_dict['machine'] = data_dict['MACHINE']
-
# Distro information
info_dict['distro'] = {'id': data_dict['DISTRO'],
'version_id': data_dict['DISTRO_VERSION'],
@@ -52,6 +51,10 @@ def metadata_from_bb():
info_dict['layers'] = get_layers(data_dict['BBLAYERS'])
info_dict['bitbake'] = git_rev_info(os.path.dirname(bb.__file__))
+
+ info_dict['config'] = OrderedDict()
+ for var in sorted(metadata_config_vars):
+ info_dict['config'][var] = data_dict[var]
return info_dict
def metadata_from_data_store(d):
@@ -106,7 +109,10 @@ def dict_to_XML(tag, dictionary, **kwargs):
elif isinstance(val, MutableMapping):
child = (dict_to_XML(key, val))
else:
- child = Element(key)
+ if tag == 'config':
+ child = Element('variable', name=key)
+ else:
+ child = Element(key)
child.text = str(val)
elem.append(child)
return elem
diff --git a/scripts/oe-selftest b/scripts/oe-selftest
index 5b045e8672..fb33c08512 100755
--- a/scripts/oe-selftest
+++ b/scripts/oe-selftest
@@ -604,7 +604,7 @@ def main():
l_branches = {str(branch) for branch in repo.branches}
branch = '%s/%s/%s' % (metadata['hostname'],
metadata['layers']['meta'].get('branch', '(nogit)'),
- metadata['machine'])
+ metadata['config']['MACHINE'])
if branch in l_branches:
log.debug('Found branch in local repository, checking out')
@@ -634,7 +634,7 @@ def main():
values.get('branch', '(nogit)'), values.get('commit', '0'*40))
msg = 'Selftest for build %s of %s for machine %s on %s\n\n%s' % (
log_prefix[12:], metadata['distro']['pretty_name'],
- metadata['machine'], metadata['hostname'], layer_info)
+ metadata['config']['MACHINE'], metadata['hostname'], layer_info)
log.debug('Commiting results to local repository')
repo.index.commit(msg)