summaryrefslogtreecommitdiff
path: root/test/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-27 07:28:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-27 07:28:36 +0000
commitbd8bb810c792b7e7e51a988a52775e652931d494 (patch)
treee0f4074cf323f78ec96fe1f04621ba3b33bc929e /test/lib
parent747b7b7316e81a3a304938ef5de10ecb9afc2de3 (diff)
test/unit.rb: --test-order option
* test/lib/test/unit.rb (setup_options): add --test-order option to override the test order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/lib')
-rw-r--r--test/lib/test/unit.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/lib/test/unit.rb b/test/lib/test/unit.rb
index 0473ddb..cbf6d34 100644
--- a/test/lib/test/unit.rb
+++ b/test/lib/test/unit.rb
@@ -88,6 +88,10 @@ module Test
opts.on '-n', '--name PATTERN', "Filter test method names on pattern: /REGEXP/ or STRING" do |a|
options[:filter] = a
end
+
+ opts.on '--test-order=random|alpha|sorted', [:random, :alpha, :sorted] do |a|
+ MiniTest::Unit::TestCase.test_order = a
+ end
end
def non_options(files, options)
@@ -981,6 +985,14 @@ module MiniTest # :nodoc: all
end
class MiniTest::Unit::TestCase # :nodoc: all
+ test_order = self.test_order
+ def self.test_order
+ @test_order || superclass.test_order
+ end
+ class << self
+ attr_writer :test_order
+ end
+ self.test_order = test_order
undef run_test
RUN_TEST_TRACE = "#{__FILE__}:#{__LINE__+3}:in `run_test'".freeze
def run_test(name)