summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-io/test/file.rb
diff options
context:
space:
mode:
authordearblue <[email protected]>2019-08-24 11:11:00 +0900
committerdearblue <[email protected]>2019-08-24 11:11:00 +0900
commit6ad2442fb9f2b88088cca9a6d1bd73e71c02e680 (patch)
tree4aa88b2001db6664f8a05703c4ec22452c8f27c2 /mrbgems/mruby-io/test/file.rb
parent71242c0f2e1c07b693baf12ead8384dbfd120cb5 (diff)
downloadmruby-6ad2442fb9f2b88088cca9a6d1bd73e71c02e680.tar.gz
mruby-6ad2442fb9f2b88088cca9a6d1bd73e71c02e680.zip
Create a symbolic link in the temporary directory; fix #4642
Because the linker gives a warning on FreeBSD 12.0. ``` warning: mktemp() possibly used unsafely; consider using mkstemp() ```
Diffstat (limited to 'mrbgems/mruby-io/test/file.rb')
-rw-r--r--mrbgems/mruby-io/test/file.rb29
1 files changed, 17 insertions, 12 deletions
diff --git a/mrbgems/mruby-io/test/file.rb b/mrbgems/mruby-io/test/file.rb
index 5f88bcee8..143096759 100644
--- a/mrbgems/mruby-io/test/file.rb
+++ b/mrbgems/mruby-io/test/file.rb
@@ -179,20 +179,25 @@ end
assert('File.symlink') do
target_name = "/usr/bin"
- symlink_name = MRubyIOTestUtil.mktemp("test-bin-dummy-XXXXXXXX")
if !File.exist?(target_name)
skip("target directory of File.symlink is not found")
- else
- begin
- assert_equal 0, File.symlink(target_name, symlink_name)
- begin
- assert_equal true, File.symlink?(symlink_name)
- ensure
- File.delete symlink_name
- end
- rescue NotImplementedError => e
- skip e.message
- end
+ end
+
+ begin
+ tmpdir = MRubyIOTestUtil.mkdtemp("mruby-io-test.XXXXXX")
+ rescue => e
+ skip e.message
+ end
+
+ symlink_name = "#{tmpdir}/test-bin-dummy"
+ begin
+ assert_equal 0, File.symlink(target_name, symlink_name)
+ assert_equal true, File.symlink?(symlink_name)
+ rescue NotImplementedError => e
+ skip e.message
+ ensure
+ File.delete symlink_name rescue nil
+ MRubyIOTestUtil.rmdir tmpdir rescue nil
end
end