aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authortenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-14 17:44:51 +0000
committertenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-14 17:44:51 +0000
commit874224888489924c3674b2f9a7c3f1caeac47400 (patch)
tree047966d171adfcb358e131706d7a3191df18fd8a /lib
parent853c7211272aa377bb34bb19981e6666427dcc52 (diff)
downloadruby-874224888489924c3674b2f9a7c3f1caeac47400.tar.gz
* 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
Diffstat (limited to 'lib')
-rw-r--r--lib/test/unit.rb33
1 files changed, 21 insertions, 12 deletions
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