diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-02-04 18:37:52 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-02-04 18:37:52 +0000 |
commit | 780678dafbe330218b70981f2e1ca06502eb28c5 (patch) | |
tree | 19f9d25fa2713fb99e8495eb26e77670f35e7155 /test/fileutils | |
parent | ab53367bc7aec0ba935a62dc745f1f2e001f8a08 (diff) |
* lib/fileutils.rb (FileUtils::LowMethods): make low level methods
in NoWrite and DryRun to do nothing. [ruby-dev:43129]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/fileutils')
-rw-r--r-- | test/fileutils/clobber.rb | 89 | ||||
-rw-r--r-- | test/fileutils/test_dryrun.rb | 4 | ||||
-rw-r--r-- | test/fileutils/test_nowrite.rb | 77 |
3 files changed, 94 insertions, 76 deletions
diff --git a/test/fileutils/clobber.rb b/test/fileutils/clobber.rb new file mode 100644 index 0000000000..b3359e91a4 --- /dev/null +++ b/test/fileutils/clobber.rb @@ -0,0 +1,89 @@ +require 'fileutils' +require 'test/unit' +require 'tmpdir' +require_relative 'fileasserts' + +class TestFileUtils < Test::Unit::TestCase +end + +module TestFileUtils::Clobber + def my_rm_rf(path) + if File.exist?('/bin/rm') + system %Q[/bin/rm -rf "#{path}"] + else + FileUtils.rm_rf path + end + end + + SRC = 'data/src' + COPY = 'data/copy' + + def setup + @prevdir = Dir.pwd + class << (@fileutils_output = "") + alias puts << + end + tmproot = "#{Dir.tmpdir}/fileutils.rb.#{$$}" + Dir.mkdir tmproot unless File.directory?(tmproot) + Dir.chdir tmproot + my_rm_rf 'data'; Dir.mkdir 'data' + my_rm_rf 'tmp'; Dir.mkdir 'tmp' + File.open(SRC, 'w') {|f| f.puts 'dummy' } + File.open(COPY, 'w') {|f| f.puts 'dummy' } + end + + def teardown + tmproot = Dir.pwd + Dir.chdir @prevdir + my_rm_rf tmproot + end + + def test_cp + cp SRC, 'tmp/cp' + check 'tmp/cp' + end + + def test_mv + mv SRC, 'tmp/mv' + check 'tmp/mv' + end + + def check(dest, message=nil) + assert_file_not_exist dest, message + assert_file_exist SRC, message + assert_same_file SRC, COPY, message + end + + def test_rm + rm SRC + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_rm_f + rm_f SRC + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_rm_rf + rm_rf SRC + assert_file_exist SRC + assert_same_file SRC, COPY + end + + def test_mkdir + mkdir 'dir' + assert_file_not_exist 'dir' + end + + def test_mkdir_p + mkdir 'dir/dir/dir' + assert_file_not_exist 'dir' + end + + def test_copy_entry + copy_entry SRC, 'tmp/copy_entry' + check 'tmp/copy_entry', bug4331 = '[ruby-dev:43129]' + end +end diff --git a/test/fileutils/test_dryrun.rb b/test/fileutils/test_dryrun.rb index e5ca25c9b4..85badbdb06 100644 --- a/test/fileutils/test_dryrun.rb +++ b/test/fileutils/test_dryrun.rb @@ -1,11 +1,13 @@ # $Id$ -require 'test/unit' require 'fileutils' +require 'test/unit' +require_relative 'clobber' class TestFileUtilsDryRun < Test::Unit::TestCase include FileUtils::DryRun + include TestFileUtils::Clobber def test_visibility FileUtils::METHODS.each do |m| diff --git a/test/fileutils/test_nowrite.rb b/test/fileutils/test_nowrite.rb index 4575d3e7af..8ca9e89fa7 100644 --- a/test/fileutils/test_nowrite.rb +++ b/test/fileutils/test_nowrite.rb @@ -1,13 +1,13 @@ # $Id$ require 'fileutils' -require_relative 'fileasserts' -require 'tmpdir' require 'test/unit' +require_relative 'clobber' class TestFileUtilsNoWrite < Test::Unit::TestCase include FileUtils::NoWrite + include TestFileUtils::Clobber def test_visibility FileUtils::METHODS.each do |m| @@ -23,77 +23,4 @@ class TestFileUtilsNoWrite < Test::Unit::TestCase "FileUtils::NoWrite\##{m} is not private" end end - - def my_rm_rf(path) - if File.exist?('/bin/rm') - system %Q[/bin/rm -rf "#{path}"] - else - FileUtils.rm_rf path - end - end - - SRC = 'data/src' - COPY = 'data/copy' - - def setup - @prevdir = Dir.pwd - tmproot = "#{Dir.tmpdir}/fileutils.rb.#{$$}" - Dir.mkdir tmproot unless File.directory?(tmproot) - Dir.chdir tmproot - my_rm_rf 'data'; Dir.mkdir 'data' - my_rm_rf 'tmp'; Dir.mkdir 'tmp' - File.open(SRC, 'w') {|f| f.puts 'dummy' } - File.open(COPY, 'w') {|f| f.puts 'dummy' } - end - - def teardown - tmproot = Dir.pwd - Dir.chdir @prevdir - my_rm_rf tmproot - end - - def test_cp - cp SRC, 'tmp/cp' - check 'tmp/cp' - end - - def test_mv - mv SRC, 'tmp/mv' - check 'tmp/mv' - end - - def check(dest) - assert_file_not_exist dest - assert_file_exist SRC - assert_same_file SRC, COPY - end - - def test_rm - rm SRC - assert_file_exist SRC - assert_same_file SRC, COPY - end - - def test_rm_f - rm_f SRC - assert_file_exist SRC - assert_same_file SRC, COPY - end - - def test_rm_rf - rm_rf SRC - assert_file_exist SRC - assert_same_file SRC, COPY - end - - def test_mkdir - mkdir 'dir' - assert_file_not_exist 'dir' - end - - def test_mkdir_p - mkdir 'dir/dir/dir' - assert_file_not_exist 'dir' - end - end |