summaryrefslogtreecommitdiff
path: root/test/fiddle
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-07-15 09:49:56 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-07-15 09:49:56 +0900
commitf347b586fb2ae53a630593a39984a4f1e9dae10b (patch)
tree6fbe065bb4514d4714a5fa6da8a07a3c84b917b6 /test/fiddle
parent0d74ddc5fff202fe7e439fbd2ab6c27dc071e38f (diff)
[ruby/fiddle] Handle#file_name results in very platform dependent
Diffstat (limited to 'test/fiddle')
-rw-r--r--test/fiddle/test_handle.rb22
1 files changed, 14 insertions, 8 deletions
diff --git a/test/fiddle/test_handle.rb b/test/fiddle/test_handle.rb
index 54ae0aa004..c0e85f7076 100644
--- a/test/fiddle/test_handle.rb
+++ b/test/fiddle/test_handle.rb
@@ -114,15 +114,21 @@ module Fiddle
def test_file_name
file_name = Handle.new(LIBC_SO).file_name
- assert_kind_of String, file_name
- expected = File.basename(File.realpath(LIBC_SO))
- basename = File.basename(file_name)
- if File::FNM_SYSCASE.zero?
- assert_equal expected, basename
- else
- assert_send [basename, :casecmp?, expected]
+ if file_name
+ assert_kind_of String, file_name
+ expected = [File.basename(LIBC_SO)]
+ begin
+ expected << File.basename(File.realpath(LIBC_SO, File.dirname(file_name)))
+ rescue Errno::ENOENT
+ end
+ basename = File.basename(file_name)
+ unless File::FNM_SYSCASE.zero?
+ basename.downcase!
+ expected.each(&:downcase!)
+ end
+ assert_include expected, basename
end
- end unless /darwin/ =~ RUBY_PLATFORM
+ end
def test_NEXT
begin