Project

General

Profile

Actions

Bug #821

closed

uninitialized constant Test::Unit::AutoRunner

Added by ngoto (Naohisa Goto) over 15 years ago. Updated almost 13 years ago.

Status:
Rejected
Target version:
ruby -v:
ruby 1.9.2dev (2009-10-19 trunk 25399) [x86_64-freebsd7.2]
Backport:
[ruby-dev:37275]

Description

=begin
require 'test/unit'
Test::Unit::AutoRunner.run(true, './somedir')

(注: ./somedir 以下にはテストが書かれたスクリプトが多数ある状態)
を実行すると、テストを1件も実行せず、以下のエラーが出ます。

Loaded suite test/runner
Started

Finished in 0.000528 seconds.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
runner.rb:2:in `': uninitialized constant Test::Unit::AutoRunner (NameError)

% ruby -v
ruby 1.9.1 (2008-12-01 revision 20438) [i686-linux]

Ruby 1.8.7では正常にテストが実行されます。
% ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

[ruby-core:18891]と関係があるかもしれません。
=end

Actions #1

Updated by ko1 (Koichi Sasada) over 15 years ago

  • Assignee set to matz (Yukihiro Matsumoto)

=begin

=end

Actions #2

Updated by ngoto (Naohisa Goto) over 15 years ago

=begin
On Tue, 9 Dec 2008 14:57:36 +0900
Tanaka Akira wrote:

1.9 の test/unit は 1.8 の test/unit ではなく、minitest のラッ
パーで、現在 Test::Unit::AutoRunner はありません。

なぜ Test::Unit::AutoRunner が必要なんでしょう?

1.8で動いていたスクリプトを最小の手間で1.9対応に移行するためです。
そして、可能な限り同じコードで1.8と1.9の両方で動くようにしたいです。

自作のプログラムを1.9に対応させようとする場合、まずはテストを実行して
failureやエラーが出た場所を修正するという手順を踏むことが多いだろう
と推測しますが、Test::Unit::AutoRunnerが廃止されてしまうと、
Test::Unit::AutoRunnerをテストに使用しているソフトの場合は、
いきなりテストが1個も実行されない状態になって途方に暮れる気がします。

もっとも、Test::Unit::AutoRunnerは1.8.2以前と1.8.3以降で
第一引数の意味が真逆になってしまったので、そこまで考えると、
どのみちRUBY_VERSIONで判別して分岐する必要があるため、
1.9で同程度の機能が別クラス/別メソッドで提供されるのなら、
そちらを使うように変更すればOKかもしれません。とはいえ、
同等機能があるなら、何らかのラッパを提供して欲しいとは思います。

--
後藤 直久

=end

Actions #3

Updated by yugui (Yuki Sonoda) over 15 years ago

  • Target version changed from 1.9.1 Release Candidate to 2.0.0

=begin
@ Ruby開発会議にて

  • このケースでしたら、testrbを使ってください。
  • 1.9では、gem化された古いバージョンのtest/unitもあります。
  • 1.9.1はfeature freezeされているので、それ以外のユースケースでAutoRunnerが必要かどうかについては1.9.2以降を念頭に検討します。ユースケースの提供は歓迎します。
    =end
Actions #4

Updated by naruse (Yui NARUSE) over 14 years ago

  • Status changed from Open to Feedback
  • ruby -v set to ruby 1.9.2dev (2009-10-19 trunk 25399) [x86_64-freebsd7.2]

=begin
これは close しちゃっていいですか?
1.9.2 で AutoRunner が欲しい方はユースケースとともに異議を唱えてください
=end

Actions #5

Updated by ngoto (Naohisa Goto) over 14 years ago

=begin
ユースケースとはちょっと違うかもしれませんが、
setup.rb (http://www.loveruby.net/ja//projects/setup/ ) が
% ruby setup.rb test
にてテストを実行する際に AutoRunner を使用している、というのはあります。
ただし、そもそも setup.rb が Ruby 1.9.2 で正常に動くかどうかは未確認です。

私自身は、gem をインストール、rake test に移行、など代替手段はあるので、
AutoRunner が無いのが Ruby 1.9.x の仕様ということなら異議はありません。
=end

Actions #6

Updated by mame (Yusuke Endoh) almost 14 years ago

  • Status changed from Feedback to Rejected

=begin
遠藤です。

起票者の後藤さんが納得しているようなので、1.9.x の仕様として
close します。非常に遺憾ですが。

標準添付ライブラリの切り替えには注意しようという教訓ですね。
自称「互換」を手放しで信用するなとか。

--
Yusuke Endoh
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0