def test_config_cmpa_yml(tmpdir): """Test PFR tool - Test CMPA configuration from YAML.""" yaml = YAML() yaml.indent(sequence=4, offset=2) cmpa = CMPA("lpc55s6x") config = cmpa.get_yaml_config(exclude_computed=True) with open(tmpdir + "/config.yml", "w") as yml_file: yaml.dump(config, yml_file) config2 = cmpa.get_yaml_config(exclude_computed=False) with open(tmpdir + "/config2.yml", "w") as yml_file: yaml.dump(config2, yml_file) assert not filecmp.cmp(tmpdir + "/config.yml", tmpdir + "/config2.yml") cmpa2 = CMPA("lpc55s6x") cmpa2_pfr_cfg = PfrConfiguration(tmpdir + "/config.yml") cmpa2.set_config(cmpa2_pfr_cfg) out_config = cmpa2.get_yaml_config(exclude_computed=True) with open(tmpdir + "/out_config.yml", "w") as yml_file: yaml.dump(out_config, yml_file) assert filecmp.cmp(tmpdir + "/config.yml", tmpdir + "/out_config.yml") cmpa2_pfr_cfg = PfrConfiguration(tmpdir + "/config2.yml") cmpa2.set_config(cmpa2_pfr_cfg, raw=True) out_config2 = cmpa2.get_yaml_config(exclude_computed=False) with open(tmpdir + "/out_config2.yml", "w") as yml_file: yaml.dump(out_config2, yml_file) assert filecmp.cmp(tmpdir + "/config2.yml", tmpdir + "/out_config2.yml")
def test_config_no_device_no_revision(): cfg = PfrConfiguration(device="lpc55s6x") cfg.device = "lpc55s6x" cmpa = CMPA(user_config=cfg) cmpa.device = None with pytest.raises(SPSDKError, match="No device provided"): cmpa.set_config(cfg) cmpa.device = "lpc55s6x" cmpa.revision = None with pytest.raises(SPSDKError, match="No revision provided"): cmpa.set_config(cfg)
def test_set_config_invalid(data_dir): """Test invalid cases for set_config.""" cmpa = CMPA(device="lpc55s6x") cfg = PfrConfiguration(data_dir + "/bad_dev.yml") with pytest.raises(SPSDKPfrConfigError): cmpa.set_config(cfg) cfg = PfrConfiguration(data_dir + "/bad_rev.yml") with pytest.raises(SPSDKPfrConfigError): cmpa.set_config(cfg) cfg = PfrConfiguration() cfg.device = cmpa.device cfg.revision = cmpa.revision cfg.type = "INV" with pytest.raises(SPSDKPfrConfigError): cmpa.set_config(cfg) cfg = PfrConfiguration() cfg.device = cmpa.device cfg.revision = cmpa.revision cfg.type = "CMPA" cfg.settings = None with pytest.raises(SPSDKPfrConfigError): cmpa.set_config(cfg)
def test_config_various_revisions(): """Simple test to check is_invalid functionality.""" cfg = PfrConfiguration() cfg.device = "lpc55s6x" cfg.revision = None cfg.type = "CMPA" cfg.settings = {"BOOT_CFG": {"value": 0}} cmpa = CMPA(user_config=cfg) assert cmpa assert cmpa.revision cmpa.set_config(cfg) assert cmpa.revision cfg.revision = "latest" cmpa.set_config(cfg) assert cmpa.revision
def test_set_config_rev_latest(data_dir): """Test invalid cases for set_config.""" pfr_cfg = PfrConfiguration(data_dir + "/latest_rev.yml") cmpa = CMPA(user_config=pfr_cfg) cmpa.set_config(pfr_cfg) assert cmpa