aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-09-25 01:16:41 -0500
committerJoshua Peek <josh@joshpeek.com>2009-09-25 01:16:52 -0500
commit24ac3a8d8eb6f66392961eb2cc89c8b244f04238 (patch)
tree6f605bbc6808ee9853e62645575786f5f46fd3aa
parenta6a0904fcb12b876469c48b1c885aadafe9188cf (diff)
downloadrails-24ac3a8d8eb6f66392961eb2cc89c8b244f04238.tar.gz
rails-24ac3a8d8eb6f66392961eb2cc89c8b244f04238.tar.bz2
rails-24ac3a8d8eb6f66392961eb2cc89c8b244f04238.zip
Wrap isolated test runner in a test suite
-rw-r--r--activesupport/Rakefile16
-rw-r--r--activesupport/test/ts_isolated.rb15
-rwxr-xr-xci/ci_build.rb2
3 files changed, 24 insertions, 9 deletions
diff --git a/activesupport/Rakefile b/activesupport/Rakefile
index 8d2d207225..c27167287d 100644
--- a/activesupport/Rakefile
+++ b/activesupport/Rakefile
@@ -15,17 +15,17 @@ RUBY_FORGE_PROJECT = "activesupport"
RUBY_FORGE_USER = "webster132"
task :default => :test
-Rake::TestTask.new { |t|
- t.libs << "test"
+Rake::TestTask.new do |t|
+ t.libs << 'test'
t.pattern = 'test/**/*_test.rb'
t.verbose = true
t.warning = true
-}
-task :isolated_test do
- ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME'))
- Dir['test/**/*_test.rb'].all? do |file|
- system(ruby, '-w', '-Ilib:test', file)
- end or raise "Failures"
+end
+
+namespace :test do
+ Rake::TestTask.new(:isolated) do |t|
+ t.pattern = 'test/ts_isolated.rb'
+ end
end
# Create compressed packages
diff --git a/activesupport/test/ts_isolated.rb b/activesupport/test/ts_isolated.rb
new file mode 100644
index 0000000000..9378a13766
--- /dev/null
+++ b/activesupport/test/ts_isolated.rb
@@ -0,0 +1,15 @@
+require 'test/unit'
+require 'rbconfig'
+require 'active_support/core_ext/kernel/reporting'
+
+class TestIsolated < Test::Unit::TestCase
+ ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME'))
+
+ Dir["#{File.dirname(__FILE__)}/**/*_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
diff --git a/ci/ci_build.rb b/ci/ci_build.rb
index ab627b93e6..fd55444889 100755
--- a/ci/ci_build.rb
+++ b/ci/ci_build.rb
@@ -21,7 +21,7 @@ cd "#{root_dir}/activesupport" do
puts "[CruiseControl] Building ActiveSupport"
puts
build_results[:activesupport] = system 'rake'
- build_results[:activesupport_isolated] = system 'rake isolated_test'
+ build_results[:activesupport_isolated] = system 'rake test:isolated'
end
rm_f "#{root_dir}/activerecord/debug.log"