mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
6fc83f8efe
In restart.rake, the creation of tmp/restart.txt would fail if the tmp folder does not exist in the app. This is a problem because apps cloned using git would not have the tmp folder, as the folder is in .gitignore. This commit creates the tmp folder if it does not exist. Fixes #20299 [Yoong Kang Lim, Sunny Juneja]
39 lines
932 B
Ruby
39 lines
932 B
Ruby
require "isolation/abstract_unit"
|
|
|
|
module ApplicationTests
|
|
module RakeTests
|
|
class RakeRestartTest < ActiveSupport::TestCase
|
|
include ActiveSupport::Testing::Isolation
|
|
|
|
def setup
|
|
build_app
|
|
boot_rails
|
|
end
|
|
|
|
def teardown
|
|
teardown_app
|
|
end
|
|
|
|
test 'rake restart touches tmp/restart.txt' do
|
|
Dir.chdir(app_path) do
|
|
`rake restart`
|
|
assert File.exist?("tmp/restart.txt")
|
|
|
|
prev_mtime = File.mtime("tmp/restart.txt")
|
|
sleep(1)
|
|
`rake restart`
|
|
curr_mtime = File.mtime("tmp/restart.txt")
|
|
assert_not_equal prev_mtime, curr_mtime
|
|
end
|
|
end
|
|
|
|
test 'rake restart should work even if tmp folder does not exist' do
|
|
Dir.chdir(app_path) do
|
|
FileUtils.remove_dir('tmp')
|
|
`rake restart`
|
|
assert File.exist?('tmp/restart.txt')
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|