summaryrefslogtreecommitdiff
path: root/spec/ruby/core/file/fixtures
diff options
context:
space:
mode:
authoreregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-06-13 21:58:54 +0000
committereregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-06-13 21:58:54 +0000
commitb46da8d84efeb97cb52ba0560d5b149ccda0d561 (patch)
tree382ba848ef97215f1a5ec991727db3ed7f90973c /spec/ruby/core/file/fixtures
parent5b55eaa00db05004d1a6b74c3aaa5e680fc73235 (diff)
Update to ruby/spec@4bb0f25
* Specs added by TruffleRuby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/ruby/core/file/fixtures')
-rw-r--r--spec/ruby/core/file/fixtures/file_types.rb30
1 files changed, 16 insertions, 14 deletions
diff --git a/spec/ruby/core/file/fixtures/file_types.rb b/spec/ruby/core/file/fixtures/file_types.rb
index 397cac9b6b..a36817fb4e 100644
--- a/spec/ruby/core/file/fixtures/file_types.rb
+++ b/spec/ruby/core/file/fixtures/file_types.rb
@@ -5,17 +5,11 @@ module FileSpecs
@file = tmp("test.txt")
@dir = Dir.pwd
@fifo = tmp("test_fifo")
+ @link = tmp("test_link")
platform_is_not :windows do
- @block = `find /dev /devices -type b 2> /dev/null`.split("\n").first
- @char = `{ tty || find /dev /devices -type c; } 2> /dev/null`.split("\n").last
-
- %w[/dev /usr/bin /usr/local/bin].each do |dir|
- links = `find #{dir} -type l 2> /dev/null`.split("\n")
- next if links.empty?
- @link = links.first
- break
- end
+ @block = `find /dev /devices -type b 2>/dev/null`.split("\n").first
+ @char = `{ tty || find /dev /devices -type c; } 2>/dev/null`.split("\n").last
end
@configured = true
@@ -32,24 +26,29 @@ module FileSpecs
yield @dir
end
- # TODO: need a platform-independent helper here
def self.fifo
- system "mkfifo #{@fifo} 2> /dev/null"
+ File.mkfifo(@fifo)
yield @fifo
ensure
rm_r @fifo
end
def self.block_device
+ raise "Could not find a block device" unless @block
yield @block
end
def self.character_device
+ raise "Could not find a character device" unless @char
yield @char
end
def self.symlink
+ touch(@file)
+ File.symlink(@file, @link)
yield @link
+ ensure
+ rm_r @file, @link
end
def self.socket
@@ -57,8 +56,11 @@ module FileSpecs
name = tmp("ftype_socket.socket")
rm_r name
socket = UNIXServer.new name
- yield name
- socket.close
- rm_r name
+ begin
+ yield name
+ ensure
+ socket.close
+ rm_r name
+ end
end
end