diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-10-03 21:33:06 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-10-03 21:33:06 -0500 |
commit | 75a2f00c9790f2fd7cebb4337cab1404e9e03eae (patch) | |
tree | e5037ab79420c416a204d9f22055376b4847dcde /actionpack | |
parent | 018b79dd36d054d87fdc408d38dc9ac7f1b1500d (diff) | |
download | rails-75a2f00c9790f2fd7cebb4337cab1404e9e03eae.tar.gz rails-75a2f00c9790f2fd7cebb4337cab1404e9e03eae.tar.bz2 rails-75a2f00c9790f2fd7cebb4337cab1404e9e03eae.zip |
Move improved isolated test runner to AP
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/Rakefile | 11 | ||||
-rw-r--r-- | actionpack/test/ts_isolated.rb | 16 |
2 files changed, 21 insertions, 6 deletions
diff --git a/actionpack/Rakefile b/actionpack/Rakefile index 547e74b5a1..e186037aeb 100644 --- a/actionpack/Rakefile +++ b/actionpack/Rakefile @@ -34,22 +34,21 @@ end desc "Run all unit tests" task :test => [:test_action_pack, :test_active_record_integration] -TESTS_GLOB = "test/{abstract,controller,dispatch,template}/**/*_test.rb" - Rake::TestTask.new(:test_action_pack) do |t| t.libs << 'test' # make sure we include the tests in alphabetical order as on some systems # this will not happen automatically and the tests (as a whole) will error - t.test_files = Dir.glob(TESTS_GLOB).sort + t.test_files = Dir.glob('test/{abstract,controller,dispatch,template}/**/*_test.rb').sort t.verbose = true # t.warning = true end -task :isolated_test do - ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME')) - Dir.glob(TESTS_GLOB).all? { |file| system(ruby, '-Ilib:test', file) } or raise "Failures" +namespace :test do + Rake::TestTask.new(:isolated) do |t| + t.pattern = 'test/ts_isolated.rb' + end end desc 'ActiveRecord Integration Tests' diff --git a/actionpack/test/ts_isolated.rb b/actionpack/test/ts_isolated.rb new file mode 100644 index 0000000000..4a321c631f --- /dev/null +++ b/actionpack/test/ts_isolated.rb @@ -0,0 +1,16 @@ +require 'test/unit' +require 'rbconfig' +require 'rubygems' +require 'active_support' + +class TestIsolated < Test::Unit::TestCase + ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME')) + + Dir["#{File.dirname(__FILE__)}/{abstract,controller,dispatch,template}/**/*_test.rb"].each do |file| + define_method("test #{file}") do + command = "#{ruby} -Ilib:test #{file}" + silence_stderr { `#{command}` } + assert_equal 0, $?.to_i, command + end + end +end |