Chris@909: $:.unshift(File.dirname(__FILE__) + '/../../../rails/activesupport/lib') Chris@909: $:.unshift(File.dirname(__FILE__) + '/../../../rails/activerecord/lib') Chris@909: $:.unshift(File.dirname(__FILE__) + '/../lib') Chris@909: require 'test/unit' Chris@909: begin Chris@909: require 'active_support' Chris@909: require 'active_record' Chris@909: require 'active_record/fixtures' Chris@909: rescue LoadError Chris@909: require 'rubygems' Chris@909: retry Chris@909: end Chris@909: require 'acts_as_versioned' Chris@909: Chris@909: config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml')) Chris@909: ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log") Chris@909: ActiveRecord::Base.configurations = {'test' => config[ENV['DB'] || 'sqlite3']} Chris@909: ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test']) Chris@909: Chris@909: load(File.dirname(__FILE__) + "/schema.rb") Chris@909: Chris@909: # set up custom sequence on widget_versions for DBs that support sequences Chris@909: if ENV['DB'] == 'postgresql' Chris@909: ActiveRecord::Base.connection.execute "DROP SEQUENCE widgets_seq;" rescue nil Chris@909: ActiveRecord::Base.connection.remove_column :widget_versions, :id Chris@909: ActiveRecord::Base.connection.execute "CREATE SEQUENCE widgets_seq START 101;" Chris@909: ActiveRecord::Base.connection.execute "ALTER TABLE widget_versions ADD COLUMN id INTEGER PRIMARY KEY DEFAULT nextval('widgets_seq');" Chris@909: end Chris@909: Chris@909: Test::Unit::TestCase.fixture_path = File.dirname(__FILE__) + "/fixtures/" Chris@909: $:.unshift(Test::Unit::TestCase.fixture_path) Chris@909: Chris@909: class Test::Unit::TestCase #:nodoc: Chris@909: # Turn off transactional fixtures if you're working with MyISAM tables in MySQL Chris@909: self.use_transactional_fixtures = true Chris@909: Chris@909: # Instantiated fixtures are slow, but give you @david where you otherwise would need people(:david) Chris@909: self.use_instantiated_fixtures = false Chris@909: Chris@909: # Add more helper methods to be used by all tests here... Chris@909: end