Esempio n. 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)
Esempio n. 2
0
 def test_empty_choices_should_blow_up(self):
     self.assertRaises(
         ValueError, lambda: dsl.Parameter(name='std',
                                           choices=[],
                                           type=str,
                                           help='',
                                           actions=lambda _: []))
Esempio n. 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)
Esempio n. 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')
Esempio n. 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))
Esempio n. 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'])
Esempio n. 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)
Esempio n. 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))
Esempio n. 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))
Esempio n. 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, [])
Esempio n. 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)
Esempio n. 12
0
 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))
Esempio n. 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)
Esempio n. 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)
Esempio n. 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),
                      [])
Esempio n. 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)
Esempio n. 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)
Esempio n. 18
0
 def test_no_choices_is_ok(self):
     param = dsl.Parameter(name='triple',
                           type=str,
                           help='',
                           actions=lambda _: [])
     self.assertEqual(param.name, 'triple')