forked from rails-sqlserver/activerecord-sqlserver-adapter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrake_helpers.rb
46 lines (38 loc) · 1.18 KB
/
rake_helpers.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# frozen_string_literal: true
SQLSERVER_HELPER = "test/cases/helper_sqlserver.rb"
SQLSERVER_COERCED = "test/cases/coerced_tests.rb"
def env_ar_test_files
return unless ENV["TEST_FILES_AR"] && !ENV["TEST_FILES_AR"].empty?
@env_ar_test_files ||= begin
ENV["TEST_FILES_AR"].split(",").map { |file|
File.join ARTest::SQLServer.root_activerecord, file.strip
}.sort
end
end
def env_test_files
return unless ENV["TEST_FILES"] && !ENV["TEST_FILES"].empty?
@env_test_files ||= ENV["TEST_FILES"].split(",").map(&:strip)
end
def sqlserver_cases
@sqlserver_cases ||= Dir.glob("test/cases/*_test_sqlserver.rb")
end
def ar_cases
@ar_cases ||= begin
Dir.glob("#{ARTest::SQLServer.root_activerecord}/test/cases/**/*_test.rb").reject {
|x| x.include?("/adapters/") || x.include?("/encryption/performance")
}.sort
end
end
def test_files
if env_ar_test_files
[SQLSERVER_HELPER] + env_ar_test_files
elsif env_test_files
env_test_files
elsif ENV["ONLY_SQLSERVER"]
sqlserver_cases
elsif ENV["ONLY_ACTIVERECORD"]
[SQLSERVER_HELPER] + (ar_cases + [SQLSERVER_COERCED])
else
[SQLSERVER_HELPER] + (ar_cases + [SQLSERVER_COERCED] + sqlserver_cases)
end
end