mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 09:49:33 +02:00
ext-sdk-prepare.py: exclude do_rm_work from unexpected output; create unit test
When installing the esdk with INHERIT += "rm_work", the script complains about do_rm_work as unexpected output from the bitbake run. This patch ignores any output lines with do_rm_work and further refactors the output comparison into its own function creates a new unit test to verify the fix. The unit test can be run direct from the command line or via oe-selftest. [YOCTO #9019] (From OE-Core rev: d41930e1daa933cf4bf063fa79a2e8fc9129e1b1) Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0262bc51cd
commit
8beb671843
@@ -27,6 +27,21 @@ def exec_watch(cmd, **options):
|
||||
|
||||
return process.returncode, buf
|
||||
|
||||
def check_unexpected(lines, recipes):
|
||||
"""Check for unexpected output lines from dry run"""
|
||||
unexpected = []
|
||||
for line in lines.splitlines():
|
||||
if 'Running task' in line:
|
||||
for recipe in recipes:
|
||||
if recipe in line:
|
||||
break
|
||||
else:
|
||||
line = line.split('Running', 1)[-1]
|
||||
if 'do_rm_work' not in line:
|
||||
unexpected.append(line.rstrip())
|
||||
elif 'Running setscene' in line:
|
||||
unexpected.append(line.rstrip())
|
||||
return unexpected
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
@@ -67,17 +82,7 @@ def main():
|
||||
|
||||
try:
|
||||
out = subprocess.check_output('bitbake %s -n' % ' '.join(sdk_targets), stderr=subprocess.STDOUT, shell=True)
|
||||
unexpected = []
|
||||
for line in out.splitlines():
|
||||
if 'Running task' in line:
|
||||
for recipe in recipes:
|
||||
if recipe in line:
|
||||
break
|
||||
else:
|
||||
line = line.split('Running', 1)[-1]
|
||||
unexpected.append(line.rstrip())
|
||||
elif 'Running setscene' in line:
|
||||
unexpected.append(line.rstrip())
|
||||
unexpected = check_unexpected(out, recipes)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print('ERROR: Failed to execute dry-run:\n%s' % e.output)
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user