Skip to content

Commit

Permalink
closes facebookresearch#1784: disambiguate get_override_key treatment…
Browse files Browse the repository at this point in the history
… of global
  • Loading branch information
Jasha10 committed Aug 25, 2021
1 parent e3ba7cc commit d61edcc
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 3 deletions.
4 changes: 3 additions & 1 deletion hydra/core/default_element.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,9 @@ def get_override_key(self) -> str:
default_pkg = self.get_default_package()
final_pkg = self.get_final_package(default_to_package_header=False)
key = self.get_group_path()
if default_pkg != final_pkg and final_pkg != "":
if default_pkg != final_pkg:
if final_pkg == "":
final_pkg = "_global_"
key = f"{key}@{final_pkg}"
return key

Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
defaults:
- override /group1@_global_: file2
- override /group1@_global_.group1: file2
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
defaults:
- override /group1@_global_: file2
2 changes: 2 additions & 0 deletions tests/defaults_list/data/group_default_at_global.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
defaults:
- group1@_global_: file1
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
defaults:
- group1: file1
- group1@_global_: file2
2 changes: 1 addition & 1 deletion tests/defaults_list/test_defaults_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ def test_group_default_pkg1(
),
param(
"include_nested_group_global_",
["group1/group2=file2"],
["group1/group2@_global_=file2"],
[
ResultDefault(
config_path="group1/group2/file2",
Expand Down
28 changes: 28 additions & 0 deletions tests/defaults_list/test_defaults_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -682,6 +682,19 @@ def test_override_option_from_defaults_list(
),
id="two_group_defaults_different_pkgs:override_second",
),
param(
"two_group_defaults_different_pkgs_global",
[],
DefaultsTreeNode(
node=ConfigDefault(path="two_group_defaults_different_pkgs_global"),
children=[
GroupDefault(group="group1", value="file1"),
GroupDefault(group="group1", value="file2", package="_global_"),
ConfigDefault(path="_self_"),
],
),
id="two_group_defaults_different_pkgs_global",
),
],
)
def test_two_group_defaults_different_pkgs(
Expand Down Expand Up @@ -1133,6 +1146,21 @@ def test_experiment_overriding_hydra_group(
),
id="include_absolute_config:override_with_global_default",
),
param(
"group_default_at_global",
["+experiment=override_with_global_default2"],
DefaultsTreeNode(
node=ConfigDefault(path="group_default_at_global"),
children=[
GroupDefault(group="group1", value="file2", package="_global_"),
ConfigDefault(path="_self_"),
GroupDefault(
group="experiment", value="override_with_global_default2"
),
],
),
id="include_absolute_config:override_with_global_default2",
),
],
)
def test_experiment_overriding_global_group(
Expand Down

0 comments on commit d61edcc

Please sign in to comment.