summaryrefslogtreecommitdiff
path: root/test/mkmf
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-11 09:42:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-03-11 09:42:46 +0000
commite77a9ad446dc1a7bb69ef706ce8c4ded28b86ced (patch)
treea143926f322ff7566fa136b033c7808f207ce487 /test/mkmf
parent23f2460e820ad8ec99cf81ff39f3e9adce67b15d (diff)
* lib/mkmf.rb (find_executable0): should exclude directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/mkmf')
-rw-r--r--test/mkmf/test_find_executable.rb31
1 files changed, 27 insertions, 4 deletions
diff --git a/test/mkmf/test_find_executable.rb b/test/mkmf/test_find_executable.rb
index 5ccec88..fe45ef2 100644
--- a/test/mkmf/test_find_executable.rb
+++ b/test/mkmf/test_find_executable.rb
@@ -2,10 +2,18 @@ require_relative 'base'
class TestMkmf
class TestFindExecutable < TestMkmf
+ def setup
+ super
+ @path, ENV["PATH"] = ENV["PATH"], @tmpdir
+ end
+
+ def teardown
+ ENV["PATH"] = @path
+ super
+ end
+
def test_find_executable
bug2669 = '[ruby-core:27912]'
- path, ENV["PATH"] = ENV["PATH"], path
- ENV["PATH"] = @tmpdir
name = "foobar#{$$}#{rand(1000)}"
exts = mkmf {self.class::CONFIG['EXECUTABLE_EXTS']}.split
stdout.filter {|s| s.sub(name, "<executable>")}
@@ -20,8 +28,23 @@ class TestMkmf
end
assert_equal("#{@tmpdir}/#{name}#{ext}", result, bug2669)
end
- ensure
- ENV["PATH"] = path
+ end
+
+ def test_find_executable_dir
+ name = "foobar#{$$}#{rand(1000)}"
+ exts = mkmf {self.class::CONFIG['EXECUTABLE_EXTS']}.split
+ stdout.filter {|s| s.sub(name, "<executable>")}
+ exts[0] ||= ""
+ exts.each do |ext|
+ full = name+ext
+ begin
+ Dir.mkdir(full)
+ result = mkmf {find_executable(name)}
+ ensure
+ Dir.rmdir(full)
+ end
+ assert_nil(result)
+ end
end
end
end