Sha256: e5f45396be0eb7ee038db48417d90c5a58f9fe1b4c613304397e0a92a6e00dee

Contents?: true

Size: 1.19 KB

Versions: 54

Compression:

Stored size: 1.19 KB

Contents

require File.expand_path('../helper', __FILE__)
require 'rake/clean'

class TestRakeClean < Rake::TestCase
  def test_clean
    load 'rake/clean.rb', true

    assert Rake::Task['clean'], "Should define clean"
    assert Rake::Task['clobber'], "Should define clobber"
    assert Rake::Task['clobber'].prerequisites.include?("clean"),
      "Clobber should require clean"
  end

  def test_cleanup
    file_name = create_undeletable_file

    out, _ = capture_io do
      Rake::Cleaner.cleanup(file_name, verbose: false)
    end
    assert_match(/failed to remove/i, out)

  ensure
    remove_undeletable_file
  end

  private

  def create_undeletable_file
    dir_name = File.join(@tempdir, "deletedir")
    file_name = File.join(dir_name, "deleteme")
    FileUtils.mkdir(dir_name)
    FileUtils.touch(file_name)
    FileUtils.chmod(0, file_name)
    FileUtils.chmod(0, dir_name)
    file_name
  end

  def remove_undeletable_file
    dir_name = File.join(@tempdir, "deletedir")
    file_name = File.join(dir_name, "deleteme")
    FileUtils.chmod(0777, dir_name)
    FileUtils.chmod(0777, file_name)
    Rake::Cleaner.cleanup(file_name, verbose: false)
    Rake::Cleaner.cleanup(dir_name, verbose: false)
  end
end

Version data entries

54 entries across 53 versions & 11 rubygems

Version Path
climine-0.0.7 vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_clean.rb
sadui-0.0.4 vendor/bundle/ruby/2.1.0/gems/rake-10.1.1/test/test_rake_clean.rb
sadui-0.0.4 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
climine-0.0.6 vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_clean.rb
climine-0.0.5 vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_clean.rb
plyom_user-0.3.1 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.3.0 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.9 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.8 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
climine-0.0.4 vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_clean.rb
vtd_xml-0.0.3-java bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.7 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.6 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.5 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
climine-0.0.3 vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_clean.rb
plyom_user-0.2.4 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.3 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.2 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.1 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb
plyom_user-0.2.0 vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb