Bug #617

rubygems depend on test/unit/ui/console/testrunner

Added by Yusuke Endoh over 3 years ago. Updated 10 months ago.

[ruby-core:19168]
Status:Closed Start date:
Priority:High Due date:
Assignee:Eric Hodel % Done:

0%

Category:lib
Target version:1.9.1 Release Candidate
ruby -v:

Description

Hi,

Executing gem with --test may fail because of requiring
test/unit/ui/console/testrunner.


$ gem19 install ramaze --test
============================================================

Thank you for installing Ramaze!
You can now do following:

* Create a new project using the `ramaze' command:
    ramaze --create yourproject

============================================================
Successfully installed ramaze-2008.06
1 gem installed
Installing ri documentation for ramaze-2008.06...
Updating class cache with 1175 classes...
Installing RDoc documentation for ramaze-2008.06...
Gem::SourceIndex#search support for String patterns is deprecated
/home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/commands/install_command.rb:134:in
`block in execute' is outdated
There are no unit tests to run for ramaze-2008.06
/home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/validator.rb:161:in
`require': no such file to load -- test/unit/ui/console/testrunner
(LoadError)
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/validator.rb:161:in
`unit_test'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/commands/install_command.rb:135:in
`block in execute'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/commands/install_command.rb:133:in
`each'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/commands/install_command.rb:133:in
`execute'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/command.rb:136:in
`invoke'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/command_manager.rb:105:in
`process_args'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/command_manager.rb:75:in
`run'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/gem_runner.rb:39:in
`run'
        from /home/mame/local/bin/gem19:24:in `<main>'

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

History

Updated by Ryan Davis over 3 years ago

On Oct 7, 2008, at 07:43 , Yusuke ENDOH wrote:

> Executing gem with --test may fail because of requiring
> test/unit/ui/console/testrunner.

I'll get Eric to fix this today.

Updated by Eric Hodel over 3 years ago

On Oct 7, 2008, at 07:43 AM, Yusuke ENDOH wrote:

> Executing gem with --test may fail because of requiring
> test/unit/ui/console/testrunner.

Is it also ok if I check in some windows RubyGems fixes at the same  
time?

Updated by Yusuke Endoh over 3 years ago

Hi,

2008/10/8 Eric Hodel <drbrain@segment7.net>:
> On Oct 7, 2008, at 07:43 AM, Yusuke ENDOH wrote:
>
>> Executing gem with --test may fail because of requiring
>> test/unit/ui/console/testrunner.
>
> Is it also ok if I check in some windows RubyGems fixes at the same time?

I think Yugui or Matz has a duty to reply to this :-(


By the way, the original problem which I reported disappeared currently
since test/unit was recovered.  But I still doubt the behavior of gem when
`gem install' is executed with --test and the package has no unit tests.

The current behavior is:

  - require 'test/unit/ui/console/testrunner'
    (at unit_test in lib/rubygems/validator.rb)

  - check the return value of TestResult#passed?
    (at execute in lib/rubygems/commands/install_command.rb).

But test/unit executes its tests in at_exit.  No tests are executed yet
when passed? is called, and the call always returns true.  So I think that
the check for passed? is meaningless.  Is it intended?


Here is the current result of `gem install ramaze --test'.  test/unit
seems to receive ARGV which I passed to gem.  The last exception `$! is a
read-only variable' is another problem which I have already reported at
[ruby-dev:36712].


$ gem19 install ramaze --test
============================================================

Thank you for installing Ramaze!
You can now do following:

* Create a new project using the `ramaze' command:
    ramaze --create yourproject

============================================================
Successfully installed ramaze-2008.06
1 gem installed
Installing ri documentation for ramaze-2008.06...
Updating class cache with 1878 classes...
Installing RDoc documentation for ramaze-2008.06...
Gem::SourceIndex#search support for String patterns is deprecated
/home/mame/work/ruby19/local/lib/ruby/1.9.0/rubygems/commands/install_command.rb:134:in
`block in execute' is outdated
There are no unit tests to run for ramaze-2008.06
missing argument: --test
Test::Unit automatic runner.
Usage: /home/mame/local/bin/gem19 [options] [-- untouched arguments]

    -r, --runner=RUNNER              Use the given RUNNER.
                                     (c[onsole], f[ox], g[tk], g[tk]2, t[k])
    -n, --name=NAME                  Runs tests matching NAME.
                                     (patterns may be used).
    -t, --testcase=TESTCASE          Runs tests in TestCases matching TESTCASE.
                                     (patterns may be used).
    -I, --load-path=DIR[:DIR...]     Appends directory list to $LOAD_PATH.
    -v, --verbose=[LEVEL]            Set the output level (default is verbose).
                                     (s[ilent], p[rogress], n[ormal], v[erbose])
        --                           Stop processing options so that the
                                     remaining options will be passed to the
                                     test.
    -h, --help                       Display this help.

Deprecated options:
        --console                    Console runner (use --runner).
        --gtk                        GTK runner (use --runner).
        --fox                        Fox runner (use --runner).

/home/mame/work/ruby19/local/lib/ruby/1.9.0/test/unit/autorunner.rb:91:in
`rescue in process_args': $! is a read-only variable (NameError)
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/test/unit/autorunner.rb:86:in
`process_args'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/test/unit/autorunner.rb:11:in
`run'
        from /home/mame/work/ruby19/local/lib/ruby/1.9.0/test/unit.rb:278:in
`block in <top (required)>'

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

Updated by Yuki Sonoda over 3 years ago

Eric Hodel wrote:
> Is it also ok if I check in some windows RubyGems fixes at the same time?

What are the fixes?

-- 
Yugui <yugui@yugui.jp>
http://yugui.jp

Updated by Yusuke Endoh over 3 years ago

  • Priority changed from Low to Normal

Updated by Eric Hodel over 3 years ago

On Oct 13, 2008, at 06:09 AM, Yugui (Yuki Sonoda) wrote:
> Eric Hodel wrote:
>> Is it also ok if I check in some windows RubyGems fixes at the same  
>> time?
>
> What are the fixes?


Most important:
RubyGems now works on windows platforms (which don't have  
File::Stat#uid).

Also:
gem_prelude.rb now works with defaults.rb properly
Gem.inflate, deflate, etc. now require 'zlib' properly (on use)
A bogus PATH warning is removed for `gem unpack'

Updated by Yuki Sonoda over 3 years ago

Eric Hodel wrote:
>> What are the fixes?
> 
> 
> Most important:
> RubyGems now works on windows platforms (which don't have File::Stat#uid).
> 
> Also:
> gem_prelude.rb now works with defaults.rb properly
> Gem.inflate, deflate, etc. now require 'zlib' properly (on use)
> A bogus PATH warning is removed for `gem unpack'
> 

OK. commit them.


-- 
Yugui <yugui@yugui.jp>
http://yugui.jp

Updated by Koichi Sasada about 3 years ago

  • Assignee set to Eric Hodel

Updated by Yuki Sonoda about 3 years ago

  • Category set to lib
  • Priority changed from Normal to High
  • Target version set to 1.9.1 Release Candidate
Does this issue still reproduce?

Updated by Eric Hodel about 3 years ago

  • Status changed from Open to Closed
gem19 install --test appears to work now:

$ gem19 install ZenTest --test
[...]
Successfully installed ZenTest-3.11.0
1 gem installed
Installing ri documentation for ZenTest-3.11.0...
Installing RDoc documentation for ZenTest-3.11.0...
[...]
Loaded suite /usr/local/bin/gem19
Started
...................................................................................
Finished in 0.166171 seconds.

83 tests, 212 assertions, 0 failures, 0 errors, 0 skips
/Users/drbrain/.gem/ruby/1.9.1/gems/ZenTest-3.11.0/test/test_zentest.rb: /Users/drbrain/.gem/ruby/1.9.1/gems/ZenTest-3.11.0/test/test_zentest.rb:5: Invalid return (SyntaxError)
$

Also available in: Atom PDF