Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Move improved isolated test runner to AP

  • Loading branch information...
commit 75a2f00c9790f2fd7cebb4337cab1404e9e03eae 1 parent 018b79d
@josh josh authored
Showing with 21 additions and 6 deletions.
  1. +5 −6 actionpack/Rakefile
  2. +16 −0 actionpack/test/ts_isolated.rb
View
11 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'
View
16 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
Please sign in to comment.
Something went wrong with that request. Please try again.