From 2722cb9ce1170751e705103fb05a81a7a9e96e64 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 12 Apr 2015 00:57:49 +0000 Subject: * test/ruby/test_file_exhaustive.rb: Test a block device on GNU/Linux. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_file_exhaustive.rb | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb index c2e41e32ba..5ebdbc5ff4 100644 --- a/test/ruby/test_file_exhaustive.rb +++ b/test/ruby/test_file_exhaustive.rb @@ -155,6 +155,20 @@ class TestFileExhaustive < Test::Unit::TestCase @chardev end + def blockdev + return @blockdev if defined? @blockdev + if /linux/ =~ RUBY_PLATFORM + if File.exist? '/dev/loop0' + @blockdev = '/dev/loop0' + elsif File.exist? '/dev/sda' + @blockdev = '/dev/sda' + end + else + @blockdev = nil + end + @blockdev + end + def test_path file = regular_file @@ -272,10 +286,11 @@ class TestFileExhaustive < Test::Unit::TestCase assert_file.socket?(socket) if socket end - def test_blockdev_p ## xxx + def test_blockdev_p assert_file.not_blockdev?(@dir) assert_file.not_blockdev?(regular_file) assert_file.not_blockdev?(nofile) + assert_file.blockdev?(blockdev) if blockdev end def test_chardev_p @@ -1119,6 +1134,7 @@ class TestFileExhaustive < Test::Unit::TestCase symlinkfile, hardlinkfile, chardev, + blockdev, fifo, socket ].compact.each do |f| @@ -1245,9 +1261,10 @@ class TestFileExhaustive < Test::Unit::TestCase assert(File::Stat.new(socket).socket?) if socket end - def test_stat_blockdev_p ## xxx + def test_stat_blockdev_p assert(!(File::Stat.new(@dir).blockdev?)) assert(!(File::Stat.new(regular_file).blockdev?)) + assert(File::Stat.new(blockdev).blockdev?) if blockdev end def test_stat_chardev_p -- cgit v1.2.3