From 874224888489924c3674b2f9a7c3f1caeac47400 Mon Sep 17 00:00:00 2001 From: tenderlove Date: Wed, 14 Jul 2010 17:44:51 +0000 Subject: * lib/test/unit.rb (setup_argv): convert to using optparse, adding --help and -I. [ruby-core:30154] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/test/unit.rb | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'lib') diff --git a/lib/test/unit.rb b/lib/test/unit.rb index fd7fe06f43..4aecc49450 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -3,6 +3,7 @@ require 'minitest/unit' require 'test/unit/assertions' require 'test/unit/testcase' +require 'optparse' module Test module Unit @@ -13,19 +14,27 @@ module Test files = [] reject = [] original_argv = original_argv.dup - while arg = original_argv.shift - case arg - when '-v' - minitest_argv << arg - when /\A(-n)(.+)?/, /\A(--name)=?\b(.+)?/ - minitest_argv << $1 - minitest_argv << ($2 || original_argv.shift) - when /\A-x(.+)?/ - reject << ($1 || original_argv.shift) - else - files << arg + OptionParser.new do |parser| + parser.default_argv = original_argv + + parser.on '-v', '--verbose' do |v| + minitest_argv << '-v' if v end - end + + parser.on '-n', '--name TESTNAME' do |name| + minitest_argv << '-n' + minitest_argv << name + end + + parser.on '-x', '--exclude PATTERN' do |pattern| + reject << pattern + end + + parser.on '-Idirectory' do |dirs| + dirs.split(':').each { |d| $LOAD_PATH.unshift d } + end + end.parse! + files = original_argv if block_given? files = yield files -- cgit v1.2.3