diff options
Diffstat (limited to 'scripts/lib/checklayer')
| -rw-r--r-- | scripts/lib/checklayer/__init__.py | 5 | ||||
| -rw-r--r-- | scripts/lib/checklayer/cases/common.py | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/scripts/lib/checklayer/__init__.py b/scripts/lib/checklayer/__init__.py index f91888ccbb..9713570841 100644 --- a/scripts/lib/checklayer/__init__.py +++ b/scripts/lib/checklayer/__init__.py | |||
| @@ -282,7 +282,7 @@ def check_command(error_msg, cmd, cwd=None): | |||
| 282 | raise RuntimeError(msg) | 282 | raise RuntimeError(msg) |
| 283 | return output | 283 | return output |
| 284 | 284 | ||
| 285 | def get_signatures(builddir, failsafe=False, machine=None): | 285 | def get_signatures(builddir, failsafe=False, machine=None, extravars=None): |
| 286 | import re | 286 | import re |
| 287 | 287 | ||
| 288 | # some recipes needs to be excluded like meta-world-pkgdata | 288 | # some recipes needs to be excluded like meta-world-pkgdata |
| @@ -294,6 +294,9 @@ def get_signatures(builddir, failsafe=False, machine=None): | |||
| 294 | tune2tasks = {} | 294 | tune2tasks = {} |
| 295 | 295 | ||
| 296 | cmd = 'BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE BB_SIGNATURE_HANDLER" BB_SIGNATURE_HANDLER="OEBasicHash" ' | 296 | cmd = 'BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE BB_SIGNATURE_HANDLER" BB_SIGNATURE_HANDLER="OEBasicHash" ' |
| 297 | if extravars: | ||
| 298 | cmd += extravars | ||
| 299 | cmd += ' ' | ||
| 297 | if machine: | 300 | if machine: |
| 298 | cmd += 'MACHINE=%s ' % machine | 301 | cmd += 'MACHINE=%s ' % machine |
| 299 | cmd += 'bitbake ' | 302 | cmd += 'bitbake ' |
diff --git a/scripts/lib/checklayer/cases/common.py b/scripts/lib/checklayer/cases/common.py index 9f15e05be9..318cda169e 100644 --- a/scripts/lib/checklayer/cases/common.py +++ b/scripts/lib/checklayer/cases/common.py | |||
| @@ -54,6 +54,21 @@ class CommonCheckLayer(OECheckLayerTestCase): | |||
| 54 | ''' | 54 | ''' |
| 55 | get_signatures(self.td['builddir'], failsafe=False) | 55 | get_signatures(self.td['builddir'], failsafe=False) |
| 56 | 56 | ||
| 57 | def test_world_inherit_class(self): | ||
| 58 | ''' | ||
| 59 | This also does "bitbake -S none world" along with inheriting "yocto-check-layer" | ||
| 60 | class, which can do additional per-recipe test cases. | ||
| 61 | ''' | ||
| 62 | msg = [] | ||
| 63 | try: | ||
| 64 | get_signatures(self.td['builddir'], failsafe=False, machine=None, extravars='BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE INHERIT" INHERIT="yocto-check-layer"') | ||
| 65 | except RuntimeError as ex: | ||
| 66 | msg.append(str(ex)) | ||
| 67 | if msg: | ||
| 68 | msg.insert(0, 'Layer %s failed additional checks from yocto-check-layer.bbclass\nSee below log for specific recipe parsing errors:\n' % \ | ||
| 69 | self.tc.layer['name']) | ||
| 70 | self.fail('\n'.join(msg)) | ||
| 71 | |||
| 57 | def test_signatures(self): | 72 | def test_signatures(self): |
| 58 | if self.tc.layer['type'] == LayerType.SOFTWARE and \ | 73 | if self.tc.layer['type'] == LayerType.SOFTWARE and \ |
| 59 | not self.tc.test_software_layer_signatures: | 74 | not self.tc.test_software_layer_signatures: |
