mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Don't run all tests when files end in a colon.
If running `bin/rails t test/models/bunny_test.rb:` we'd implicitly run all the tests in the bunny test. I now highly doubt that people would ever put in a line filter without a line *and* want that to mean run all tests in that file. Instead, change regex to require a line digit after the colon, so runs without a line at the end would fail to require the test file. This also has the side benefit of breaking requiring a file with many colons: `bin/rails t test/models/bunny_test.rb:::::::::::::4` Think this means I've had enough colonoscopy to last me through the year :)
This commit is contained in:
parent
426b3127dd
commit
88881d2b50
2 changed files with 1 additions and 9 deletions
|
@ -15,7 +15,7 @@ module Rails
|
|||
private
|
||||
def expand_patterns(patterns)
|
||||
patterns.map do |arg|
|
||||
arg = arg.gsub(/(:\d*)+?$/, '')
|
||||
arg = arg.gsub(/(:\d+)+?$/, '')
|
||||
if Dir.exist?(arg)
|
||||
"#{arg}/**/*_test.rb"
|
||||
else
|
||||
|
|
|
@ -382,14 +382,6 @@ module ApplicationTests
|
|||
end
|
||||
end
|
||||
|
||||
def test_line_filter_without_line_runs_all_tests
|
||||
create_test_file :models, 'account'
|
||||
|
||||
run_test_command('test/models/account_test.rb:').tap do |output|
|
||||
assert_match 'AccountTest', output
|
||||
end
|
||||
end
|
||||
|
||||
def test_shows_filtered_backtrace_by_default
|
||||
create_backtrace_test
|
||||
|
||||
|
|
Loading…
Reference in a new issue