[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]