bitbake: toaster: raise NotImplementedError

Raised NotImplementedError instead of Exception to be
able to catch it.

This is a preparation for removing sshbecontroller module.
It has to be done as code in bldcontrol/tests.py imports custom
NotImplementedException from sshbecontroller.

(Bitbake rev: c243ab6c83fe12d84777e4c3a18fd393827b9327)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh 2016-03-02 21:26:54 -08:00 committed by Richard Purdie
parent 96535ba720
commit 790b2d1387
3 changed files with 13 additions and 11 deletions

View File

@ -138,7 +138,7 @@ class BuildEnvironmentController(object):
After this method executes, self.be bbaddress/bbport MUST point to a running and free server, After this method executes, self.be bbaddress/bbport MUST point to a running and free server,
and the bbstate MUST be updated to "started". and the bbstate MUST be updated to "started".
""" """
raise Exception("FIXME: Must override in order to actually start the BB server") raise NotImplementedError("FIXME: Must override in order to actually start the BB server")
def setLayers(self, bitbake, ls): def setLayers(self, bitbake, ls):
@ -149,7 +149,7 @@ class BuildEnvironmentController(object):
a word of attention: by convention, the first layer for any build will be poky! a word of attention: by convention, the first layer for any build will be poky!
""" """
raise Exception("FIXME: Must override setLayers") raise NotImplementedError("FIXME: Must override setLayers")
def getBBController(self): def getBBController(self):
@ -176,16 +176,16 @@ class BuildEnvironmentController(object):
up to the implementing BEC. The return MUST be a REST URL where a GET will actually return up to the implementing BEC. The return MUST be a REST URL where a GET will actually return
the content of the artifact, e.g. for use as a "download link" in a web UI. the content of the artifact, e.g. for use as a "download link" in a web UI.
""" """
raise Exception("Must return the REST URL of the artifact") raise NotImplementedError("Must return the REST URL of the artifact")
def release(self): def release(self):
""" This stops the server and releases any resources. After this point, all resources """ This stops the server and releases any resources. After this point, all resources
are un-available for further reference are un-available for further reference
""" """
raise Exception("Must override BE release") raise NotImplementedError("Must override BE release")
def triggerBuild(self, bitbake, layers, variables, targets): def triggerBuild(self, bitbake, layers, variables, targets):
raise Exception("Must override BE release") raise NotImplementedError("Must override BE release")
class ShellCmdException(Exception): class ShellCmdException(Exception):
pass pass

View File

@ -42,13 +42,17 @@ class BuildEnvironment(models.Model):
def get_artifact(self, path): def get_artifact(self, path):
if self.betype == BuildEnvironment.TYPE_LOCAL: if self.betype == BuildEnvironment.TYPE_LOCAL:
return open(path, "r") return open(path, "r")
raise Exception("FIXME: artifact download not implemented for build environment type %s" % self.get_betype_display()) raise NotImplementedError("FIXME: artifact download not implemented "\
"for build environment type %s" % \
self.get_betype_display())
def has_artifact(self, path): def has_artifact(self, path):
import os import os
if self.betype == BuildEnvironment.TYPE_LOCAL: if self.betype == BuildEnvironment.TYPE_LOCAL:
return os.path.exists(path) return os.path.exists(path)
raise Exception("FIXME: has artifact not implemented for build environment type %s" % self.get_betype_display()) raise NotImplementedError("FIXME: has artifact not implemented for "\
"build environment type %s" % \
self.get_betype_display())
# a BuildRequest is a request that the scheduler will build using a BuildEnvironment # a BuildRequest is a request that the scheduler will build using a BuildEnvironment
# the build request queue is the table itself, ordered by state # the build request queue is the table itself, ordered by state

View File

@ -48,13 +48,12 @@ class BEControllerTests(object):
self.assertTrue(err == '', "bitbake server pid %s not stopped" % err) self.assertTrue(err == '', "bitbake server pid %s not stopped" % err)
def test_serverStartAndStop(self): def test_serverStartAndStop(self):
from bldcontrol.sshbecontroller import NotImplementedException
obe = self._getBuildEnvironment() obe = self._getBuildEnvironment()
bc = self._getBEController(obe) bc = self._getBEController(obe)
try: try:
# setting layers, skip any layer info # setting layers, skip any layer info
bc.setLayers(BITBAKE_LAYER, POKY_LAYERS) bc.setLayers(BITBAKE_LAYER, POKY_LAYERS)
except NotImplementedException, e: except NotImplementedError:
print "Test skipped due to command not implemented yet" print "Test skipped due to command not implemented yet"
return True return True
# We are ok with the exception as we're handling the git already exists # We are ok with the exception as we're handling the git already exists
@ -74,14 +73,13 @@ class BEControllerTests(object):
self._serverForceStop(bc) self._serverForceStop(bc)
def test_getBBController(self): def test_getBBController(self):
from bldcontrol.sshbecontroller import NotImplementedException
obe = self._getBuildEnvironment() obe = self._getBuildEnvironment()
bc = self._getBEController(obe) bc = self._getBEController(obe)
layerSet = False layerSet = False
try: try:
# setting layers, skip any layer info # setting layers, skip any layer info
layerSet = bc.setLayers(BITBAKE_LAYER, POKY_LAYERS) layerSet = bc.setLayers(BITBAKE_LAYER, POKY_LAYERS)
except NotImplementedException: except NotImplementedError:
print "Test skipped due to command not implemented yet" print "Test skipped due to command not implemented yet"
return True return True
# We are ok with the exception as we're handling the git already exists # We are ok with the exception as we're handling the git already exists