Skip to content

Commit

Permalink
Merge pull request #29534 from y-yagi/clear_screenshots_in_tmp_clear_…
Browse files Browse the repository at this point in the history
…task

Clear screenshots files in `tmp:clear` task
  • Loading branch information
eileencodes committed Jul 1, 2017
2 parents 678e23d + 6fbd405 commit 6189086
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 9 deletions.
15 changes: 8 additions & 7 deletions guides/source/command_line.md
Expand Up @@ -262,12 +262,12 @@ $ bin/rails db:migrate
== CreateHighScores: migrated (0.0019s) ======================================
```
INFO: Let's talk about unit tests. Unit tests are code that tests and makes assertions
about code. In unit testing, we take a little part of code, say a method of a model,
and test its inputs and outputs. Unit tests are your friend. The sooner you make
peace with the fact that your quality of life will drastically increase when you unit
test your code, the better. Seriously. Please visit
[the testing guide](http://guides.rubyonrails.org/testing.html) for an in-depth
INFO: Let's talk about unit tests. Unit tests are code that tests and makes assertions
about code. In unit testing, we take a little part of code, say a method of a model,
and test its inputs and outputs. Unit tests are your friend. The sooner you make
peace with the fact that your quality of life will drastically increase when you unit
test your code, the better. Seriously. Please visit
[the testing guide](http://guides.rubyonrails.org/testing.html) for an in-depth
look at unit testing.
Let's see the interface Rails created for us.
Expand Down Expand Up @@ -533,7 +533,8 @@ The `tmp:` namespaced tasks will help you clear and create the `Rails.root/tmp`
* `rails tmp:cache:clear` clears `tmp/cache`.
* `rails tmp:sockets:clear` clears `tmp/sockets`.
* `rails tmp:clear` clears all cache and sockets files.
* `rails tmp:screenshots:clear` clears `tmp/screenshots`.
* `rails tmp:clear` clears all cache, sockets and screenshot files.
* `rails tmp:create` creates tmp directories for cache, sockets and pids.
### Miscellaneous
Expand Down
4 changes: 4 additions & 0 deletions railties/CHANGELOG.md
@@ -1,3 +1,7 @@
* Clear screenshot files in `tmp:clear` task.

*Yuji Yaginuma*

* Add `railtie.rb` to the plugin generator

*Tsukuru Tanimichi*
Expand Down
11 changes: 9 additions & 2 deletions railties/lib/rails/tasks/tmp.rake
@@ -1,6 +1,6 @@
namespace :tmp do
desc "Clear cache and socket files from tmp/ (narrow w/ tmp:cache:clear, tmp:sockets:clear)"
task clear: ["tmp:cache:clear", "tmp:sockets:clear"]
desc "Clear cache, socket and screenshot files from tmp/ (narrow w/ tmp:cache:clear, tmp:sockets:clear, tmp:screenshots:clear)"
task clear: ["tmp:cache:clear", "tmp:sockets:clear", "tmp:screenshots:clear"]

tmp_dirs = [ "tmp/cache",
"tmp/sockets",
Expand Down Expand Up @@ -32,4 +32,11 @@ namespace :tmp do
rm Dir["tmp/pids/[^.]*"], verbose: false
end
end

namespace :screenshots do
# desc "Clears all files in tmp/screenshots"
task :clear do
rm Dir["tmp/screenshots/[^.]*"], verbose: false
end
end
end
36 changes: 36 additions & 0 deletions railties/test/application/rake/tmp_test.rb
@@ -0,0 +1,36 @@
require "isolation/abstract_unit"

module ApplicationTests
module RakeTests
class TmpTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation

def setup
build_app
end

def teardown
teardown_app
end

test "tmp:clear clear cache, socket and screenshot files" do
Dir.chdir(app_path) do
FileUtils.mkdir_p("tmp/cache")
FileUtils.touch("tmp/cache/cache_file")

FileUtils.mkdir_p("tmp/sockets")
FileUtils.touch("tmp/sockets/socket_file")

FileUtils.mkdir_p("tmp/screenshots")
FileUtils.touch("tmp/screenshots/fail.png")

`rails tmp:clear`

assert_not File.exist?("tmp/cache/cache_file")
assert_not File.exist?("tmp/sockets/socket_file")
assert_not File.exist?("tmp/screenshots/fail.png")
end
end
end
end
end

0 comments on commit 6189086

Please sign in to comment.