def test_mixed_composition_order(): """ Tests that the order of mixed composition (defaults contains both config group and non config group items) is correct """ config_loader = ConfigLoader( config_search_path=create_search_path(["hydra/test_utils/configs"]), strict_cfg=False, config_file="mixed_compose.yaml", ) config_loader.load_configuration() assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/launcher/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/help/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_help/default.yaml", "pkg://hydra.conf", "hydra"), ("mixed_compose.yaml", "hydra/test_utils/configs", "test"), ("some_config.yaml", "hydra/test_utils/configs", "test"), ("group1/file1.yaml", "hydra/test_utils/configs", "test"), ("config.yaml", "hydra/test_utils/configs", "test"), ]
def test_default_removal(config_file, overrides): config_loader = ConfigLoader( config_search_path=create_search_path(["hydra/test_utils/configs"]), strict_cfg=False, config_file=config_file, ) config_loader.load_configuration(overrides=overrides) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), (config_file, "hydra/test_utils/configs", "test"), ]
def test_override_hydra_config_group_from_config_file(): config_loader = ConfigLoader( config_search_path=create_search_path(["hydra/test_utils/configs"]), strict_cfg=False, config_file="overriding_logging_default.yaml", ) config_loader.load_configuration(overrides=[]) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/hydra_debug.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/disabled.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("overriding_logging_default.yaml", "hydra/test_utils/configs", "test"), ]
def test_default_removal(config_file: str, overrides: List[str]) -> None: config_loader = ConfigLoader( config_search_path=create_search_path(["hydra/test_utils/configs"])) config_loader.load_configuration(config_file=config_file, overrides=overrides, strict=False) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/help/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_help/default.yaml", "pkg://hydra.conf", "hydra"), (config_file, "file://hydra/test_utils/configs", "test"), ]
def test_load_history(): config_loader = ConfigLoader( config_search_path=create_search_path(["hydra/test_utils/configs"]), strict_cfg=False, config_file="missing-optional-default.yaml", ) config_loader.load_configuration() assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/launcher/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("missing-optional-default.yaml", "hydra/test_utils/configs", "test"), ("foo/missing.yaml", None, None), ]
def test_non_config_group_default(): config_loader = ConfigLoader(config_search_path=create_search_path( ["hydra/test_utils/configs"]), ) config_loader.load_configuration( config_file="non_config_group_default.yaml", strict=False) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/launcher/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/help/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_help/default.yaml", "pkg://hydra.conf", "hydra"), ("non_config_group_default.yaml", "hydra/test_utils/configs", "test"), ("some_config.yaml", "hydra/test_utils/configs", "test"), ]
def test_load_history(self, path): config_loader = ConfigLoader( config_search_path=create_search_path([path])) config_loader.load_configuration( config_file="missing-optional-default.yaml", strict=False) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/launcher/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/help/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_help/default.yaml", "pkg://hydra.conf", "hydra"), ("missing-optional-default.yaml", path, "test"), ("foo/missing.yaml", None, None), ]
def test_load_history_with_basic_launcher(self, path): config_loader = ConfigLoader( config_search_path=create_search_path([path]), strict_cfg=False, config_file="custom_default_launcher.yaml", ) config_loader.load_configuration(overrides=["hydra/launcher=basic"]) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/launcher/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("custom_default_launcher.yaml", path, "test"), ]
def test_load_history_with_basic_launcher(): config_loader = ConfigLoader( config_search_path=create_search_path(["demos/6_sweep/conf"]), strict_cfg=False, config_file="config.yaml", ) config_loader.load_configuration(overrides=["hydra/launcher=basic"]) assert config_loader.get_load_history() == [ ("hydra.yaml", "pkg://hydra.conf", "hydra"), ("hydra/hydra_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/job_logging/default.yaml", "pkg://hydra.conf", "hydra"), ("hydra/launcher/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/sweeper/basic.yaml", "pkg://hydra.conf", "hydra"), ("hydra/output/default.yaml", "pkg://hydra.conf", "hydra"), ("config.yaml", "demos/6_sweep/conf", "test"), ("optimizer/nesterov.yaml", "demos/6_sweep/conf", "test"), ]