require "rake/testtask" task default: :test task :package desc "Run all unit tests" task test: "test:isolated" namespace :test do task :isolated do dirs = (ENV["TEST_DIR"] || ENV["TEST_DIRS"] || "**").split(",") test_files = dirs.map { |dir| "test/#{dir}/*_test.rb" } Dir[*test_files].each do |file| next true if file.include?("fixtures") dash_i = [ "test", "lib", "#{__dir__}/../activesupport/lib", "#{__dir__}/../actionpack/lib", "#{__dir__}/../actionview/lib", "#{__dir__}/../activemodel/lib" ] ruby "-w", "-I#{dash_i.join ':'}", file end end end Rake::TestTask.new("test:regular") do |t| t.libs << "test" << "#{__dir__}/../activesupport/lib" t.pattern = "test/**/*_test.rb" t.warning = false t.verbose = true t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION) end