aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-19 14:38:28 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-19 14:38:28 +0000
commit3ad8210ce18ebc926feaf300ab0f93c171329078 (patch)
treea01d6e10e54e4b92b7971d9371f3c519e312de78
parentc7f815eed897a8d78b19e041a569d2667a403f4a (diff)
downloadruby-3ad8210ce18ebc926feaf300ab0f93c171329078.tar.gz
find.rb: raise with the name
* lib/find.rb (Find#find): raise with the given path name if it does not exist. [ruby-dev:49497] [Bug #12087] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/find.rb2
-rw-r--r--test/test_find.rb11
3 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 13de019257..1d6a129806 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Feb 19 23:37:52 2016 Masahiro Tomita <tommy@tmtm.org>
+
+ * lib/find.rb (Find#find): raise with the given path name if it
+ does not exist. [ruby-dev:49497] [Bug #12087]
+
Fri Feb 19 12:44:57 2016 Martin Duerst <duerst@it.aoyama.ac.jp>
* enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array.
diff --git a/lib/find.rb b/lib/find.rb
index aa7a3c082b..093f8557c3 100644
--- a/lib/find.rb
+++ b/lib/find.rb
@@ -40,7 +40,7 @@ module Find
fs_encoding = Encoding.find("filesystem")
- paths.collect!{|d| raise Errno::ENOENT unless File.exist?(d); d.dup}.each do |path|
+ paths.collect!{|d| raise Errno::ENOENT, d unless File.exist?(d); d.dup}.each do |path|
path = path.to_path if path.respond_to? :to_path
enc = path.encoding == Encoding::US_ASCII ? fs_encoding : path.encoding
ps = [path]
diff --git a/test/test_find.rb b/test/test_find.rb
index d0e92067f1..e3663e47b2 100644
--- a/test/test_find.rb
+++ b/test/test_find.rb
@@ -12,6 +12,17 @@ class TestFind < Test::Unit::TestCase
}
end
+ def test_nonexistence
+ bug12087 = '[ruby-dev:49497] [Bug #12087]'
+ Dir.mktmpdir {|d|
+ path = "#{d}/a"
+ re = /#{Regexp.quote(path)}\z/
+ assert_raise_with_message(Errno::ENOENT, re, bug12087) {
+ Find.find(path) {}
+ }
+ }
+ end
+
def test_rec
Dir.mktmpdir {|d|
File.open("#{d}/a", "w"){}