diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-19 15:59:35 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-19 15:59:35 +0000 |
commit | fa63897c6683d7e3db60b37fca787dc796a92676 (patch) | |
tree | 141311d22801550eaa92b07d19d7af9d7debda20 /lib/test/unit.rb | |
parent | 8b494b468e0015cba12cb6f70c3f225fd7fc71fb (diff) | |
download | ruby-fa63897c6683d7e3db60b37fca787dc796a92676.tar.gz ruby-fa63897c6683d7e3db60b37fca787dc796a92676.tar.xz ruby-fa63897c6683d7e3db60b37fca787dc796a92676.zip |
* lib/test/unit.rb (Test::Unit.setup_argv): call given block for
filtering files.
* test/runner.rb: search srcdir/test/arg, srcdir/arg.
* bin/testrb: show usage if no files given.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/test/unit.rb')
-rw-r--r-- | lib/test/unit.rb | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/lib/test/unit.rb b/lib/test/unit.rb index b96676679..0674ad4bf 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -8,35 +8,39 @@ module Test TEST_UNIT_IMPLEMENTATION = 'test/unit compatibility layer using minitest' def self.setup_argv(original_argv=ARGV) - argv = [] - files = nil + minitest_argv = [] + files = [] reject = [] original_argv = original_argv.dup while arg = original_argv.shift case arg when '-v' - argv << '-v' + minitest_argv << '-v' when '-n', '--name' - argv << arg - argv << original_argv.shift + minitest_argv << arg + minitest_argv << original_argv.shift when '-x' reject << original_argv.shift else - files ||= [] - if File.directory? arg - files.concat Dir["#{arg}/**/test_*.rb"] - elsif File.file? arg - files << arg - else - raise ArgumentError, "file not found: #{arg}" - end + files << arg end end - if files == nil - files = Dir["test/**/test_*.rb"] + if block_given? + files = yield files end + files.map! {|f| + if File.directory? f + Dir["#{f}/**/test_*.rb"] + elsif File.file? f + f + else + raise ArgumentError, "file not found: #{f}" + end + } + files.flatten! + reject_pat = Regexp.union(reject.map {|r| /#{r}/ }) files.reject! {|f| reject_pat =~ f } @@ -52,9 +56,7 @@ module Test end } - argv.concat files - - ARGV.replace argv + ARGV.replace minitest_argv end module Assertions |