@@ -9,14 +9,6 @@ def rails_env
9
9
'test'
10
10
end
11
11
12
- def rake_bin
13
- # Prevent 'Exec format error' Errno::ENOEXEC on Windows
14
- return "rake" if RUBY_PLATFORM =~ /mswin|mingw|cygwin/
15
- binstub_path = File . join ( 'bin' , 'rake' )
16
- return binstub_path if File . exist? ( binstub_path )
17
- "rake"
18
- end
19
-
20
12
def load_lib
21
13
$LOAD_PATH << File . expand_path ( '..' , __dir__ )
22
14
require "parallel_tests"
@@ -126,14 +118,14 @@ def rails_61_or_greater?
126
118
namespace :parallel do
127
119
desc "Setup test databases via db:setup --> parallel:setup[num_cpus]"
128
120
task :setup , :count do |_ , args |
129
- command = [ ParallelTests :: Tasks . rake_bin , "db:setup" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ]
121
+ command = [ $0 , "db:setup" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ]
130
122
ParallelTests ::Tasks . run_in_parallel ( ParallelTests ::Tasks . suppress_schema_load_output ( command ) , args )
131
123
end
132
124
133
125
desc "Create test databases via db:create --> parallel:create[num_cpus]"
134
126
task :create , :count do |_ , args |
135
127
ParallelTests ::Tasks . run_in_parallel (
136
- [ ParallelTests :: Tasks . rake_bin , "db:create" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
128
+ [ $0 , "db:create" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
137
129
args
138
130
)
139
131
end
@@ -142,7 +134,7 @@ def rails_61_or_greater?
142
134
task :drop , :count do |_ , args |
143
135
ParallelTests ::Tasks . run_in_parallel (
144
136
[
145
- ParallelTests :: Tasks . rake_bin ,
137
+ $0 ,
146
138
"db:drop" ,
147
139
"RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ,
148
140
"DISABLE_DATABASE_ENVIRONMENT_CHECK=1"
@@ -169,7 +161,7 @@ def rails_61_or_greater?
169
161
# slow: dump and load in in serial
170
162
args = args . to_hash . merge ( non_parallel : true ) # normal merge returns nil
171
163
task_name = Rake ::Task . task_defined? ( 'db:test:prepare' ) ? 'db:test:prepare' : 'app:db:test:prepare'
172
- ParallelTests ::Tasks . run_in_parallel ( [ ParallelTests :: Tasks . rake_bin , task_name ] , args )
164
+ ParallelTests ::Tasks . run_in_parallel ( [ $0 , task_name ] , args )
173
165
next
174
166
end
175
167
end
@@ -178,15 +170,15 @@ def rails_61_or_greater?
178
170
desc "Update test databases via db:migrate --> parallel:migrate[num_cpus]"
179
171
task :migrate , :count do |_ , args |
180
172
ParallelTests ::Tasks . run_in_parallel (
181
- [ ParallelTests :: Tasks . rake_bin , "db:migrate" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
173
+ [ $0 , "db:migrate" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
182
174
args
183
175
)
184
176
end
185
177
186
178
desc "Rollback test databases via db:rollback --> parallel:rollback[num_cpus]"
187
179
task :rollback , :count do |_ , args |
188
180
ParallelTests ::Tasks . run_in_parallel (
189
- [ ParallelTests :: Tasks . rake_bin , "db:rollback" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
181
+ [ $0 , "db:rollback" , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
190
182
args
191
183
)
192
184
end
@@ -195,7 +187,7 @@ def rails_61_or_greater?
195
187
desc "Load dumped schema for test databases via db:schema:load --> parallel:load_schema[num_cpus]"
196
188
task :load_schema , :count do |_ , args |
197
189
command = [
198
- ParallelTests :: Tasks . rake_bin ,
190
+ $0 ,
199
191
ParallelTests ::Tasks . purge_before_load ,
200
192
"db:schema:load" ,
201
193
"RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ,
@@ -210,7 +202,7 @@ def rails_61_or_greater?
210
202
task :load_structure , :count do |_ , args |
211
203
ParallelTests ::Tasks . run_in_parallel (
212
204
[
213
- ParallelTests :: Tasks . rake_bin ,
205
+ $0 ,
214
206
ParallelTests ::Tasks . purge_before_load ,
215
207
"db:structure:load" ,
216
208
"RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ,
@@ -224,7 +216,7 @@ def rails_61_or_greater?
224
216
task :seed , :count do |_ , args |
225
217
ParallelTests ::Tasks . run_in_parallel (
226
218
[
227
- ParallelTests :: Tasks . rake_bin ,
219
+ $0 ,
228
220
"db:seed" ,
229
221
"RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } "
230
222
] ,
@@ -235,7 +227,7 @@ def rails_61_or_greater?
235
227
desc "Launch given rake command in parallel"
236
228
task :rake , :command , :count do |_ , args |
237
229
ParallelTests ::Tasks . run_in_parallel (
238
- [ ParallelTests :: Tasks . rake_bin , args . command , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
230
+ [ $0 , args . command , "RAILS_ENV=#{ ParallelTests ::Tasks . rails_env } " ] ,
239
231
args
240
232
)
241
233
end
0 commit comments