Skip to content

Commit f805261

Browse files
authored
Merge pull request rails#52101 from ioquatix/fast-smoke-tests
Add support for fast smoke tests.
2 parents 8229339 + 59f1e17 commit f805261

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

Rakefile

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,24 @@ task default: %w(test test:isolated)
3434
end
3535

3636
desc "Smoke-test all projects"
37-
task :smoke do
38-
(FRAMEWORKS - %w(activerecord)).each do |project|
39-
system %(cd #{project} && #{$0} test:isolated --trace)
37+
task :smoke, [:frameworks, :isolated] do |task, args|
38+
frameworks = args[:frameworks] ? args[:frameworks].split(" ") : FRAMEWORKS
39+
# The arguments are positional, and users may want to specify only the isolated flag.. so we allow 'all' as a default for the first argument:
40+
if frameworks.include?("all")
41+
frameworks = FRAMEWORKS
42+
end
43+
44+
isolated = args[:isolated].nil? ? true : args[:isolated] == "true"
45+
test_task = isolated ? "test:isolated" : "test"
46+
47+
(frameworks - ["activerecord"]).each do |project|
48+
system %(cd #{project} && #{$0} #{test_task} --trace)
49+
end
50+
51+
if frameworks.include? "activerecord"
52+
test_task = isolated ? "sqlite3:isolated_test" : "sqlite3:test"
53+
system %(cd activerecord && #{$0} #{test_task} --trace)
4054
end
41-
system %(cd activerecord && #{$0} sqlite3:isolated_test --trace)
4255
end
4356

4457
desc "Install gems for all projects."

0 commit comments

Comments
 (0)