summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-12-23 13:45:23 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-28 09:24:54 +0000
commitdab1b0ad42f08eb547732e854ba28a4cf0a23107 (patch)
tree11fa8a3dbb738cd905e3abb5ca38e81b4071d57d
parent726a82daf8dc23b41fd147035578c57410889c90 (diff)
downloadopenembedded-core-contrib-dab1b0ad42f08eb547732e854ba28a4cf0a23107.tar.gz
openembedded-core-contrib-dab1b0ad42f08eb547732e854ba28a4cf0a23107.tar.bz2
openembedded-core-contrib-dab1b0ad42f08eb547732e854ba28a4cf0a23107.zip
oeqa/selftest: support sets in devtool comparisons
The devtool and recipetool tests do literal string comparisons, but for some fields the ordering could be irrelevant and potentially non-deterministic. For example, the recipetool_create_simple test started failing with: AssertionError: 'GPLv2 Unknown' != 'Unknown GPLv2' : values for LICENSE do not match The ordering of the LICENSE field isn't relevant. So, if the expected value is a set(), split the string into a set too and compare those. Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/lib/oeqa/selftest/devtool.py2
-rw-r--r--meta/lib/oeqa/selftest/recipetool.py4
2 files changed, 4 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py
index 6f76ce7b84..1eadd6b371 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -44,6 +44,8 @@ class DevtoolBase(oeSelfTest):
needvalue = checkvars.pop(var)
if needvalue is None:
self.fail('Variable %s should not appear in recipe')
+ if isinstance(needvalue, set):
+ value = set(value.split())
self.assertEqual(value, needvalue, 'values for %s do not match' % var)
diff --git a/meta/lib/oeqa/selftest/recipetool.py b/meta/lib/oeqa/selftest/recipetool.py
index 34e383f772..00f415b2c6 100644
--- a/meta/lib/oeqa/selftest/recipetool.py
+++ b/meta/lib/oeqa/selftest/recipetool.py
@@ -413,8 +413,8 @@ class RecipetoolTests(RecipetoolBase):
self.fail('recipetool did not create recipe file; output:\n%s' % result.output)
self.assertEqual(dirlist[0], 'socat_%s.bb' % pv, 'Recipe file incorrectly named')
checkvars = {}
- checkvars['LICENSE'] = 'Unknown GPLv2'
- checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING.OpenSSL;md5=5c9bccc77f67a8328ef4ebaf468116f4 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
+ checkvars['LICENSE'] = set(['Unknown', 'GPLv2'])
+ checkvars['LIC_FILES_CHKSUM'] = set(['file://COPYING.OpenSSL;md5=5c9bccc77f67a8328ef4ebaf468116f4', 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'])
# We don't check DEPENDS since they are variable for this recipe depending on what's in the sysroot
checkvars['S'] = None
checkvars['SRC_URI'] = srcuri.replace(pv, '${PV}')