aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-08-15 21:33:43 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-08-15 21:33:43 +0000
commit63700663d78cce7bf7f345aa1e95f98ec879d543 (patch)
treee11344a20d15ae1ff2d243916799d993445b741e /test/ruby
parent70a71f42ad4382d4e9ca34b20cf85b1062a317fb (diff)
downloadruby-63700663d78cce7bf7f345aa1e95f98ec879d543.tar.gz
High Sierra's APFS cannot use invalid filenames [Bug #13816]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_dir_m17n.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/ruby/test_dir_m17n.rb b/test/ruby/test_dir_m17n.rb
index 03b1597e2c..7584074c7e 100644
--- a/test/ruby/test_dir_m17n.rb
+++ b/test/ruby/test_dir_m17n.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: false
require 'test/unit'
require 'tmpdir'
+require '-test-/file'
class TestDir_M17N < Test::Unit::TestCase
def with_tmpdir
@@ -59,6 +60,8 @@ class TestDir_M17N < Test::Unit::TestCase
def test_filename_extutf8_invalid
return if /cygwin/ =~ RUBY_PLATFORM
+ # High Sierra's APFS cannot use invalid filenames
+ return if Bug::File::Fs.fsname(Dir.tmpdir) == "apfs"
with_tmpdir {|d|
assert_separately(%w[-EASCII-8BIT], <<-'EOS', :chdir=>d)
filename = "\xff".force_encoding("ASCII-8BIT") # invalid byte sequence as UTF-8
@@ -375,7 +378,12 @@ class TestDir_M17N < Test::Unit::TestCase
a = "file_one*".force_encoding Encoding::IBM437
b = "file_two*".force_encoding Encoding::EUC_JP
assert_equal([a, b].map(&:encoding), Dir[a, b].map(&:encoding))
- dir = "\u{76EE 5F551}"
+ if Bug::File::Fs.fsname(Dir.pwd) == "apfs"
+ # High Sierra's APFS cannot use filenames with undefined character
+ dir = "\u{76EE}"
+ else
+ dir = "\u{76EE 5F551}"
+ end
Dir.mkdir(dir)
list << dir
bug12081 = '[ruby-core:73868] [Bug #12081]'