lda-memory_test_fix 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README +38 -0
- data/init.rb +1 -0
- data/lib/memory_test_fix.rb +44 -0
- data/memory_test_fix.gemspec +16 -0
- data/rails/init.rb +2 -0
- metadata +60 -0
data/README
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
MemoryTestFix
|
2
|
+
=============
|
3
|
+
|
4
|
+
A simple fix to run tests with sqlite. From example at
|
5
|
+
|
6
|
+
http://blog.seagul.co.uk/articles/2006/02/08/in-memory-sqlite-database-for-rails-testing
|
7
|
+
|
8
|
+
In your database.yml, use
|
9
|
+
|
10
|
+
test:
|
11
|
+
adapter: sqlite3
|
12
|
+
database: ":memory:"
|
13
|
+
|
14
|
+
It runs much faster!
|
15
|
+
|
16
|
+
You can also adjust the verbosity of the output:
|
17
|
+
|
18
|
+
test:
|
19
|
+
adapter: sqlite3
|
20
|
+
database: ":memory:"
|
21
|
+
verbosity: silent
|
22
|
+
|
23
|
+
== Authors
|
24
|
+
|
25
|
+
Chris Roos
|
26
|
+
|
27
|
+
Adapted by Geoffrey Grosenbach, http://nubyonrails.com
|
28
|
+
|
29
|
+
Verbosity patch by Kakutani Shintaro
|
30
|
+
|
31
|
+
Adapted as GemPlugin by Matijs van Zuijlen
|
32
|
+
|
33
|
+
== Changelog
|
34
|
+
|
35
|
+
* Updated to work as a GemPlugin
|
36
|
+
* Updated to look for either so it works with Rails 1.2 and also older versions
|
37
|
+
* Updated to use ActiveRecord::ConnectionAdapters::SQLite3Adapter for Rails 1.2
|
38
|
+
|
data/init.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/rails/init"
|
@@ -0,0 +1,44 @@
|
|
1
|
+
|
2
|
+
# Update: Looks for the SQLite and SQLite3 adapters for
|
3
|
+
# compatibility with Rails 1.2.2 and also older versions.
|
4
|
+
def in_memory_database?
|
5
|
+
if (RAILS_ENV == "test" or RAILS_ENV == "cucumber") and
|
6
|
+
(Rails::Configuration.new.database_configuration['test']['database'] == ':memory:' or
|
7
|
+
Rails::Configuration.new.database_configuration['test']['dbfile'] == ':memory:')
|
8
|
+
begin
|
9
|
+
if ActiveRecord::Base.connection.class == ActiveRecord::ConnectionAdapters::SQLite3Adapter
|
10
|
+
return true
|
11
|
+
end
|
12
|
+
rescue NameError => e
|
13
|
+
if ActiveRecord::Base.connection.class == ActiveRecord::ConnectionAdapters::SQLiteAdapter
|
14
|
+
return true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
false
|
19
|
+
end
|
20
|
+
|
21
|
+
def verbosity
|
22
|
+
Rails::Configuration.new.database_configuration['test']['verbosity']
|
23
|
+
end
|
24
|
+
|
25
|
+
def inform_using_in_memory
|
26
|
+
puts "Creating sqlite :memory: database"
|
27
|
+
end
|
28
|
+
|
29
|
+
if in_memory_database?
|
30
|
+
load_schema = lambda {
|
31
|
+
load "#{RAILS_ROOT}/db/schema.rb" # use db agnostic schema by default
|
32
|
+
# ActiveRecord::Migrator.up('db/migrate') # use migrations
|
33
|
+
}
|
34
|
+
case verbosity
|
35
|
+
when "silent"
|
36
|
+
silence_stream(STDOUT, &load_schema)
|
37
|
+
when "quiet"
|
38
|
+
inform_using_in_memory
|
39
|
+
silence_stream(STDOUT, &load_schema)
|
40
|
+
else
|
41
|
+
inform_using_in_memory
|
42
|
+
load_schema.call
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "memory_test_fix"
|
3
|
+
s.version = "0.1.2"
|
4
|
+
|
5
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
+
s.authors = ["Chris Roos", "Geoffrey Grosenbach", "Kakutani Shintaro",
|
7
|
+
"Matijs van Zuijlen"]
|
8
|
+
s.email = "matijs@matijs.net"
|
9
|
+
s.summary = "Makes SQLite3 memory tests possible by preloading the schema."
|
10
|
+
s.homepage = "http://wiki.github.com/lda/memory_test_fix"
|
11
|
+
s.require_paths = ["lib"]
|
12
|
+
s.files = ["init.rb", "rails/init.rb", "lib/memory_test_fix.rb", "README", "memory_test_fix.gemspec"]
|
13
|
+
s.has_rdoc = true
|
14
|
+
s.extra_rdoc_files = ['README']
|
15
|
+
s.rubygems_version = %q{1.2.0}
|
16
|
+
end
|
data/rails/init.rb
ADDED
metadata
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lda-memory_test_fix
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Roos
|
8
|
+
- Geoffrey Grosenbach
|
9
|
+
- Kakutani Shintaro
|
10
|
+
- Matijs van Zuijlen
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
|
15
|
+
date: 2009-05-16 00:00:00 -07:00
|
16
|
+
default_executable:
|
17
|
+
dependencies: []
|
18
|
+
|
19
|
+
description:
|
20
|
+
email: matijs@matijs.net
|
21
|
+
executables: []
|
22
|
+
|
23
|
+
extensions: []
|
24
|
+
|
25
|
+
extra_rdoc_files:
|
26
|
+
- README
|
27
|
+
files:
|
28
|
+
- init.rb
|
29
|
+
- rails/init.rb
|
30
|
+
- lib/memory_test_fix.rb
|
31
|
+
- README
|
32
|
+
- memory_test_fix.gemspec
|
33
|
+
has_rdoc: true
|
34
|
+
homepage: http://wiki.github.com/lda/memory_test_fix
|
35
|
+
post_install_message:
|
36
|
+
rdoc_options: []
|
37
|
+
|
38
|
+
require_paths:
|
39
|
+
- lib
|
40
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
version:
|
46
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: "0"
|
51
|
+
version:
|
52
|
+
requirements: []
|
53
|
+
|
54
|
+
rubyforge_project:
|
55
|
+
rubygems_version: 1.2.0
|
56
|
+
signing_key:
|
57
|
+
specification_version: 2
|
58
|
+
summary: Makes SQLite3 memory tests possible by preloading the schema.
|
59
|
+
test_files: []
|
60
|
+
|