Skip to content

Commit 10aac34

Browse files
committed
Adding Guard. Terse and un-memoized path helpers.
1 parent a14ee3a commit 10aac34

File tree

5 files changed

+34
-26
lines changed

5 files changed

+34
-26
lines changed

Guardfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require_relative 'test/support/paths_sqlserver'
2+
3+
guard :minitest, {
4+
all_on_start: false,
5+
autorun: false,
6+
include: ['lib', 'test', File.join(ARTest::Sqlserver.root_activerecord, 'lib'), File.join(ARTest::Sqlserver.root_activerecord, 'test')],
7+
test_folders: ['test'],
8+
test_file_patterns: ["*_test_sqlserver.rb"],
9+
} do
10+
watch(%r{^test/cases/\w+_test_sqlserver.rb$})
11+
watch(%r{^lib/active_record/connection_adapters/sqlserver/([^/]+)\.rb$}) { |m| "test/cases/#{m[1]}_test_sqlserver.rb" }
12+
watch(%r{^test/cases/helper_sqlserver\.rb$}) { 'test' }
13+
end

Rakefile

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
1-
require 'rake'
21
require 'rake/testtask'
3-
4-
AR_PATH = Gem.loaded_specs['activerecord'].full_gem_path
5-
6-
# Since the Gemfile for this project requires, rails, it ends up causing
7-
# Rails.env to be defined, which affects some of the unit tests. We fix this
8-
# by setting the RAILS_ENV to "default_env"
9-
ENV['RAILS_ENV'] = 'default_env'
2+
require_relative 'test/support/paths_sqlserver'
103

114
def test_libs
12-
ar_lib = File.join AR_PATH, 'lib'
13-
ar_test = File.join AR_PATH, 'test'
5+
ar_lib = File.join ARTest::Sqlserver.root_activerecord, 'lib'
6+
ar_test = File.join ARTest::Sqlserver.root_activerecord, 'test'
147
['lib', 'test', ar_lib, ar_test]
158
end
169

1710
def test_files
1811
test_setup = ['test/cases/helper_sqlserver.rb']
1912
return test_setup + (ENV['TEST_FILES']).split(',') if ENV['TEST_FILES']
2013
sqlserver_cases = Dir.glob('test/cases/**/*_test_sqlserver.rb')
21-
ar_cases = Dir.glob("#{AR_PATH}/test/cases/**/*_test.rb")
22-
adapter_cases = Dir.glob("#{AR_PATH}/test/cases/adapters/**/*_test.rb")
14+
ar_cases = Dir.glob("#{ARTest::Sqlserver.root_activerecord}/test/cases/**/*_test.rb")
15+
adapter_cases = Dir.glob("#{ARTest::Sqlserver.root_activerecord}/test/cases/adapters/**/*_test.rb")
2316
if ENV['SQLSERVER_ONLY']
2417
sqlserver_cases
2518
elsif ENV['ACTIVERECORD_ONLY']

activerecord-sqlserver-adapter.gemspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ Gem::Specification.new do |spec|
1717
spec.require_paths = ['lib']
1818
spec.add_dependency 'activerecord', '~> 4.2.0'
1919
spec.add_development_dependency 'bundler'
20-
spec.add_development_dependency 'rake'
20+
spec.add_development_dependency 'guard-minitest'
2121
spec.add_development_dependency 'minitest-spec-rails'
2222
spec.add_development_dependency 'mocha'
2323
spec.add_development_dependency 'nokogiri'
2424
spec.add_development_dependency 'pry'
25+
spec.add_development_dependency 'rake'
2526
end

test/cases/helper_sqlserver.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
require 'support/load_schema_sqlserver'
66
require 'support/coerced_test_sqlserver'
77
require 'support/sql_counter_sqlserver'
8+
require 'mocha/mini_test'
89

910
module ActiveRecord
1011
class TestCase < ActiveSupport::TestCase
@@ -51,5 +52,3 @@ def with_auto_connect(boolean)
5152

5253
end
5354
end
54-
55-
require 'mocha/mini_test'

test/support/paths_sqlserver.rb

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@ module Sqlserver
33

44
extend self
55

6+
def root_sqlserver
7+
File.expand_path File.join(File.dirname(__FILE__), '..', '..')
8+
end
9+
610
def test_root_sqlserver
7-
@test_root_sqlserver ||= begin
8-
root = File.join File.dirname(__FILE__), '..'
9-
File.expand_path(root)
10-
end
11+
File.join root_sqlserver, 'test'
12+
end
13+
14+
def root_activerecord
15+
Gem.loaded_specs['activerecord'].full_gem_path
1116
end
1217

1318
def test_root_activerecord
14-
@test_root_activerecord ||= begin
15-
gem_root = Gem.loaded_specs['activerecord'].full_gem_path
16-
File.join gem_root, 'test'
17-
end
19+
File.join root_activerecord, 'test'
1820
end
1921

2022
def test_root_activerecord_add_to_load_path
@@ -23,15 +25,15 @@ def test_root_activerecord_add_to_load_path
2325
end
2426

2527
def migrations_root
26-
@migrations_root ||= File.join test_root_sqlserver, 'migrations'
28+
File.join test_root_sqlserver, 'migrations'
2729
end
2830

2931
def arconfig_file
30-
@arconfig_file ||= File.join test_root_sqlserver, 'config.yml'
32+
File.join test_root_sqlserver, 'config.yml'
3133
end
3234

3335
def arconfig_file_env!
34-
ENV['ARCONFIG'] = ARTest::Sqlserver.arconfig_file
36+
ENV['ARCONFIG'] = arconfig_file
3537
end
3638

3739
end

0 commit comments

Comments
 (0)