Merge pull request #23456 from kaspth/line-filter-triggers-one-runnable

Fix line filters running tests from multiple runnables.
This commit is contained in:
Kasper Timm Hansen 2016-02-03 22:55:50 +01:00
commit 13b918d1e9
2 changed files with 26 additions and 2 deletions

View File

@ -26,7 +26,7 @@ module Rails
private
def derive_regexp(filter)
# Regexp filtering copied from Minitest.
filter =~ %r%/(.*)/% ? Regexp.new($1) : filter
Regexp.new $1 if filter =~ %r%/(.*)/%
end
def derive_line_filters(patterns)

View File

@ -363,7 +363,7 @@ module ApplicationTests
end
RUBY
run_test_command('test/models/account_test.rb:4:9 test/models/post_test:4:9').tap do |output|
run_test_command('test/models/account_test.rb:4:9 test/models/post_test.rb:4:9').tap do |output|
assert_match 'AccountTest:FirstFilter', output
assert_match 'AccountTest:SecondFilter', output
assert_match 'PostTest:FirstFilter', output
@ -382,6 +382,30 @@ module ApplicationTests
end
end
def test_line_filters_trigger_only_one_runnable
app_file 'test/models/post_test.rb', <<-RUBY
require 'test_helper'
class PostTest < ActiveSupport::TestCase
test 'truth' do
assert true
end
end
class SecondPostTest < ActiveSupport::TestCase
test 'truth' do
assert false, 'ran second runnable'
end
end
RUBY
# Pass seed guaranteeing failure.
run_test_command('test/models/post_test.rb:4 --seed 30410').tap do |output|
assert_no_match 'ran second runnable', output
assert_match '1 runs, 1 assertions', output
end
end
def test_shows_filtered_backtrace_by_default
create_backtrace_test