def test_make_key_value_value_string(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key',
                                         TTP.make_node('key', 1), 'string'))
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:',
                                         TTP.make_node('key:', 1),
                                         'string'))
     self.assertEqual(('key', 'bar'),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:bar',
                                         TTP.make_node('key:bar', 1),
                                         'string'))
Exemplo n.º 2
0
 def resolve_values(self, substitutions, env):
   check.check_dict(substitutions)
   check.check_recipe_load_env_base(env)
   args_definition = self.description.step_class.args_definition()
   result = {}
   for value in self.values:
     assert value.key in args_definition
     class_name = args_definition[value.key].class_name
     result.update({ value.key: value.resolve(env.build_target.system, class_name) })
     
   for name, arg_def in args_definition.items():
     if name not in result:
       if arg_def.default is not None:
         origin = value_origin('<default>', arg_def.line_number, arg_def.default)
         default_node = tree_text_parser.make_node(arg_def.default, arg_def.line_number)
         value = recipe_parser_util.make_value(origin, arg_def.default, default_node, arg_def.class_name)
         check.check_value_base(value)
         result[name] = value.resolve([ value ], arg_def.class_name)
       else:
         result[name] = recipe_parser_util.value_default(arg_def.class_name)
         
   for key, value in result.items():
     if check.is_value_base(value):
       value.substitutions = substitutions
         
   return result
 def test_make_key_value_value_string_list(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key',
                                         TTP.make_node('key', 1),
                                         'string_list'))
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:',
                                         TTP.make_node('key:', 1),
                                         'string_list'))
     self.assertEqual(('key', ['bar']),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:bar',
                                         TTP.make_node('key:bar', 1),
                                         'string_list'))
     self.assertEqual(('key', ['foo', 'bar']),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:foo bar',
                                         TTP.make_node('key:foo bar', 1),
                                         'string_list'))
 def test_make_key_value_value_key_values(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key',
                                         TTP.make_node('key', 1),
                                         'key_values'))
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:',
                                         TTP.make_node('key:', 1),
                                         'key_values'))
     self.assertEqual(('key', VKV(values=KVL([('foo', '5')]))),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:foo=5',
                                         TTP.make_node('key:foo=5', 1),
                                         'key_values'))
     self.assertEqual(
         ('key', VKV(values=KVL([('foo', '5'), ('bar', '7')]))),
         RPU.make_key_value(self.TEST_ORIGIN, 'key:foo=5 bar=7',
                            TTP.make_node('key:foo=5 bar=7', 1),
                            'key_values'))
     self.assertEqual(
         ('key', VKV(values=KVL([('foo', '"5 6"'), ('bar', '"7 8"')]))),
         RPU.make_key_value(self.TEST_ORIGIN, 'key:foo="5 6" bar="7 8"',
                            TTP.make_node('key:foo="5 6" bar="7 8"', 1),
                            'key_values'))
 def test_make_key_value_value_bool(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key',
                                         TTP.make_node('key', 1), 'bool'))
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:',
                                         TTP.make_node('key:', 1), 'bool'))
     self.assertEqual(('key', True),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:True',
                                         TTP.make_node('key:True', 1),
                                         'bool'))
     self.assertEqual(('key', True),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:true',
                                         TTP.make_node('key:true', 1),
                                         'bool'))
     self.assertEqual(('key', True),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:1',
                                         TTP.make_node('key:1', 1), 'bool'))
     self.assertEqual(('key', False),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:False',
                                         TTP.make_node('key:False', 1),
                                         'bool'))
     self.assertEqual(('key', False),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:false',
                                         TTP.make_node('key:false', 1),
                                         'bool'))
     self.assertEqual(('key', False),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:0',
                                         TTP.make_node('key:0', 1), 'bool'))
     self.assertEqual(('key', True),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key: True',
                                         TTP.make_node('key: True', 1),
                                         'bool'))
     self.assertEqual(('key', False),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key: False',
                                         TTP.make_node('key: False', 1),
                                         'bool'))
 def test_make_key_value_value_int(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key',
                                         TTP.make_node('key', 1), 'int'))
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:',
                                         TTP.make_node('key:', 1), 'int'))
     self.assertEqual(('key', 1),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:1',
                                         TTP.make_node('key:1', 1), 'int'))
     self.assertEqual(('key', 1),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key: 1',
                                         TTP.make_node('key: 1', 1), 'int'))
     self.assertEqual(('key', 0),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:0',
                                         TTP.make_node('key:0', 1), 'int'))
     self.assertEqual(('key', 0),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key: 0',
                                         TTP.make_node('key: 0', 1), 'int'))
     self.assertEqual(('key', 666),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:666',
                                         TTP.make_node('key:666', 1),
                                         'int'))
Exemplo n.º 7
0
 def _key_values(clazz, s):
     return RP._caca_parse_mask_and_value(VO(__file__, 1, s), s,
                                          tree_text_parser.make_node(s, 1),
                                          VT.KEY_VALUES)
Exemplo n.º 8
0
 def _string_list(clazz, s):
     return RP._caca_parse_mask_and_value(VO(__file__, 1, s), s,
                                          tree_text_parser.make_node(s, 1),
                                          VT.STRING_LIST)
Exemplo n.º 9
0
 def _bool(clazz, s):
     return RP._caca_parse_mask_and_value(VO(__file__, 1, s), s,
                                          tree_text_parser.make_node(s, 1),
                                          VT.BOOL)
Exemplo n.º 10
0
 def test_make_key_value_key_and_empty_value_with_comment(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key:# comment',
                                         TTP.make_node('key:# comment', 1),
                                         'string'))
Exemplo n.º 11
0
 def test_make_key_value_key_only(self):
     self.assertEqual(('key', None),
                      RPU.make_key_value(self.TEST_ORIGIN, 'key',
                                         TTP.make_node('key', 1), 'string'))