Skip to content

Commit f6ae887

Browse files
committed
make sure warnings can get (and are actually) disabled while testing
1 parent e45fe3f commit f6ae887

File tree

4 files changed

+23
-11
lines changed

4 files changed

+23
-11
lines changed

lib/arjdbc/jdbc.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ def deprecate(message, once = nil)
1919

2020
def warn?(message, once)
2121
return nil unless message
22-
return true if ! once
23-
@@warns << message.dup unless printed = @@warns.include?(message)
24-
! printed
22+
return false if @@warns.include?(message)
23+
@@warns << message.dup if once
24+
true
2525
end
2626

2727
end

lib/arjdbc/tasks/databases.rake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ namespace :db do
4242
end
4343

4444
if defined? adapt_jdbc_config
45-
puts "ArJdbc: double loading #{__FILE__} please delete lib/tasks/jdbc.rake if present!"
45+
ArJdbc.warn "double loading #{__FILE__} please delete lib/tasks/jdbc.rake if present!"
4646
end
4747

4848
def adapt_jdbc_config(config)

test/rake_test_support.rb

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,17 @@ module ClassMethods
1515
def startup
1616
super
1717
load 'rails_stub.rb'
18+
if defined? ArJdbc
19+
__file__ = File.expand_path('../../lib/arjdbc/tasks/databases.rake', __FILE__)
20+
ArJdbc.disable_warn "double loading #{__file__} please delete lib/tasks/jdbc.rake if present!"
21+
end
1822
end
1923

2024
def shutdown
25+
if defined? ArJdbc
26+
__file__ = File.expand_path('../../lib/arjdbc/tasks/databases.rake', __FILE__)
27+
ArJdbc.enable_warn "double loading #{__file__} please delete lib/tasks/jdbc.rake if present!"
28+
end
2129
Object.send(:remove_const, :Rails)
2230
super
2331
end
@@ -76,7 +84,7 @@ def load_tasks
7684

7785
task :environment do
7886
ActiveRecord::Base.configurations = configurations
79-
ActiveRecord::Base.establish_connection @rails_env
87+
ActiveRecord::Base.establish_connection @rails_env.to_sym
8088
@full_env_loaded = true
8189
end
8290

@@ -191,13 +199,9 @@ def restore_stdout
191199
end
192200
private :restore_stdout
193201

194-
def rails_env
195-
'unittest'
196-
end
202+
def rails_env; 'unittest' end
197203

198-
def db_name
199-
'test_rake_db'
200-
end
204+
def db_name; 'test_rake_db' end
201205

202206
@@db_config = nil
203207

test/test_helper.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323

2424
if defined?(JRUBY_VERSION)
2525
require 'arjdbc'
26+
module ArJdbc
27+
def self.disable_warn(message); @@warns << message end
28+
def self.enable_warn(message); @@warns.delete message end
29+
end
2630
else # we support running tests against MRI
2731
require 'active_record'
2832
end
@@ -168,6 +172,10 @@ def self.current_connection_config
168172

169173
def current_connection_config; self.class.current_connection_config; end
170174

175+
def deprecation_silence(&block)
176+
ActiveSupport::Deprecation.silence(&block)
177+
end
178+
171179
protected
172180

173181
def assert_queries(count, matching = nil)

0 commit comments

Comments
 (0)