oeqa/targetcontrol.py: Separate the matching of supported image fstypes from the resulting value check.

Because we used a bb.fatal call inside the get_image_fstype classmethod, this caused problems when accessed without instantiating the object with a valid bb environment.

Separating the matching part of the classmethod(that is usable by outside scripts) from the check of the resulting value.
The matching is done within a new classmethod and the latter keeps the old method name and internal functionality, this way we don't have to change any other target controllers code.

(From OE-Core rev: 50ddd5d0149666ad60133d8eb6cc789c5b97e5e4)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Corneliu Stoicescu 2014-06-23 15:59:44 +03:00 committed by Richard Purdie
parent d7b3683834
commit 7b453165ab
1 changed files with 9 additions and 2 deletions

View File

@ -77,14 +77,21 @@ class BaseTarget(object):
return None
@classmethod
def get_image_fstype(self, d, image_fstypes=None):
def match_image_fstype(self, d, image_fstypes=None):
if not image_fstypes:
image_fstypes = d.getVar('IMAGE_FSTYPES', True).split(' ')
possible_image_fstypes = [fstype for fstype in self.supported_image_fstypes if fstype in image_fstypes]
if possible_image_fstypes:
return possible_image_fstypes[0]
else:
bb.fatal("no possible image_fstype could not be determined. IMAGE_FSTYPES=\"%s\" and supported_image_fstypes=\"%s\": " % (', '.join(map(str, image_fstypes)), ', '.join(map(str, self.supported_image_fstypes))))
return None
def get_image_fstype(self, d):
image_fstype = self.match_image_fstype(d)
if image_fstype:
return image_fstype
else:
bb.fatal("IMAGE_FSTYPES should contain a Target Controller supported image fstype: %s " % ', '.join(map(str, self.supported_image_fstypes)))
def restart(self, params=None):
self.stop()