summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-29 05:21:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-29 05:21:55 +0000
commit9433d94cff528bfd169cb0eaa4d664a4bc0a5111 (patch)
tree83651f645ef7c875bdd5882a8e3937dff67be518 /test
parente8e41b217c788f04bedfe5d629fefc9340db187a (diff)
* configure.in, win32/Makefile.sub (EXECUTABLE_EXTS): should be
space-separated. [ruby-core:27912] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/mkmf/test_find_executable.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/mkmf/test_find_executable.rb b/test/mkmf/test_find_executable.rb
new file mode 100644
index 0000000000..6030a8e605
--- /dev/null
+++ b/test/mkmf/test_find_executable.rb
@@ -0,0 +1,36 @@
+require_relative 'base'
+
+class TestMkmf
+ class TestFindExecutable < TestMkmf
+ class F
+ def do_find_executable(name)
+ find_executable(name)
+ end
+ end
+
+ def test_find_executable
+ bug2669 = '[ruby-core:27912]'
+ path, ENV["PATH"] = ENV["PATH"], path
+ ENV["PATH"] = @tmpdir
+ f = F.new
+ name = "foobar#{$$}#{rand(1000)}"
+ if /mswin\d|mingw|cygwin/ =~ RUBY_PLATFORM
+ exts = %w[.exe .com .cmd .bat]
+ else
+ exts = [""]
+ end
+ exts.each do |ext|
+ full = name+ext
+ begin
+ open(full, "w") {|f| f.chmod(0755)}
+ result = f.do_find_executable(name)
+ ensure
+ File.unlink(full)
+ end
+ assert_equal("#{@tmpdir}/#{name}#{ext}", result, bug2669)
+ end
+ ensure
+ ENV["PATH"] = path
+ end
+ end
+end