Skip to content

Commit f087f1b

Browse files
committed
fix platform matching for index specs
1 parent a121616 commit f087f1b

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

lib/rubygems/resolver/index_specification.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ def initialize(set, name, version, source, platform)
2121
@name = name
2222
@version = version
2323
@source = source
24-
@platform = platform.to_s
24+
@platform = Gem::Platform.new(platform.to_s)
25+
@original_platform = platform.to_s
2526

2627
@spec = nil
2728
end
@@ -91,7 +92,7 @@ def pretty_print(q) # :nodoc:
9192
def spec # :nodoc:
9293
@spec ||=
9394
begin
94-
tuple = Gem::NameTuple.new @name, @version, @platform
95+
tuple = Gem::NameTuple.new @name, @version, @original_platform
9596

9697
@source.fetch_spec tuple
9798
end

test/rubygems/test_gem_resolver_index_specification.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def test_initialize_platform
2626
spec = Gem::Resolver::IndexSpecification.new(
2727
set, "rails", version, source, Gem::Platform.local)
2828

29-
assert_equal Gem::Platform.local.to_s, spec.platform
29+
assert_equal Gem::Platform.local, spec.platform
3030
end
3131

3232
def test_install

test/rubygems/test_gem_resolver_installer_set.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@ def test_add_always_install_platform
5151
assert_equal %w[a-1], set.always_install.map {|s| s.full_name }
5252
end
5353

54+
def test_add_always_install_index_spec_platform
55+
a_1_local, a_1_local_gem = util_gem "a", 1 do |s|
56+
s.platform = Gem::Platform.local
57+
end
58+
59+
FileUtils.mv a_1_local_gem, @tempdir
60+
61+
set = Gem::Resolver::InstallerSet.new :both
62+
set.add_always_install dep("a")
63+
64+
assert_equal [Gem::Platform.local], set.always_install.map {|s| s.platform }
65+
end
66+
5467
def test_add_always_install_prerelease
5568
spec_fetcher do |fetcher|
5669
fetcher.gem "a", 1

0 commit comments

Comments
 (0)