Gracefully handle missing machine info.

This commit is contained in:
Wink Saville 2015-10-18 15:56:20 -07:00
parent 572ce0f451
commit 5504c3ac95
2 changed files with 6 additions and 0 deletions

View File

@ -23,3 +23,4 @@ Marko Raatikainen
German Diago Gomez
Kyle Manna
Haakon Sporsheim
Wink Saville

View File

@ -340,6 +340,11 @@ class BuildMachine(InterpreterObject):
class CrossMachineInfo(InterpreterObject):
def __init__(self, cross_info):
InterpreterObject.__init__(self)
minimum_cross_info = {'cpu', 'cpu_family', 'endian', 'system'}
if set(cross_info) < minimum_cross_info:
raise InterpreterException(
'Machine info is currently {}\n'.format(cross_info) +
'but is missing {}.'.format(minimum_cross_info - set(cross_info)))
self.info = cross_info
self.methods.update({'system' : self.system_method,
'cpu' : self.cpu_method,