def test_user_defined_settings(self): raw_settings = '''cmake: {generator: Visual} os: {arch: 64bit, family: MacOS, version: 10.9.1} user: {my_definition: hola, my_other_definition: adios} ''' settings = Settings.loads(raw_settings) self.assertTrue(hasattr(settings, 'user')) self.assertIn('my_definition', settings.user) self.assertEquals('hola', settings.user['my_definition']) self.assertEquals('adios', settings.user['my_other_definition']) dump = settings.dumps() self.assertEquals(raw_settings, dump)
def settings(self): """ Return Hive settings. If settings.bii not present, creates and initialize a default hive settings.bii """ if self._settings is None: settings_path = self._bii_paths.settings if not os.path.exists(settings_path): # CREATE new hive settings file settings = Settings() # empty settings, only OS information save(settings_path, settings.dumps()) # save settings.bii self._settings = settings else: # LOAD existing settings.bii file try: self._settings = Settings.loads(load(settings_path)) except Exception as e: raise ClientException('%s\nIn file %s' % (str(e), settings_path.replace('\\', '/'))) return self._settings
def settings(self): """ Return Hive settings. If settings.bii not present, creates and initialize a default hive settings.bii """ if self._settings is None: settings_path = self._bii_paths.settings if not os.path.exists( settings_path): # CREATE new hive settings file settings = Settings() # empty settings, only OS information save(settings_path, settings.dumps()) # save settings.bii self._settings = settings else: # LOAD existing settings.bii file try: self._settings = Settings.loads(load(settings_path)) except Exception as e: raise ClientException( '%s\nIn file %s' % (str(e), settings_path.replace('\\', '/'))) return self._settings
import unittest from biicode.common.settings.settings import Settings import copy from biicode.common.settings.tools import Builder class SettingsTest(unittest.TestCase): def test_copy(self): s = Settings() s.cpp.builder = Builder(family='make') s2 = copy.deepcopy(s.cpp) self.assertEqual(s.cpp, s2) if __name__ == "__main__": a = Settings.loads("{cpp: {kk: aux}}") print a.kk