aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-07-10 21:26:54 -0500
committerJack Nagel2014-07-10 22:00:43 -0500
commitc259866517ac9eb730f2feda8460558135857acd (patch)
treec5bb186c49344a7c51e06f6768fa5b8428783df5 /Library
parent284389a6bd4bf88269b4db580015e8590dd76a37 (diff)
downloadbrew-c259866517ac9eb730f2feda8460558135857acd.tar.bz2
Raise Errno::ENOENT instead of RuntimeError from Pathname#install
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/pathname.rb4
-rw-r--r--Library/Homebrew/test/test_pathname.rb4
2 files changed, 3 insertions, 5 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index fdf5395c9..78c27bf3f 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -35,6 +35,8 @@ class Pathname
end
def install_p src, new_basename = nil
+ raise Errno::ENOENT, src.to_s unless File.symlink?(src) || File.exist?(src)
+
if new_basename
new_basename = File.basename(new_basename) # rationale: see Pathname.+
dst = self+new_basename
@@ -45,8 +47,6 @@ class Pathname
src = src.to_s
dst = dst.to_s
- raise "#{src} does not exist" unless File.symlink? src or File.exist? src
-
dst = yield(src, dst) if block_given?
mkpath
diff --git a/Library/Homebrew/test/test_pathname.rb b/Library/Homebrew/test/test_pathname.rb
index adf4b2238..a20f36c75 100644
--- a/Library/Homebrew/test/test_pathname.rb
+++ b/Library/Homebrew/test/test_pathname.rb
@@ -83,9 +83,7 @@ class PathnameExtensionTests < Homebrew::TestCase
end
def test_install_missing_file
- assert_raises(RuntimeError) do
- @dst.install 'non_existent_file'
- end
+ assert_raises(Errno::ENOENT) { @dst.install "non_existent_file" }
end
def test_install_removes_original