summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rwxr-xr-xbin/testrb9
-rw-r--r--lib/test/unit.rb7
3 files changed, 17 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f91ecd00c..4db5564153 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sat Nov 3 17:55:07 2012 Kouhei Sutou <kou@cozmixng.org>
+
+Sat Nov 3 17:53:43 2012 Kouhei Sutou <kou@cozmixng.org>
+
+ * bin/testrb: Use only Test::Unit::AutoRunner in test-unit gem
+ compatible API to be available by both test/unit bundled in Ruby
+ and test-unit gem.
+ * lib/test/unit.rb (Test::Unit::AutoRunner): Move codes from testrb.
+
Sat Nov 3 14:56:21 2012 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_parse.c (parse_eu): should capture apostrophe too.
diff --git a/bin/testrb b/bin/testrb
index e9046eb147..23a00b439f 100755
--- a/bin/testrb
+++ b/bin/testrb
@@ -1,10 +1,3 @@
#!/usr/bin/env ruby
require 'test/unit'
-tests = Test::Unit::AutoRunner.new(true)
-tests.options.banner.sub!(/\[options\]/, '\& tests...')
-unless tests.process_args(ARGV)
- abort tests.options.banner
-end
-files = tests.to_run
-$0 = files.size == 1 ? File.basename(files[0]) : files.to_s
-exit tests.run
+exit Test::Unit::AutoRunner.run(true)
diff --git a/lib/test/unit.rb b/lib/test/unit.rb
index d1d40524a8..e08087154d 100644
--- a/lib/test/unit.rb
+++ b/lib/test/unit.rb
@@ -804,6 +804,7 @@ module Test
attr_accessor :to_run, :options
def initialize(force_standalone = false, default_dir = nil, argv = ARGV)
+ @force_standalone = force_standalone
@runner = Runner.new do |files, options|
options[:base_directory] ||= default_dir
files << default_dir if files.empty? and default_dir
@@ -813,6 +814,9 @@ module Test
end
Runner.runner = @runner
@options = @runner.option_parser
+ if @force_standalone
+ @options.banner.sub!(/\[options\]/, '\& tests...')
+ end
@argv = argv
end
@@ -822,6 +826,9 @@ module Test
end
def run
+ if @force_standalone and not process_args(@argv)
+ abort @options.banner
+ end
@runner.run(@argv) || true
end