1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-31 00:39:46 +00:00

classes/lib: Remove bb.build.FuncFailed

Whilst seemingly a good idea, this exception doesn't really serve any purpose
that bb.fatal() doesn't cover. Wrapping exceptions within exceptions isn't
pythonic.

Its not used in many places, lets clean up those and remove usage of it
entirely. It may ultimately be dropped form bitbake entirely.

(From OE-Core rev: efe87ce4b2154c6f1c591ed9d8f770c229b044ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2019-07-31 15:59:59 +01:00
parent d9cb21854b
commit 546c32753b
8 changed files with 22 additions and 27 deletions
+7 -11
View File
@@ -71,17 +71,13 @@ python go_do_unpack() {
if len(src_uri) == 0: if len(src_uri) == 0:
return return
try: fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher = bb.fetch2.Fetch(src_uri, d) for url in fetcher.urls:
for url in fetcher.urls: if fetcher.ud[url].type == 'git':
if fetcher.ud[url].type == 'git': if fetcher.ud[url].parm.get('destsuffix') is None:
if fetcher.ud[url].parm.get('destsuffix') is None: s_dirname = os.path.basename(d.getVar('S'))
s_dirname = os.path.basename(d.getVar('S')) fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', d.getVar('GO_IMPORT')) + '/'
fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', fetcher.unpack(d.getVar('WORKDIR'))
d.getVar('GO_IMPORT')) + '/'
fetcher.unpack(d.getVar('WORKDIR'))
except bb.fetch2.BBFetchException as e:
raise bb.build.FuncFailed(e)
} }
go_list_packages() { go_list_packages() {
+2 -5
View File
@@ -305,11 +305,8 @@ fakeroot python do_image_qa () {
bb.build.exec_func(cmd, d) bb.build.exec_func(cmd, d)
except oe.utils.ImageQAFailed as e: except oe.utils.ImageQAFailed as e:
qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (e.name, e.description) qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (e.name, e.description)
except bb.build.FuncFailed as e: except Exception as e:
qamsg = qamsg + '\tImage QA function %s failed' % e.name qamsg = qamsg + '\tImage QA function %s failed\n' % cmd
if e.logfile:
qamsg = qamsg + ' (log file is located at %s)' % e.logfile
qamsg = qamsg + '\n'
if qamsg: if qamsg:
imgname = d.getVar('IMAGE_NAME') imgname = d.getVar('IMAGE_NAME')
+2 -3
View File
@@ -89,8 +89,7 @@ class LocalSigner(object):
(_, stderr) = job.communicate(passphrase.encode("utf-8")) (_, stderr) = job.communicate(passphrase.encode("utf-8"))
if job.returncode: if job.returncode:
raise bb.build.FuncFailed("GPG exited with code %d: %s" % bb.fatal("GPG exited with code %d: %s" % (job.returncode, stderr.decode("utf-8")))
(job.returncode, stderr.decode("utf-8")))
except IOError as e: except IOError as e:
bb.error("IO error (%s): %s" % (e.errno, e.strerror)) bb.error("IO error (%s): %s" % (e.errno, e.strerror))
@@ -108,7 +107,7 @@ class LocalSigner(object):
ver_str = subprocess.check_output(cmd).split()[2].decode("utf-8") ver_str = subprocess.check_output(cmd).split()[2].decode("utf-8")
return tuple([int(i) for i in ver_str.split("-")[0].split('.')]) return tuple([int(i) for i in ver_str.split("-")[0].split('.')])
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
raise bb.build.FuncFailed("Could not get gpg version: %s" % e) bb.fatal("Could not get gpg version: %s" % e)
def verify(self, sig_file): def verify(self, sig_file):
+1 -1
View File
@@ -14,7 +14,7 @@ class myArgumentParser(argparse.ArgumentParser):
error(message) error(message)
def error(self, message): def error(self, message):
raise bb.build.FuncFailed(message) bb.fatal(message)
def split_commands(params): def split_commands(params):
params = re.split('''[ \t]*;[ \t]*(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', params.strip()) params = re.split('''[ \t]*;[ \t]*(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', params.strip())
+1 -1
View File
@@ -486,7 +486,7 @@ def write_ld_so_conf(d):
f.write(d.getVar("base_libdir") + '\n') f.write(d.getVar("base_libdir") + '\n')
f.write(d.getVar("libdir") + '\n') f.write(d.getVar("libdir") + '\n')
class ImageQAFailed(bb.build.FuncFailed): class ImageQAFailed(Exception):
def __init__(self, description, name=None, logfile=None): def __init__(self, description, name=None, logfile=None):
self.description = description self.description = description
self.name = name self.name = name
+5 -2
View File
@@ -75,8 +75,11 @@ class BitbakeTests(OESelftestTestCase):
result = bitbake('man-db -c patch', ignore_status=True) result = bitbake('man-db -c patch', ignore_status=True)
self.delete_recipeinc('man-db') self.delete_recipeinc('man-db')
bitbake('-cclean man-db') bitbake('-cclean man-db')
line = self.getline(result, "Function failed: patch_do_patch") found = False
self.assertTrue(line and line.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output) for l in result.output.split('\n'):
if l.startswith("ERROR:") and "failed" in l and "do_patch" in l:
found = l
self.assertTrue(found and found.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output)
def test_force_task_1(self): def test_force_task_1(self):
# test 1 from bug 5875 # test 1 from bug 5875
+2 -2
View File
@@ -175,7 +175,7 @@ class QemuTarget(BaseTarget):
if os.path.exists(self.qemulog): if os.path.exists(self.qemulog):
with open(self.qemulog, 'r') as f: with open(self.qemulog, 'r') as f:
bb.error("Qemu log output from %s:\n%s" % (self.qemulog, f.read())) bb.error("Qemu log output from %s:\n%s" % (self.qemulog, f.read()))
raise bb.build.FuncFailed("%s - FAILED to start qemu - check the task log and the boot log" % self.pn) raise RuntimeError("%s - FAILED to start qemu - check the task log and the boot log" % self.pn)
def check(self): def check(self):
return self.runner.is_alive() return self.runner.is_alive()
@@ -192,7 +192,7 @@ class QemuTarget(BaseTarget):
self.server_ip = self.runner.server_ip self.server_ip = self.runner.server_ip
self.connection = SSHControl(ip=self.ip, logfile=self.sshlog) self.connection = SSHControl(ip=self.ip, logfile=self.sshlog)
else: else:
raise bb.build.FuncFailed("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn) raise RuntimError("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn)
def run_serial(self, command, timeout=60): def run_serial(self, command, timeout=60):
return self.runner.run_serial(command, timeout=timeout) return self.runner.run_serial(command, timeout=timeout)
+2 -2
View File
@@ -337,8 +337,8 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
qemu.deploy() qemu.deploy()
try: try:
qemu.start(params=qemuparams, ssh=ssh, runqemuparams=runqemuparams, launch_cmd=launch_cmd, discard_writes=discard_writes) qemu.start(params=qemuparams, ssh=ssh, runqemuparams=runqemuparams, launch_cmd=launch_cmd, discard_writes=discard_writes)
except bb.build.FuncFailed: except EXception as e:
msg = 'Failed to start QEMU - see the logs in %s' % logdir msg = str(e) + '\nFailed to start QEMU - see the logs in %s' % logdir
if os.path.exists(qemu.qemurunnerlog): if os.path.exists(qemu.qemurunnerlog):
with open(qemu.qemurunnerlog, 'r') as f: with open(qemu.qemurunnerlog, 'r') as f:
msg = msg + "Qemurunner log output from %s:\n%s" % (qemu.qemurunnerlog, f.read()) msg = msg + "Qemurunner log output from %s:\n%s" % (qemu.qemurunnerlog, f.read())