aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-17 21:03:49 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-17 21:03:49 +0000
commit4fa08bbaf8f2c029f6df7f7ab85293cd31874b15 (patch)
treedce42da415b127628c0410f0ab9231c53f6e89bb
parentef761f08881ce882cbd175b4aba1329678b30ea2 (diff)
downloadruby-4fa08bbaf8f2c029f6df7f7ab85293cd31874b15.tar.gz
* lib/rubygems: Update to RubyGems master f738c67. Changes:
Fixed test bug for ruby with ENABLE_SHARED = no * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--lib/rubygems.rb12
-rw-r--r--lib/rubygems/basic_specification.rb11
-rw-r--r--test/rubygems/test_gem.rb18
-rw-r--r--test/rubygems/test_gem_specification.rb24
5 files changed, 46 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 4de9538603..5900512d6a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Oct 18 06:02:49 2013 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rubygems: Update to RubyGems master f738c67. Changes:
+
+ Fixed test bug for ruby with ENABLE_SHARED = no
+
+ * test/rubygems: ditto.
+
Fri Oct 18 00:57:07 2013 Tanaka Akira <akr@fsij.org>
* lib/tsort.rb (TSort.tsort): Extracted from TSort#tsort.
diff --git a/lib/rubygems.rb b/lib/rubygems.rb
index 7ad35c0c4c..1c84356bd7 100644
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
@@ -439,6 +439,18 @@ module Gem
end
##
+ # The extension API version of ruby. This includes the static vs non-static
+ # distinction as extensions cannot be shared between the two.
+
+ def self.extension_api_version # :nodoc:
+ if 'no' == RbConfig::CONFIG['ENABLE_SHARED'] then
+ "#{ruby_api_version}-static"
+ else
+ ruby_api_version
+ end
+ end
+
+ ##
# Returns a list of paths matching +glob+ that can be used by a gem to pick
# up features from other gems. For example:
#
diff --git a/lib/rubygems/basic_specification.rb b/lib/rubygems/basic_specification.rb
index 5afa7ee14c..7f738155c9 100644
--- a/lib/rubygems/basic_specification.rb
+++ b/lib/rubygems/basic_specification.rb
@@ -63,15 +63,8 @@ class Gem::BasicSpecification
# end
def extension_install_dir
- ruby_api_version =
- if 'no' == RbConfig::CONFIG['ENABLE_SHARED'] then
- "#{Gem.ruby_api_version}-static"
- else
- Gem.ruby_api_version
- end
-
File.join base_dir, 'extensions', Gem::Platform.local.to_s,
- ruby_api_version, full_name
+ Gem.extension_api_version, full_name
end
def find_full_gem_path # :nodoc:
@@ -184,7 +177,7 @@ class Gem::BasicSpecification
relative_extension_install_dir =
File.join '..', '..', '..', 'extensions', Gem::Platform.local.to_s,
- Gem.ruby_api_version, full_name
+ Gem.extension_api_version, full_name
@require_paths + [relative_extension_install_dir]
end
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
index a320d54884..88d0b1c432 100644
--- a/test/rubygems/test_gem.rb
+++ b/test/rubygems/test_gem.rb
@@ -338,6 +338,24 @@ class TestGem < Gem::TestCase
end
end
+ def test_self_extension_install_dir_shared
+ enable_shared, RbConfig::CONFIG['ENABLE_SHARED'] =
+ RbConfig::CONFIG['ENABLE_SHARED'], 'yes'
+
+ assert_equal Gem.ruby_api_version, Gem.extension_api_version
+ ensure
+ RbConfig::CONFIG['ENABLE_SHARED'] = enable_shared
+ end
+
+ def test_self_extension_install_dir_static
+ enable_shared, RbConfig::CONFIG['ENABLE_SHARED'] =
+ RbConfig::CONFIG['ENABLE_SHARED'], 'no'
+
+ assert_equal "#{Gem.ruby_api_version}-static", Gem.extension_api_version
+ ensure
+ RbConfig::CONFIG['ENABLE_SHARED'] = enable_shared
+ end
+
def test_self_find_files
cwd = File.expand_path("test/rubygems", @@project_dir)
$LOAD_PATH.unshift cwd
diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb
index 8efae025e7..5f7c64dd9d 100644
--- a/test/rubygems/test_gem_specification.rb
+++ b/test/rubygems/test_gem_specification.rb
@@ -1366,24 +1366,7 @@ dependencies: []
assert_equal ['ext/extconf.rb'], ext_spec.extensions
end
- def test_extension_install_dir_shared
- enable_shared, RbConfig::CONFIG['ENABLE_SHARED'] =
- RbConfig::CONFIG['ENABLE_SHARED'], 'yes'
-
- ext_spec
-
- refute_empty @ext.extensions
-
- expected =
- File.join(@ext.base_dir, 'extensions', Gem::Platform.local.to_s,
- Gem.ruby_api_version,@ext.full_name)
-
- assert_equal expected, @ext.extension_install_dir
- ensure
- RbConfig::CONFIG['ENABLE_SHARED'] = enable_shared
- end
-
- def test_extension_install_dir_static
+ def test_extension_install_dir
enable_shared, RbConfig::CONFIG['ENABLE_SHARED'] =
RbConfig::CONFIG['ENABLE_SHARED'], 'no'
@@ -1667,6 +1650,9 @@ dependencies: []
end
def test_require_paths
+ enable_shared, RbConfig::CONFIG['ENABLE_SHARED'] =
+ RbConfig::CONFIG['ENABLE_SHARED'], 'no'
+
ext_spec
@ext.require_path = 'lib'
@@ -1677,6 +1663,8 @@ dependencies: []
Pathname(@ext.extension_install_dir).relative_path_from lib
assert_equal ['lib', ext_install_dir.to_s], @ext.require_paths
+ ensure
+ RbConfig::CONFIG['ENABLE_SHARED'] = enable_shared
end
def test_full_require_paths