def loads(cls, data): """Load Settings from a yaml file.""" try: settings = yaml_loads(cls, data) or cls() except ScannerError as e: raise ConfigurationFileError(str(e)) # Migration to 2.3 new toolchain settings. Remove July 2015 if settings.cpp.generator: settings.cmake.generator = settings.cpp.generator settings.cpp = CPPSettings() if settings.arduino.generator: settings.cmake.generator = settings.arduino.generator settings.arduino.generator = None return settings
def test_load_cpp_settings(self): expected = ''' compiler: family: GNU version: 3.4.1 builder: family: MAKE version: 3.4.1 generator: Visual Studio 2008 defines: NO_BUILD: 1 ''' cpp = yaml_loads(CPPSettings, expected) self.assertEqual(cpp.generator, 'Visual Studio 2008')