summaryrefslogtreecommitdiffstats
path: root/test/runner.rb
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-10-19 15:59:35 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-10-19 15:59:35 +0000
commitfa63897c6683d7e3db60b37fca787dc796a92676 (patch)
tree141311d22801550eaa92b07d19d7af9d7debda20 /test/runner.rb
parent8b494b468e0015cba12cb6f70c3f225fd7fc71fb (diff)
downloadruby-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 'test/runner.rb')
-rw-r--r--test/runner.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/test/runner.rb b/test/runner.rb
index c8a06e1dd..aa7a5f8ba 100644
--- a/test/runner.rb
+++ b/test/runner.rb
@@ -2,4 +2,24 @@ require 'rbconfig'
exit if CROSS_COMPILING
require 'test/unit'
-Test::Unit.setup_argv
+
+src_testdir = File.dirname(File.expand_path(__FILE__))
+srcdir = File.dirname(src_testdir)
+
+Test::Unit.setup_argv {|files|
+ if files.empty?
+ [src_testdir]
+ else
+ files.map {|f|
+ if File.exist? f
+ f
+ elsif File.exist? "#{src_testdir}/#{f}"
+ "#{src_testdir}/#{f}"
+ elsif File.exist? "#{srcdir}/#{f}"
+ "#{srcdir}/#{f}"
+ else
+ raise ArgumentError, "not found: #{f}"
+ end
+ }
+ end
+}