Sha256: 6be33880920eb65b14c1e1480b0e29aa9b334aa1ed3b765b42af18c5bf2f9f22
Contents?: true
Size: 1.97 KB
Versions: 2
Compression:
Stored size: 1.97 KB
Contents
require 'rubygems' require 'rake' require 'rake/testtask' DIR = File.dirname( __FILE__ ) task :default => [ "test:mysql" ] task :boot do require File.expand_path( File.join( DIR, 'lib', 'ar-extensions' ) ) require File.expand_path( File.join( DIR, 'tests', 'connections', "native_#{ENV['ARE_DB']}", 'connection' ) ) require File.expand_path( File.join( DIR, 'db/migrate/version' ) ) end ADAPTERS = %w( mysql postgresql sqlite sqlite3 ) namespace :db do namespace :test do ADAPTERS.each do |adapter| desc "builds test database for #{adapter}" task "prepare_#{adapter}" do |t| file2run = File.join( DIR, 'tests/prepare.rb' ) system( "ruby #{file2run} #{adapter}" ) end end end end namespace :test do ADAPTERS.each do |adapter| desc "test base extensions for #{adapter}" task adapter do |t| ENV['ARE_DB'] = adapter Rake::Task[ 'boot' ].invoke task = Rake::Task[ "db:test:prepare_#{adapter}" ] begin task = false if SchemaInfo::VERSION == SchemaInfo.find( :first ).version rescue Exception => ex end task.invoke if task system "ruby #{File.join( DIR, 'tests/run.rb ' )} #{adapter}" end end namespace :activerecord do ADAPTERS.each do |adapter| desc "runs ActiveRecord unit tests for #{adapter} with ActiveRecord::Extensions" task adapter.to_sym do |t| activerecord_dir = ARGV[1] if activerecord_dir.nil? or ! File.directory?( activerecord_dir ) STDERR.puts "ERROR: Pass in the path to ActiveRecord. Eg: /home/zdennis/rails_trunk/activerecord" exit end old_dir, old_env = Dir.pwd, ENV['RUBYOPT'] Dir.chdir( activerecord_dir ) ENV['RUBYOPT'] = "-r#{File.join(old_dir,'init.rb')}" load "Rakefile" Rake::Task[ "test_#{adapter}" ].invoke Dir.chdir( old_dir ) ENV['RUBYOPT'] = old_env end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ar-extensions-0.5.2 | Rakefile |
ar-extensions-0.6.0 | Rakefile |