Move improved isolated test runner to AP

This commit is contained in:
Joshua Peek 2009-10-03 21:33:06 -05:00
parent 018b79dd36
commit 75a2f00c97
2 changed files with 21 additions and 6 deletions

View File

@ -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'

View File

@ -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