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
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
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))