summaryrefslogtreecommitdiff
path: root/test/rubygems
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-07 21:27:16 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-07 21:27:16 +0000
commit2b322524cdd0a5b6767eb72422cacc04b71902f2 (patch)
treedaf4c7bfef89cecedf5ae4ce4eb124a620697b4a /test/rubygems
parentc9331864f847a78550da88a780a5981bd283a6c7 (diff)
* gem_prelude.rb: load full rubygems at LoadError for activation
check. [ruby-core:29486] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems')
-rw-r--r--test/rubygems/gems/current/gems/rubygems-bug-child-1.0/lib/rubygems-bug-child.rb1
-rw-r--r--test/rubygems/gems/current/gems/rubygems-bug-child-1.1/lib/rubygems-bug-child.rb1
-rw-r--r--test/rubygems/gems/current/gems/rubygems-bug-parent-1.0/lib/rubygems-bug-parent.rb1
-rw-r--r--test/rubygems/gems/current/specifications/rubygems-bug-child-1.0.gemspec29
-rw-r--r--test/rubygems/gems/current/specifications/rubygems-bug-child-1.1.gemspec29
-rw-r--r--test/rubygems/gems/current/specifications/rubygems-bug-parent-1.0.gemspec32
-rw-r--r--test/rubygems/test_gem_activation.rb20
7 files changed, 113 insertions, 0 deletions
diff --git a/test/rubygems/gems/current/gems/rubygems-bug-child-1.0/lib/rubygems-bug-child.rb b/test/rubygems/gems/current/gems/rubygems-bug-child-1.0/lib/rubygems-bug-child.rb
new file mode 100644
index 0000000000..4544e24d99
--- /dev/null
+++ b/test/rubygems/gems/current/gems/rubygems-bug-child-1.0/lib/rubygems-bug-child.rb
@@ -0,0 +1 @@
+$bug_3140 = "1.0"
diff --git a/test/rubygems/gems/current/gems/rubygems-bug-child-1.1/lib/rubygems-bug-child.rb b/test/rubygems/gems/current/gems/rubygems-bug-child-1.1/lib/rubygems-bug-child.rb
new file mode 100644
index 0000000000..92edd5f91c
--- /dev/null
+++ b/test/rubygems/gems/current/gems/rubygems-bug-child-1.1/lib/rubygems-bug-child.rb
@@ -0,0 +1 @@
+$bug_3140 = "1.1"
diff --git a/test/rubygems/gems/current/gems/rubygems-bug-parent-1.0/lib/rubygems-bug-parent.rb b/test/rubygems/gems/current/gems/rubygems-bug-parent-1.0/lib/rubygems-bug-parent.rb
new file mode 100644
index 0000000000..2a8eaba1f6
--- /dev/null
+++ b/test/rubygems/gems/current/gems/rubygems-bug-parent-1.0/lib/rubygems-bug-parent.rb
@@ -0,0 +1 @@
+require "rubygems-bug-child"
diff --git a/test/rubygems/gems/current/specifications/rubygems-bug-child-1.0.gemspec b/test/rubygems/gems/current/specifications/rubygems-bug-child-1.0.gemspec
new file mode 100644
index 0000000000..4dc6cfdb31
--- /dev/null
+++ b/test/rubygems/gems/current/specifications/rubygems-bug-child-1.0.gemspec
@@ -0,0 +1,29 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = %q{rubygems-bug-child}
+ s.version = "1.0"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Yehuda Katz"]
+ s.date = %q{2010-04-12}
+ s.description = %q{Demonstrates a rubygems bug that exists in 1.9 because of gem prelude but not 1.8}
+ s.email = %q{wycats@gmail.com}
+ s.files = ["lib/rubygems-bug-child.rb"]
+ s.homepage = %q{http://www.yehudakatz.com}
+ s.require_paths = ["lib"]
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
+ s.rubyforge_project = %q{rubygems-bug}
+ s.rubygems_version = %q{1.3.6}
+ s.summary = %q{Demonstrates a rubygems bug}
+
+ if s.respond_to? :specification_version then
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/test/rubygems/gems/current/specifications/rubygems-bug-child-1.1.gemspec b/test/rubygems/gems/current/specifications/rubygems-bug-child-1.1.gemspec
new file mode 100644
index 0000000000..6428ee04c8
--- /dev/null
+++ b/test/rubygems/gems/current/specifications/rubygems-bug-child-1.1.gemspec
@@ -0,0 +1,29 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = %q{rubygems-bug-child}
+ s.version = "1.1"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Yehuda Katz"]
+ s.date = %q{2010-04-12}
+ s.description = %q{Demonstrates a rubygems bug that exists in 1.9 because of gem prelude but not 1.8}
+ s.email = %q{wycats@gmail.com}
+ s.files = ["lib/rubygems-bug-child.rb"]
+ s.homepage = %q{http://www.yehudakatz.com}
+ s.require_paths = ["lib"]
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
+ s.rubyforge_project = %q{rubygems-bug}
+ s.rubygems_version = %q{1.3.6}
+ s.summary = %q{Demonstrates a rubygems bug}
+
+ if s.respond_to? :specification_version then
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
diff --git a/test/rubygems/gems/current/specifications/rubygems-bug-parent-1.0.gemspec b/test/rubygems/gems/current/specifications/rubygems-bug-parent-1.0.gemspec
new file mode 100644
index 0000000000..0f714c0624
--- /dev/null
+++ b/test/rubygems/gems/current/specifications/rubygems-bug-parent-1.0.gemspec
@@ -0,0 +1,32 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = %q{rubygems-bug-parent}
+ s.version = "1.0"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Yehuda Katz"]
+ s.date = %q{2010-04-12}
+ s.description = %q{Demonstrates a rubygems bug that exists in 1.9 because of gem prelude but not 1.8}
+ s.email = %q{wycats@gmail.com}
+ s.files = ["lib/rubygems-bug-parent.rb"]
+ s.homepage = %q{http://www.yehudakatz.com}
+ s.require_paths = ["lib"]
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
+ s.rubyforge_project = %q{rubygems-bug}
+ s.rubygems_version = %q{1.3.6}
+ s.summary = %q{Demonstrates a rubygems bug}
+
+ if s.respond_to? :specification_version then
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
+ s.add_runtime_dependency(%q<rubygems-bug-child>, ["= 1.0.0"])
+ else
+ s.add_dependency(%q<rubygems-bug-child>, ["= 1.0.0"])
+ end
+ else
+ s.add_dependency(%q<rubygems-bug-child>, ["= 1.0.0"])
+ end
+end
diff --git a/test/rubygems/test_gem_activation.rb b/test/rubygems/test_gem_activation.rb
new file mode 100644
index 0000000000..d39f9b3c59
--- /dev/null
+++ b/test/rubygems/test_gem_activation.rb
@@ -0,0 +1,20 @@
+require_relative '../ruby/envutil'
+require 'test/unit'
+
+class TestGemActivation < Test::Unit::TestCase
+ def test_activation
+ bug3140 = '[ruby-core:29486]'
+ src = %{begin
+ require 'rubygems-bug-parent'
+rescue Gem::LoadError
+ puts $!
+else
+ puts $bug_3140
+end}
+ basedir = File.expand_path("../gems/current", __FILE__)
+ env = {"HOME"=>basedir, "GEM_HOME"=>basedir, "GEM_PATH"=>basedir}
+ assert_in_out_err([env, "-rrubygems-bug-child", "-e", src], "",
+ /can't activate rubygems-bug-child.*already activated rubygems-bug-child-1\.1/, [],
+ $bug_3140)
+ end
+end if defined?(::Gem)