ruby-changes:19364
From: yugui <ko1@a...>
Date: Sun, 1 May 2011 18:37:42 +0900 (JST)
Subject: [ruby-changes:19364] Ruby:r31404 (ruby_1_9_2): merges r30786, r30787 and r30797 from trunk into ruby_1_9_2.
yugui 2011-05-01 18:37:17 +0900 (Sun, 01 May 2011) New Revision: 31404 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31404 Log: merges r30786, r30787 and r30797 from trunk into ruby_1_9_2. -- * test/fileutils/fileasserts.rb: add message arguments. -- * lib/fileutils.rb (FileUtils::LowMethods): make low level methods in NoWrite and DryRun to do nothing. [ruby-dev:43129] -- * test/fileutils/fileasserts.rb (assert_block): pass arguments as-is. [ruby-dev:43174] -- * test/fileutils/fileasserts.rb (assert_block): little workaround for [ruby-dev:43174]. Added files: branches/ruby_1_9_2/test/fileutils/clobber.rb Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/lib/fileutils.rb branches/ruby_1_9_2/test/fileutils/fileasserts.rb branches/ruby_1_9_2/test/fileutils/test_dryrun.rb branches/ruby_1_9_2/test/fileutils/test_nowrite.rb branches/ruby_1_9_2/version.h Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 31403) +++ ruby_1_9_2/ChangeLog (revision 31404) @@ -1,3 +1,23 @@ +Sun May 1 18:35:34 2011 Yuki Sonoda (Yugui) <yugui@y...> + + * test/fileutils/fileasserts.rb (assert_block): little workaround + for [ruby-dev:43174]. + +Sat Feb 5 20:40:34 2011 Nobuyoshi Nakada <nobu@r...> + + * test/fileutils/fileasserts.rb (assert_block): pass arguments + as-is. [ruby-dev:43174] + +Sat Feb 5 03:37:47 2011 Nobuyoshi Nakada <nobu@r...> + + * lib/fileutils.rb (FileUtils::LowMethods): make low level methods + in NoWrite and DryRun to do nothing. [ruby-dev:43129] + + * test/fileutils/fileasserts.rb: add message arguments. + + * test/fileutils/fileasserts.rb (Test::Unit::Assertions#assert_block): + show the given message. + Sat Feb 5 02:09:39 2011 Nobuyoshi Nakada <nobu@r...> * parse.y (lex_getline, parser_set_encode): set encoding of lines Index: ruby_1_9_2/lib/fileutils.rb =================================================================== --- ruby_1_9_2/lib/fileutils.rb (revision 31403) +++ ruby_1_9_2/lib/fileutils.rb (revision 31404) @@ -1524,6 +1524,12 @@ OPT_TABLE.keys.select {|m| OPT_TABLE[m].include?(opt) } end + LOW_METHODS = singleton_methods(false) - collect_method(:noop).map(&:intern) + module LowMethods + module_eval("private\n" + ::FileUtils::LOW_METHODS.map {|name| "def #{name}(*)end"}.join("\n"), + __FILE__, __LINE__) + end + METHODS = singleton_methods() - [:private_module_function, :commands, :options, :have_option?, :options_of, :collect_method] @@ -1559,6 +1565,7 @@ # module NoWrite include FileUtils + include LowMethods @fileutils_output = $stderr @fileutils_label = '' ::FileUtils.collect_method(:noop).each do |name| @@ -1585,6 +1592,7 @@ # module DryRun include FileUtils + include LowMethods @fileutils_output = $stderr @fileutils_label = '' ::FileUtils.collect_method(:noop).each do |name| Index: ruby_1_9_2/version.h =================================================================== --- ruby_1_9_2/version.h (revision 31403) +++ ruby_1_9_2/version.h (revision 31404) @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 191 +#define RUBY_PATCHLEVEL 192 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 Index: ruby_1_9_2/test/fileutils/test_dryrun.rb =================================================================== --- ruby_1_9_2/test/fileutils/test_dryrun.rb (revision 31403) +++ ruby_1_9_2/test/fileutils/test_dryrun.rb (revision 31404) @@ -1,11 +1,13 @@ # $Id$ +require 'fileutils' require 'test/unit' -require 'fileutils' +require_relative 'clobber' class TestFileUtilsDryRun < Test::Unit::TestCase include FileUtils::DryRun + include TestFileUtils::Clobber def test_visibility FileUtils::METHODS.each do |m| Index: ruby_1_9_2/test/fileutils/fileasserts.rb =================================================================== --- ruby_1_9_2/test/fileutils/fileasserts.rb (revision 31403) +++ ruby_1_9_2/test/fileutils/fileasserts.rb (revision 31404) @@ -8,51 +8,56 @@ yield end - def assert_same_file(from, to) + def assert_block(*msgs) + assert yield, *msgs.compact + end + + def assert_same_file(from, to, message=nil) _wrap_assertion { - assert_block("file #{from} != #{to}") { + assert_block("file #{from} != #{to}#{message&&': '}#{message||''}") { File.read(from) == File.read(to) } } end - def assert_same_entry(from, to) + def assert_same_entry(from, to, message=nil) a = File.stat(from) b = File.stat(to) - assert_equal a.mode, b.mode, "mode #{a.mode} != #{b.mode}" + msg = "#{message&&': '}#{message||''}" + assert_equal a.mode, b.mode, "mode #{a.mode} != #{b.mode}#{msg}" #assert_equal a.atime, b.atime - assert_equal_timestamp a.mtime, b.mtime, "mtime #{a.mtime} != #{b.mtime}" - assert_equal a.uid, b.uid, "uid #{a.uid} != #{b.uid}" - assert_equal a.gid, b.gid, "gid #{a.gid} != #{b.gid}" + assert_equal_timestamp a.mtime, b.mtime, "mtime #{a.mtime} != #{b.mtime}#{msg}" + assert_equal a.uid, b.uid, "uid #{a.uid} != #{b.uid}#{msg}" + assert_equal a.gid, b.gid, "gid #{a.gid} != #{b.gid}#{msg}" end - def assert_file_exist(path) + def assert_file_exist(path, message=nil) _wrap_assertion { - assert_block("file not exist: #{path}") { + assert_block("file not exist: #{path}#{message&&': '}#{message||''}") { File.exist?(path) } } end - def assert_file_not_exist(path) + def assert_file_not_exist(path, message=nil) _wrap_assertion { - assert_block("file not exist: #{path}") { + assert_block("file not exist: #{path}#{message&&': '}#{message||''}") { not File.exist?(path) } } end - def assert_directory(path) + def assert_directory(path, message=nil) _wrap_assertion { - assert_block("is not directory: #{path}") { + assert_block("is not directory: #{path}#{message&&': '}#{message||''}") { File.directory?(path) } } end - def assert_symlink(path) + def assert_symlink(path, message=nil) _wrap_assertion { - assert_block("is not a symlink: #{path}") { + assert_block("is not a symlink: #{path}#{message&&': '}#{message||''}") { File.symlink?(path) } } @@ -60,7 +65,7 @@ def assert_not_symlink(path) _wrap_assertion { - assert_block("is a symlink: #{path}") { + assert_block("is a symlink: #{path}#{message&&': '}#{message||''}") { not File.symlink?(path) } } Index: ruby_1_9_2/test/fileutils/test_nowrite.rb =================================================================== --- ruby_1_9_2/test/fileutils/test_nowrite.rb (revision 31403) +++ ruby_1_9_2/test/fileutils/test_nowrite.rb (revision 31404) @@ -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 @@ "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 Index: ruby_1_9_2/test/fileutils/clobber.rb =================================================================== --- ruby_1_9_2/test/fileutils/clobber.rb (revision 0) +++ ruby_1_9_2/test/fileutils/clobber.rb (revision 31404) @@ -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 Property changes on: ruby_1_9_2/test/fileutils/clobber.rb ___________________________________________________________________ Added: svn:eol-style + LF Added: svn:keywords + Id -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/