From 59f5cea7b8530b8f7e920805d9b1336b64772842 Mon Sep 17 00:00:00 2001 From: lukemelia Date: Fri, 2 Feb 2007 05:01:12 +0000 Subject: [PATCH] upgrade to memory_test_fix r171 git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@417 a4c988fc-2ded-0310-b66e-134b36920a42 --- tracks/vendor/plugins/memory_test_fix/README | 29 +++++++++++++++++ .../vendor/plugins/memory_test_fix/Rakefile | 22 +++++++++++++ .../vendor/plugins/memory_test_fix/about.yml | 7 +++++ tracks/vendor/plugins/memory_test_fix/init.rb | 2 ++ .../memory_test_fix/lib/memory_test_fix.rb | 31 +++++++++++++++++++ 5 files changed, 91 insertions(+) create mode 100644 tracks/vendor/plugins/memory_test_fix/README create mode 100644 tracks/vendor/plugins/memory_test_fix/Rakefile create mode 100644 tracks/vendor/plugins/memory_test_fix/about.yml create mode 100644 tracks/vendor/plugins/memory_test_fix/init.rb create mode 100644 tracks/vendor/plugins/memory_test_fix/lib/memory_test_fix.rb diff --git a/tracks/vendor/plugins/memory_test_fix/README b/tracks/vendor/plugins/memory_test_fix/README new file mode 100644 index 00000000..8b4c2a3e --- /dev/null +++ b/tracks/vendor/plugins/memory_test_fix/README @@ -0,0 +1,29 @@ +MemoryTestFix +============= + +A simple fix to run tests with sqlite. From example at + +http://blog.seagul.co.uk/articles/2006/02/08/in-memory-sqlite-database-for-rails-testing + +In your database.yml, use + + test: + adapter: sqlite3 + database: ":memory:" + +It runs much faster! + +You can also adjust the verbosity of the output: + +test: + adapter: sqlite3 + database: ":memory:" + verbosity: silent + +== Authors + +Chris Roos + +Adapted by Geoffrey Grosenbach, http://nubyonrails.com + +Verbosity patch by Kakutani Shintaro diff --git a/tracks/vendor/plugins/memory_test_fix/Rakefile b/tracks/vendor/plugins/memory_test_fix/Rakefile new file mode 100644 index 00000000..1ca2d969 --- /dev/null +++ b/tracks/vendor/plugins/memory_test_fix/Rakefile @@ -0,0 +1,22 @@ +require 'rake' +require 'rake/testtask' +require 'rake/rdoctask' + +desc 'Default: run unit tests.' +task :default => :test + +desc 'Test the memory_test_fix plugin.' +Rake::TestTask.new(:test) do |t| + t.libs << 'lib' + t.pattern = 'test/**/*_test.rb' + t.verbose = true +end + +desc 'Generate documentation for the memory_test_fix plugin.' +Rake::RDocTask.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = 'MemoryTestFix' + rdoc.options << '--line-numbers' << '--inline-source' + rdoc.rdoc_files.include('README') + rdoc.rdoc_files.include('lib/**/*.rb') +end diff --git a/tracks/vendor/plugins/memory_test_fix/about.yml b/tracks/vendor/plugins/memory_test_fix/about.yml new file mode 100644 index 00000000..d11ce0a9 --- /dev/null +++ b/tracks/vendor/plugins/memory_test_fix/about.yml @@ -0,0 +1,7 @@ +author: Chris Roos +summary: Makes SQLite3 memory tests possible by preloading the schema. +homepage: http://blog.seagul.co.uk/articles/2006/02/08/in-memory-sqlite-database-for-rails-testing +plugin: http://topfunky.net/svn/plugins/memory_test_fix +license: MIT +version: 0.1 +rails_version: 1.1+ diff --git a/tracks/vendor/plugins/memory_test_fix/init.rb b/tracks/vendor/plugins/memory_test_fix/init.rb new file mode 100644 index 00000000..838b8bb6 --- /dev/null +++ b/tracks/vendor/plugins/memory_test_fix/init.rb @@ -0,0 +1,2 @@ + +require 'memory_test_fix' diff --git a/tracks/vendor/plugins/memory_test_fix/lib/memory_test_fix.rb b/tracks/vendor/plugins/memory_test_fix/lib/memory_test_fix.rb new file mode 100644 index 00000000..04661817 --- /dev/null +++ b/tracks/vendor/plugins/memory_test_fix/lib/memory_test_fix.rb @@ -0,0 +1,31 @@ +# MemoryTestFix +def in_memory_database? + ENV["RAILS_ENV"] == "test" and + ActiveRecord::Base.connection.class == ActiveRecord::ConnectionAdapters::SQLiteAdapter and + Rails::Configuration.new.database_configuration['test']['database'] == ':memory:' +end + +def verbosity + Rails::Configuration.new.database_configuration['test']['verbosity'] +end + +def inform_using_in_memory + puts "Creating sqlite :memory: database" +end + +if in_memory_database? + load_schema = lambda { + load "#{RAILS_ROOT}/db/schema.rb" # use db agnostic schema by default + # ActiveRecord::Migrator.up('db/migrate') # use migrations + } + case verbosity + when "silent" + silence_stream(STDOUT, &load_schema) + when "quiet" + inform_using_in_memory + silence_stream(STDOUT, &load_schema) + else + inform_using_in_memory + load_schema.call + end +end