diff options
author | sonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-11-17 13:58:57 +0000 |
---|---|---|
committer | sonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-11-17 13:58:57 +0000 |
commit | f952570bddc07e87b7c5a3f62dd5fbe390b7fe48 (patch) | |
tree | d1a0325bbead7687c7955aca6173ffb29d59a247 /test | |
parent | 6a533a3ecc23e6cb90e2616231f2b67d15ff3239 (diff) |
lib/logger.rb: Add Logger#reopen
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/logger/test_logdevice.rb | 66 | ||||
-rw-r--r-- | test/logger/test_logger.rb | 6 |
2 files changed, 72 insertions, 0 deletions
diff --git a/test/logger/test_logdevice.rb b/test/logger/test_logdevice.rb index ff39ebde1e..6482e25adb 100644 --- a/test/logger/test_logdevice.rb +++ b/test/logger/test_logdevice.rb @@ -99,6 +99,72 @@ class TestLogDevice < Test::Unit::TestCase r.close end + def test_reopen_io + logdev = d(STDERR) + old_dev = logdev.dev + logdev.reopen + assert_equal(STDERR, logdev.dev) + assert(!old_dev.closed?) + end + + def test_reopen_io_by_io + logdev = d(STDERR) + old_dev = logdev.dev + logdev.reopen(STDOUT) + assert_equal(STDOUT, logdev.dev) + assert(!old_dev.closed?) + end + + def test_reopen_io_by_file + logdev = d(STDERR) + old_dev = logdev.dev + logdev.reopen(@filename) + begin + assert(File.exist?(@filename)) + assert_equal(@filename, logdev.filename) + assert(!old_dev.closed?) + ensure + logdev.close + end + end + + def test_reopen_file + logdev = d(@filename) + old_dev = logdev.dev + File.unlink(@filename) if File.exist?(@filename) # remove once, then reopen + logdev.reopen + begin + assert(File.exist?(@filename)) + assert_equal(@filename, logdev.filename) + assert(old_dev.closed?) + ensure + logdev.close + end + end + + def test_reopen_file_by_io + logdev = d(@filename) + old_dev = logdev.dev + logdev.reopen(STDOUT) + assert_equal(STDOUT, logdev.dev) + assert_nil(logdev.filename) + assert(old_dev.closed?) + end + + def test_reopen_file_by_file + logdev = d(@filename) + old_dev = logdev.dev + File.unlink(@filename) if File.exist?(@filename) # remove once, then reopen + logdev.reopen(@filename) + begin + assert(File.exist?(@filename)) + assert_equal(@filename, logdev.filename) + assert(old_dev.closed?) + ensure + logdev.close + end + end + def test_shifting_size tmpfile = Tempfile.new([File.basename(__FILE__, '.*'), '_1.log']) logfile = tmpfile.path diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb index dc1a155b49..35f6cf9d0e 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -121,6 +121,12 @@ class TestLogger < Test::Unit::TestCase assert_nil(logger.datetime_format) end + def test_reopen + logger = Logger.new(STDERR) + logger.reopen(STDOUT) + assert_equal(STDOUT, logger.instance_variable_get(:@logdev).dev) + end + def test_add logger = Logger.new(nil) logger.progname = "my_progname" |