Bug #1085
closedGot the error message, after run 'gem install --test'.
Description
=begin
Hi, Ryan.
I use ruby 1.9.1p5000 (2009-01-31 trunk 21924) [i386-darwin9.6.0].
I got the error message, after I run 'gem install --test '.
ERROR: While executing gem ... (NoMethodError)
undefined method `passed?' for #MiniTest::Unit:0x77d1fc
The source of the problem is called MiniTest::Unit#passed? at
lib/rubygems/commands/install_command.rb:136.
The attached patch will fix the problem.
Index: unit.rb¶
--- unit.rb (revision 21924)
+++ unit.rb (working copy)
@@ -429,6 +429,10 @@
[@test_count, @assertion_count]
end
- def passed?
-
return (failures + errors) == 0
- end
- class TestCase
attr_reader :name
=end
Updated by ko1 (Koichi Sasada) almost 16 years ago
- Assignee set to zenspider (Ryan Davis)
- ruby -v set to 1.9.1p5000 (2009-01-31 trunk 21924) [i386-darwin9.6.0]
=begin
=end
Updated by zenspider (Ryan Davis) almost 16 years ago
=begin
On Feb 1, 2009, at 05:26 , Takao Kouji wrote:
Hi, Ryan.
I use ruby 1.9.1p5000 (2009-01-31 trunk 21924) [i386-darwin9.6.0].
I got the error message, after I run 'gem install --test '.ERROR: While executing gem ... (NoMethodError)
undefined method `passed?' for #MiniTest::Unit:0x77d1fcThe source of the problem is called MiniTest::Unit#passed? at
lib/rubygems/commands/install_command.rb:136.The attached patch will fix the problem.
Index: unit.rb¶
--- unit.rb (revision 21924)
+++ unit.rb (working copy)
@@ -429,6 +429,10 @@
[@test_count, @assertion_count]
end
- def passed?
return (failures + errors) == 0
- end
this is a rubygems issue that we'll fix on that side instead.
=end
Updated by naruse (Yui NARUSE) almost 15 years ago
- Category set to lib
- Status changed from Open to Assigned
- Assignee changed from zenspider (Ryan Davis) to drbrain (Eric Hodel)
- Priority changed from 3 to 6
- Target version set to 1.9.2
=begin
=end
Updated by drbrain (Eric Hodel) over 14 years ago
- Assignee changed from drbrain (Eric Hodel) to zenspider (Ryan Davis)
=begin
This is a minitest issue.
=end
Updated by mame (Yusuke Endoh) over 14 years ago
=begin
Hi, Eric Hodel
Couldn't you fix this on rubygems side?
I hope this will be fixed ASAP.
Well, he is pigheaded...
diff --git a/lib/rubygems/validator.rb b/lib/rubygems/validator.rb
index 38ee62f..26303df 100644
--- a/lib/rubygems/validator.rb
+++ b/lib/rubygems/validator.rb
@@ -234,6 +234,13 @@ class Gem::Validator
result = MiniTest::Unit.new
result.run
-
workaround for minitest¶
- class << result
-
def passed?
-
return (failures + errors) == 0
-
end
- end
- result
ensure
Dir.chdir(start_dir)
--
Yusuke Endoh mame@tsg.ne.jp
=end
Updated by drbrain (Eric Hodel) over 14 years ago
=begin
On Apr 13, 2010, at 10:11, Yusuke Endoh wrote:
Issue #1085 has been updated by Yusuke Endoh.
Hi, Eric Hodel
Couldn't you fix this on rubygems side?
I hope this will be fixed ASAP.
I think so. I will be dedicating time later this week to RubyGems and 1.9.2.
Well, he is pigheaded...
Maybe I can publicly shame him into fixing this correctly instead of via RubyGems:
17:15 me: hahaha
17:15 me: read ruby-core:29499
17:16 Ryan: hah
17:17 Ryan: Ryan Davis disconnected
=end
Updated by zenspider (Ryan Davis) over 14 years ago
=begin
On Apr 13, 2010, at 17:19 , Eric Hodel wrote:
On Apr 13, 2010, at 10:11, Yusuke Endoh wrote:
Issue #1085 has been updated by Yusuke Endoh.
Hi, Eric Hodel
Couldn't you fix this on rubygems side?
I hope this will be fixed ASAP.I think so. I will be dedicating time later this week to RubyGems and 1.9.2.
Well, he is pigheaded...
Maybe I can publicly shame him into fixing this correctly instead of via RubyGems:
17:15 me: hahaha
17:15 me: read ruby-core:29499
17:16 Ryan: hah
17:17 Ryan: Ryan Davis disconnected
All pigheadedness aside, why is it is a bug that rubygems doesn't work with minitest when it isn't a bug that it doesn't work with bacon, rspec, and every other test framework under the sun? Since ruby doesn't have a real standard project layout and a unified testing setup (like the way perl does), it isn't reasonable to expect that rubygems' "--test" flag be able to work with project and their tests/specs/stories/whatever-we-come-up-with-nexts.
=end
Updated by mame (Yusuke Endoh) over 14 years ago
=begin
Hi,
2010/4/19 Ryan Davis ryand-ruby@zenspider.com:
All pigheadedness aside, why is it is a bug that rubygems doesn't work with minitest when it isn't a bug that it doesn't work with bacon, rspec, and every other test framework under the sun? Since ruby doesn't have a real standard project layout and a unified testing setup (like the way perl does), it isn't reasonable to expect that rubygems' "--test" flag be able to work with project and their tests/specs/stories/whatever-we-come-up-with-nexts.
I guess that rubygems' "--test" flag was created in consideration of
test/unit. And actually, the old test/unit had provided "passed?"
before it was replaced with minitest.
I can understand you if test/unit compat layer of minitest provides
"passed?". If it does so, I think this is a fault of rubygems that
uses minitest but not test/unit.
--
Yusuke ENDOH mame@tsg.ne.jp
=end
Updated by drbrain (Eric Hodel) over 14 years ago
=begin
On Apr 19, 2010, at 10:54, Yusuke ENDOH wrote:
2010/4/19 Ryan Davis ryand-ruby@zenspider.com:
All pigheadedness aside, why is it is a bug that rubygems doesn't work with minitest when it isn't a bug that it doesn't work with bacon, rspec, and every other test framework under the sun? Since ruby doesn't have a real standard project layout and a unified testing setup (like the way perl does), it isn't reasonable to expect that rubygems' "--test" flag be able to work with project and their tests/specs/stories/whatever-we-come-up-with-nexts.
I guess that rubygems' "--test" flag was created in consideration of
test/unit. And actually, the old test/unit had provided "passed?"
before it was replaced with minitest.I can understand you if test/unit compat layer of minitest provides
"passed?". If it does so, I think this is a fault of rubygems that
uses minitest but not test/unit.
I think it would be better to remove --test from RubyGems since it can't work everywhere.
If the community finds it important they can implement it using a gem plugin. It is too hard for me to make RubyGems support every possible test library and it is too hard to get every possible test library to support a common API.
=end
Updated by mame (Yusuke Endoh) over 14 years ago
- Assignee changed from zenspider (Ryan Davis) to drbrain (Eric Hodel)
=begin
Hi,
I think it would be better to remove --test from RubyGems since it can't work everywhere.
You are the maintainer.
Maintainer should respect compatibility and opinions of others,
but can finally make decision, I think.
I think it is best for test/unit to provide passed? again, but
if it is impossible, removing --test is better than current.
Eric, please make decision.
--
Yusuke Endoh mame@tsg.ne.jp
=end
Updated by mame (Yusuke Endoh) over 14 years ago
Updated by luislavena (Luis Lavena) over 14 years ago
=begin
On Mon, May 10, 2010 at 11:40 AM, Yusuke Endoh redmine@ruby-lang.org wrote:
Issue #1085 has been updated by Yusuke Endoh.
Hi, Eric
Any update here?
AFAIk --test option has and will be deprecated in newer version of
RubyGems since every package uses different testing framework and
tools, turning the --test option useless.
Luis Lavena
AREA 17
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry
=end
Updated by mame (Yusuke Endoh) over 14 years ago
=begin
Hi, Eric
Any update here?
This is the second reminder for this ticket (though I send you
many reminders).
There is a Japanese proverb: Hotoke no kao mo sando made.
I'll close this ticket by committing this patch unless you show
your solution within three days:
diff --git a/lib/rubygems/install_update_options.rb b/lib/rubygems/install_update_options.rb
index c3fa2d5..4e7f9e7 100644
--- a/lib/rubygems/install_update_options.rb
+++ b/lib/rubygems/install_update_options.rb
@@ -59,8 +59,7 @@ module Gem::InstallUpdateOptions
end
add_option(:"Install/Update", '-t', '--[no-]test',
-
'Run unit tests prior to installation') do |value, options|
-
options[:test] = value
-
'Ignored; just for compatiblity') do |value, options|
end
add_option(:"Install/Update", '-w', '--[no-]wrappers',
@@ -110,7 +109,7 @@ module Gem::InstallUpdateOptionsDefault options for the gem install command.¶
def install_update_defaults_str
- '--rdoc --no-force --no-test --wrappers'
- '--rdoc --no-force --wrappers'
end
end
diff --git a/test/rubygems/test_gem_command_manager.rb b/test/rubygems/test_gem_command_manager.rb
index c81cc59..815798a 100644
--- a/test/rubygems/test_gem_command_manager.rb
+++ b/test/rubygems/test_gem_command_manager.rb
@@ -67,7 +67,6 @@ class TestGemCommandManager < RubyGemTestCase
check_options = nil
@command_manager.process_args(
"install --force --test --local --rdoc --install-dir . --version 3.0 --no-wrapper --bindir . ")
-
assert_equal true, check_options[:test] assert_equal true, check_options[:generate_rdoc] assert_equal true, check_options[:force] assert_equal :local, check_options[:domain]
@@ -197,7 +196,6 @@ class TestGemCommandManager < RubyGemTestCase
#check settings
check_options = nil
@command_manager.process_args("update --force --test --rdoc --install-dir .")
- assert_equal true, check_options[:test]
assert_equal true, check_options[:generate_rdoc]
assert_equal true, check_options[:force]
assert_equal Dir.pwd, check_options[:install_dir]
--
Yusuke Endoh mame@tsg.ne.jp
=end
Updated by drbrain (Eric Hodel) over 14 years ago
=begin
I like your patch. Please commit it.
=end
Updated by mame (Yusuke Endoh) over 14 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
=begin
This issue was solved with changeset r28279.
Kouji, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
=end