Beispiel #1
0
 def create_target_context(target_config_path: str) -> PlumaContext:
     env_vars = dict(os.environ)
     log.debug(f'Parsing target configuration "{target_config_path}"...')
     target_config = PlumaConfig.load_configuration(
         'Target config', target_config_path,
         PlumaConfigPreprocessor(env_vars))
     context = TargetConfig.create_context(target_config)
     context.variables.update(env_vars)
     return context
Beispiel #2
0
    def create_target_context(
            target_config: Configuration,
            substitute_values: Dict[str, Any]) -> PlumaContext:
        context = TargetConfig.create_context(target_config)

        for variable, env_value in ((var, val)
                                    for var, val in substitute_values.items()
                                    if var in context.variables):
            log.warning([
                f'"{variable}" defined in both environment variables and target config.',
                f'Using environment: {env_value}'
            ])

        context.variables.update(substitute_values)
        return context
Beispiel #3
0
    def create_target_context(target_config_path: str) -> PlumaContext:
        env_vars = dict(os.environ)
        log.debug(f'Parsing target configuration "{target_config_path}"...')
        target_config = PlumaConfig.load_configuration(
            'Target config', target_config_path,
            PlumaConfigPreprocessor(env_vars))
        context = TargetConfig.create_context(target_config)

        for variable, env_value in ((var, val)
                                    for var, val in env_vars.items()
                                    if var in context.variables):
            log.warning([
                f'"{variable}" defined in both environment variables and target config.',
                f'Using environment: {env_value}'
            ])

        context.variables.update(env_vars)
        return context
def test_TargetConfig_create_context_should_work_with_minimal_config(
        target_config):
    TargetConfig.create_context(Configuration(target_config))
def test_TargetConfig_create_context_passes_serial_console_to_create_power_control(
        serial_config):
    config = Configuration({'console': {'serial': serial_config}})
    context = TargetConfig.create_context(config)
    assert context.board.power is not None
def test_TargetConfig_create_context_should_error_on_unconsumed(target_config):
    invalid_config = target_config
    invalid_config['abc'] = 'value'

    with pytest.raises(TargetConfigError):
        TargetConfig.create_context(Configuration(invalid_config))