From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/test/mkmf/test_find_executable.rb | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 jni/ruby/test/mkmf/test_find_executable.rb (limited to 'jni/ruby/test/mkmf/test_find_executable.rb') diff --git a/jni/ruby/test/mkmf/test_find_executable.rb b/jni/ruby/test/mkmf/test_find_executable.rb new file mode 100644 index 0000000..fe45ef2 --- /dev/null +++ b/jni/ruby/test/mkmf/test_find_executable.rb @@ -0,0 +1,50 @@ +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]' + name = "foobar#{$$}#{rand(1000)}" + exts = mkmf {self.class::CONFIG['EXECUTABLE_EXTS']}.split + stdout.filter {|s| s.sub(name, "")} + exts[0] ||= "" + exts.each do |ext| + full = name+ext + begin + open(full, "w") {|ff| ff.chmod(0755)} + result = mkmf {find_executable(name)} + ensure + File.unlink(full) + end + assert_equal("#{@tmpdir}/#{name}#{ext}", result, bug2669) + end + end + + def test_find_executable_dir + name = "foobar#{$$}#{rand(1000)}" + exts = mkmf {self.class::CONFIG['EXECUTABLE_EXTS']}.split + stdout.filter {|s| s.sub(name, "")} + 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 -- cgit v1.2.3