Example #1
0
    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)
Example #2
0
 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
Example #3
0
 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