diff options
| author | Jack Nagel | 2014-07-16 21:11:48 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-07-16 21:11:48 -0500 |
| commit | ecc5bbc50dde4a3043e9a2b499935cb772f5b1b8 (patch) | |
| tree | f05019b6a94fad7ea7e79d39b313c6fcf47035a9 /Library | |
| parent | bd8b510b174f92f5d268897094cabf003ca57ef7 (diff) | |
| download | homebrew-ecc5bbc50dde4a3043e9a2b499935cb772f5b1b8.tar.bz2 | |
Don't raise when converting the tag to a version fails
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/bottles.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_bottle_collector.rb | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Library/Homebrew/bottles.rb b/Library/Homebrew/bottles.rb index cc29c54fd..0f5d36963 100644 --- a/Library/Homebrew/bottles.rb +++ b/Library/Homebrew/bottles.rb @@ -114,10 +114,16 @@ class BottleCollector # so the same bottle can target multiple OSs. # Not used in core, used in taps. def find_or_later_tag(tag) + begin + tag_version = MacOS::Version.from_symbol(tag) + rescue ArgumentError + return + end + keys.find do |key| if key.to_s.end_with?("_or_later") later_tag = key.to_s[/(\w+)_or_later$/, 1].to_sym - MacOS::Version.from_symbol(later_tag) <= MacOS::Version.from_symbol(tag) + MacOS::Version.from_symbol(later_tag) <= tag_version end end end diff --git a/Library/Homebrew/test/test_bottle_collector.rb b/Library/Homebrew/test/test_bottle_collector.rb index 7a597404c..34efe3efd 100644 --- a/Library/Homebrew/test/test_bottle_collector.rb +++ b/Library/Homebrew/test/test_bottle_collector.rb @@ -20,6 +20,16 @@ class BottleCollectorTests < Homebrew::TestCase assert_nil checksum_for(:foo) end + def test_collector_returns_nil_for_no_match + @collector[:lion] = "foo" + assert_nil checksum_for(:foo) + end + + def test_collector_returns_nil_for_no_match_when_later_tag_present + @collector[:lion_or_later] = "foo" + assert_nil checksum_for(:foo) + end + def test_collector_finds_or_later_tags @collector[:lion_or_later] = "foo" assert_equal ['foo', :lion_or_later], checksum_for(:mountain_lion) |
