mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
bitbake: toaster: Check whether buildrequest exists before using it
Builds initiated from the command line don't have a buildrequest associated with them. The build.buildrequest association is only added if a build is triggered from toaster. Some of the code for displaying the status of a build refers to build.buildrequest without checking whether it has been set, which causes an error to be thrown. Add a guard to check whether the buildrequest has been set. [YOCTO #8277] (Bitbake rev: af33409612139ab2347baf6b847b23faea19752d) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
1feeb8e499
commit
026e981264
@@ -344,6 +344,9 @@ class Build(models.Model):
|
|||||||
tgts = Target.objects.filter(build_id = self.id).order_by( 'target' );
|
tgts = Target.objects.filter(build_id = self.id).order_by( 'target' );
|
||||||
return( tgts );
|
return( tgts );
|
||||||
|
|
||||||
|
def get_outcome_text(self):
|
||||||
|
return Build.BUILD_OUTCOME[int(self.outcome)][1]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def toaster_exceptions(self):
|
def toaster_exceptions(self):
|
||||||
return self.logmessage_set.filter(level=LogMessage.EXCEPTION)
|
return self.logmessage_set.filter(level=LogMessage.EXCEPTION)
|
||||||
@@ -361,10 +364,23 @@ class Build(models.Model):
|
|||||||
return (self.completed_on - self.started_on).total_seconds()
|
return (self.completed_on - self.started_on).total_seconds()
|
||||||
|
|
||||||
def get_current_status(self):
|
def get_current_status(self):
|
||||||
|
"""
|
||||||
|
get the status string from the build request if the build
|
||||||
|
has one, or the text for the build outcome if it doesn't
|
||||||
|
"""
|
||||||
|
|
||||||
from bldcontrol.models import BuildRequest
|
from bldcontrol.models import BuildRequest
|
||||||
if self.outcome == Build.IN_PROGRESS and self.buildrequest.state != BuildRequest.REQ_INPROGRESS:
|
|
||||||
|
build_request = None
|
||||||
|
if hasattr(self, 'buildrequest'):
|
||||||
|
build_request = self.buildrequest
|
||||||
|
|
||||||
|
if (build_request
|
||||||
|
and build_request.state != BuildRequest.REQ_INPROGRESS
|
||||||
|
and self.outcome == Build.IN_PROGRESS):
|
||||||
return self.buildrequest.get_state_display()
|
return self.buildrequest.get_state_display()
|
||||||
return self.get_outcome_display()
|
else:
|
||||||
|
return self.get_outcome_text()
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
|
return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
|
||||||
|
|||||||
Reference in New Issue
Block a user