示例#1
0
 def test_boolean_value_from_false_boolean_parameter(self):
     self.litConfig.params['enable_exceptions'] = False
     param = dsl.Parameter(name='enable_exceptions', choices=[True, False], type=bool, help='',
                           actions=lambda exceptions: [] if exceptions else [dsl.AddFeature("-fno-exceptions")])
     for a in param.getActions(self.config, self.litConfig.params):
         a.applyTo(self.config)
     self.assertIn('-fno-exceptions', self.config.available_features)
示例#2
0
 def test_empty_choices_should_blow_up(self):
     self.assertRaises(
         ValueError, lambda: dsl.Parameter(name='std',
                                           choices=[],
                                           type=str,
                                           help='',
                                           actions=lambda _: []))
示例#3
0
 def test_value_provided_on_command_line_and_no_default_value(self):
     self.litConfig.params['std'] = 'c++03'
     param = dsl.Parameter(name='std', choices=['c++03'], type=str, help='',
                           actions=lambda std: [dsl.AddFeature(std)])
     for a in param.getActions(self.config, self.litConfig.params):
         a.applyTo(self.config)
     self.assertIn('c++03', self.config.available_features)
示例#4
0
 def test_name_is_set_correctly(self):
     param = dsl.Parameter(name='std',
                           choices=['c++03'],
                           type=str,
                           help='',
                           actions=lambda _: [])
     self.assertEqual(param.name, 'std')
示例#5
0
 def test_empty_name_should_blow_up(self):
     self.assertRaises(
         ValueError, lambda: dsl.Parameter(name='',
                                           choices=['c++03'],
                                           type=str,
                                           help='',
                                           feature=lambda _: None))
示例#6
0
 def test_list_parsed_from_comma_delimited_string_2(self):
     self.litConfig.params['additional_features'] = "feature1,feature2"
     param = dsl.Parameter(name='additional_features',
                           type=list,
                           help='',
                           actions=lambda f: f)
     self.assertEqual(param.getActions(self.config, self.litConfig.params),
                      ['feature1', 'feature2'])
示例#7
0
 def test_value_provided_in_config_and_default_value(self):
     """The value provided in the config should override the default value"""
     self.config.std ='c++11'
     param = dsl.Parameter(name='std', choices=['c++03', 'c++11'], type=str, default='c++03', help='',
                           feature=lambda std: dsl.Feature(name=std))
     param.getFeature(self.config, self.litConfig.params).enableIn(self.config)
     self.assertIn('c++11', self.config.available_features)
     self.assertNotIn('c++03', self.config.available_features)
示例#8
0
 def test_no_value_provided_and_no_default_value(self):
     param = dsl.Parameter(name='std',
                           choices=['c++03'],
                           type=str,
                           help='',
                           actions=lambda _: [])
     self.assertRaises(
         ValueError,
         lambda: param.getActions(self.config, self.litConfig.params))
示例#9
0
 def test_boolean_value_from_true_boolean_parameter(self):
     self.litConfig.params['enable_exceptions'] = True
     param = dsl.Parameter(name='enable_exceptions',
                           choices=[True, False],
                           type=bool,
                           help='',
                           feature=lambda exceptions: None
                           if exceptions else ValueError())
     self.assertIsNone(param.getFeature(self.config, self.litConfig.params))
示例#10
0
 def test_no_actions(self):
     self.litConfig.params['std'] = 'c++03'
     param = dsl.Parameter(name='std',
                           choices=['c++03'],
                           type=str,
                           help='',
                           actions=lambda _: [])
     actions = param.getActions(self.config, self.litConfig.params)
     self.assertEqual(actions, [])
示例#11
0
 def test_value_provided_in_config_and_default_value(self):
     """The value provided in the config should override the default value"""
     self.config.std ='c++11'
     param = dsl.Parameter(name='std', choices=['c++03', 'c++11'], type=str, default='c++03', help='',
                           actions=lambda std: [dsl.AddFeature(std)])
     for a in param.getActions(self.config, self.litConfig.params):
         a.applyTo(self.config)
     self.assertIn('c++11', self.config.available_features)
     self.assertNotIn('c++03', self.config.available_features)
示例#12
0
文件: dsl.sh.py 项目: chelini/mlirx
 def test_no_value_provided_on_command_line_and_no_default_value(self):
     param = dsl.Parameter(name='std',
                           choices=['c++03'],
                           type=str,
                           help='',
                           feature=lambda _: None)
     self.assertRaises(
         ValueError,
         lambda: param.getFeature(self.config, self.litConfig.params))
示例#13
0
 def test_value_provided_in_config_and_on_command_line(self):
     """The value on the command line should override the one in the config"""
     self.config.std = 'c++11'
     self.litConfig.params['std'] = 'c++03'
     param = dsl.Parameter(name='std', choices=['c++03', 'c++11'], type=str, help='',
                           feature=lambda std: dsl.Feature(name=std))
     param.getFeature(self.config, self.litConfig.params).enableIn(self.config)
     self.assertIn('c++03', self.config.available_features)
     self.assertNotIn('c++11', self.config.available_features)
示例#14
0
 def test_feature_is_None(self):
     self.litConfig.params['std'] = 'c++03'
     param = dsl.Parameter(name='std',
                           choices=['c++03'],
                           type=str,
                           help='',
                           feature=lambda _: None)
     feature = param.getFeature(self.config, self.litConfig.params)
     self.assertIsNone(feature)
示例#15
0
 def test_boolean_value_from_true_boolean_parameter(self):
     self.litConfig.params['enable_exceptions'] = True
     param = dsl.Parameter(name='enable_exceptions',
                           choices=[True, False],
                           type=bool,
                           help='',
                           actions=lambda exceptions: []
                           if exceptions else _throw())
     self.assertEqual(param.getActions(self.config, self.litConfig.params),
                      [])
示例#16
0
 def test_value_provided_on_command_line_and_no_default_value(self):
     self.litConfig.params['std'] = 'c++03'
     param = dsl.Parameter(name='std',
                           choices=['c++03'],
                           type=str,
                           help='',
                           feature=lambda std: dsl.Feature(name=std))
     param.getFeature(self.config,
                      self.litConfig.params).enableIn(self.config)
     self.assertIn('c++03', self.config.available_features)
示例#17
0
 def test_boolean_value_from_false_boolean_parameter(self):
     self.litConfig.params['enable_exceptions'] = False
     param = dsl.Parameter(
         name='enable_exceptions',
         choices=[True, False],
         type=bool,
         help='',
         feature=lambda exceptions: None
         if exceptions else dsl.Feature(name="-fno-exceptions"))
     param.getFeature(self.config,
                      self.litConfig.params).enableIn(self.config)
     self.assertIn('-fno-exceptions', self.config.available_features)
示例#18
0
 def test_no_choices_is_ok(self):
     param = dsl.Parameter(name='triple',
                           type=str,
                           help='',
                           actions=lambda _: [])
     self.assertEqual(param.name, 'triple')