aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_dependency.rb
diff options
context:
space:
mode:
authorMartin Afanasjew2015-12-15 10:50:38 +0100
committerMartin Afanasjew2015-12-17 13:50:38 +0100
commitea4d137e871ace8200743f237c48189e3b930da1 (patch)
treeb8c49cd42093a5e12f4b31ba34400f42cdf1f645 /Library/Homebrew/test/test_dependency.rb
parent0f9abe57ea819c63015103ed67de2ecd49398439 (diff)
downloadbrew-ea4d137e871ace8200743f237c48189e3b930da1.tar.bz2
dependency: fix merging tags in 'merge_repeats'
While it may suffice to merge string and non-reserved tags by forming a union of all tags of dependencies of the same name, this approach fails to work for the reserved tags. These are now merged such that the most restrictive tag (meaning sometimes an empty tag) is preserved. The previous behavior caused essential dependencies to be omitted and builds to fail in response. E.g., multiple `:fortran` dependencies with tags `[]`, `[:recommended]`, and `[:optional]` would have been expanded and merged to `"gcc"` with tags `[:recommended, :optional]`, causing it to be no longer seen as a required dependency. Closes Homebrew/homebrew#47040. Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Diffstat (limited to 'Library/Homebrew/test/test_dependency.rb')
-rw-r--r--Library/Homebrew/test/test_dependency.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/Library/Homebrew/test/test_dependency.rb b/Library/Homebrew/test/test_dependency.rb
index 4ba7033d9..16bad6507 100644
--- a/Library/Homebrew/test/test_dependency.rb
+++ b/Library/Homebrew/test/test_dependency.rb
@@ -48,7 +48,7 @@ class DependencyTests < Homebrew::TestCase
assert_equal Dependency, merged.first.class
foo_named_dep = merged.find {|d| d.name == "foo"}
- assert_equal [:build, "bar"], foo_named_dep.tags
+ assert_equal ["bar"], foo_named_dep.tags
assert_includes foo_named_dep.option_names, "foo"
assert_includes foo_named_dep.option_names, "foo2"