diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-03-11 09:42:46 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-03-11 09:42:46 +0000 |
commit | e77a9ad446dc1a7bb69ef706ce8c4ded28b86ced (patch) | |
tree | a143926f322ff7566fa136b033c7808f207ce487 /test/mkmf | |
parent | 23f2460e820ad8ec99cf81ff39f3e9adce67b15d (diff) | |
download | ruby-e77a9ad446dc1a7bb69ef706ce8c4ded28b86ced.tar.gz |
* 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.rb | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/test/mkmf/test_find_executable.rb b/test/mkmf/test_find_executable.rb index 5ccec880fd..fe45ef2d1c 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 |