From 465f0fbca3d4a1c269038b84ec9cc248fdab5fab Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Mon, 3 Aug 2015 11:17:07 +0200 Subject: test runner should crash with non existing file argument. Before this patch, using `bin/rails test` with a non existing file or directory argument would silently swallow the argument and run the whole test suite. After the patch the command fails with `cannot load such file --`. --- railties/lib/rails/test_unit/test_requirer.rb | 2 +- railties/test/application/test_runner_test.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/railties/lib/rails/test_unit/test_requirer.rb b/railties/lib/rails/test_unit/test_requirer.rb index 84c2256729..83d2c55ffd 100644 --- a/railties/lib/rails/test_unit/test_requirer.rb +++ b/railties/lib/rails/test_unit/test_requirer.rb @@ -18,7 +18,7 @@ module Rails arg = arg.gsub(/:(\d+)?$/, '') if Dir.exist?(arg) "#{arg}/**/*_test.rb" - elsif File.file?(arg) + else arg end end diff --git a/railties/test/application/test_runner_test.rb b/railties/test/application/test_runner_test.rb index 494e6dd7bd..d0a7960d3f 100644 --- a/railties/test/application/test_runner_test.rb +++ b/railties/test/application/test_runner_test.rb @@ -307,6 +307,11 @@ module ApplicationTests end end + def test_crash_with_non_existing_file_or_dirname + error = capture(:stderr) { run_test_command('test/nope/niet_test.rb') } + assert_match(%r{cannot load such file.+test/nope/niet_test.rb}, error) + end + def test_shows_filtered_backtrace_by_default create_backtrace_test -- cgit v1.2.3