Skip to content

Commit

Permalink
prevent rake test to run the test suite three times when ENV['TEST'] …
Browse files Browse the repository at this point in the history
…is set [#3572 state:resolved]

Signed-off-by: Xavier Noria <fxn@hashref.com>
  • Loading branch information
calavera authored and fxn committed Oct 10, 2010
1 parent b3cadf3 commit ab2f2b2
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
13 changes: 8 additions & 5 deletions actionpack/RUNNING_UNIT_TESTS
Expand Up @@ -8,15 +8,18 @@ Rake can be found at http://rake.rubyforge.org

== Running by hand

If you only want to run a single test suite, or don't want to bother with Rake,
you can do so with something like:
To run a single test suite

ruby -Itest test/controller/base_tests.rb
rake test TEST=path/to/test.rb

== Dependency on ActiveRecord and database setup
which can be further narrowed down to one test:

rake test TEST=path/to/test.rb TESTOPTS="--name=test_something"

== Dependency on Active Record and database setup

Test cases in the test/controller/active_record/ directory depend on having
activerecord and sqlite installed. If ActiveRecord is not in
activerecord and sqlite installed. If Active Record is not in
actionpack/../activerecord directory, or the sqlite rubygem is not installed,
these tests are skipped.

Expand Down
7 changes: 6 additions & 1 deletion railties/lib/rails/test_unit/testing.rake
Expand Up @@ -73,7 +73,8 @@ end

desc 'Runs test:units, test:functionals, test:integration together (also available: test:benchmark, test:profile, test:plugins)'
task :test do
errors = %w(test:units test:functionals test:integration).collect do |task|
tests_to_run = ENV['TEST'] ? ["test:single"] : %w(test:units test:functionals test:integration)
errors = tests_to_run.collect do |task|
begin
Rake::Task[task].invoke
nil
Expand Down Expand Up @@ -123,6 +124,10 @@ namespace :test do
end
Rake::Task['test:uncommitted'].comment = "Test changes since last checkin (only Subversion and Git)"

Rake::TestTask.new(:single => "test:prepare") do |t|
t.libs << "test"
end

TestTaskWithoutDescription.new(:units => "test:prepare") do |t|
t.libs << "test"
t.pattern = 'test/unit/**/*_test.rb'
Expand Down

0 comments on commit ab2f2b2

Please sign in to comment.