aboutsummaryrefslogtreecommitdiffstats
path: root/test/logger
diff options
context:
space:
mode:
authorsonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-17 13:58:57 +0000
committersonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-11-17 13:58:57 +0000
commitf952570bddc07e87b7c5a3f62dd5fbe390b7fe48 (patch)
treed1a0325bbead7687c7955aca6173ffb29d59a247 /test/logger
parent6a533a3ecc23e6cb90e2616231f2b67d15ff3239 (diff)
downloadruby-f952570bddc07e87b7c5a3f62dd5fbe390b7fe48.tar.gz
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/logger')
-rw-r--r--test/logger/test_logdevice.rb66
-rw-r--r--test/logger/test_logger.rb6
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"