diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-29 07:27:57 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-29 07:27:57 +0000 |
commit | 523cd7be9c8284487317bb0286fc680acc45675c (patch) | |
tree | de9909c98366fdd6a713fb473aed5964e9282aef | |
parent | 14f9af6015ce3a10f17f05db1ea63b416f9e3b93 (diff) | |
download | ruby-523cd7be9c8284487317bb0286fc680acc45675c.tar.gz |
* lib/logger.rb: check if the given logdevice object respond_to :write and
:close, not is_a? IO. duck duck.
* test/logger/test_logger.rb: self IO.pipe reading/writing may be locked by the
flood. use tempfile.
* lib/wsdl/xmlSchema/data.rb: wrong constant reference.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | lib/logger.rb | 2 | ||||
-rw-r--r-- | lib/wsdl/xmlSchema/data.rb | 2 | ||||
-rw-r--r-- | test/logger/test_logger.rb | 69 |
4 files changed, 68 insertions, 15 deletions
@@ -1,3 +1,13 @@ +Mon Sep 29 16:18:30 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org> + + * lib/logger.rb: check if the given logdevice object respond_to :write + and :close, not is_a? IO. duck duck. + + * test/logger/test_logger.rb: self IO.pipe reading/writing may be + locked by the flood. use tempfile. + + * lib/wsdl/xmlSchema/data.rb: wrong constant reference. + Mon Sep 29 16:11:23 2003 Minero Aoki <aamine@loveruby.net> * test/fileutils/test_fileutils.rb: clean up temporary symlink. diff --git a/lib/logger.rb b/lib/logger.rb index 04a106b448..e8e163ca93 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -322,7 +322,7 @@ private # def initialize(log = nil, opt = {}) @dev = @filename = @shift_age = @shift_size = nil - if log.is_a?(IO) + if log.respond_to?(:write) and log.respond_to?(:close) @dev = log elsif log.is_a?(String) @dev = open_logfile(log) diff --git a/lib/wsdl/xmlSchema/data.rb b/lib/wsdl/xmlSchema/data.rb index 9c9820abbd..539cf357c6 100644 --- a/lib/wsdl/xmlSchema/data.rb +++ b/lib/wsdl/xmlSchema/data.rb @@ -36,7 +36,7 @@ module XMLSchema AllName = XSD::QName.new(XSD::Namespace, 'all') AnyName = XSD::QName.new(XSD::Namespace, 'any') -ArrayTypeAttrName = XSD::QName.new(Namespace, 'arrayType') +ArrayTypeAttrName = XSD::QName.new(XSD::Namespace, 'arrayType') AttributeName = XSD::QName.new(XSD::Namespace, 'attribute') ChoiceName = XSD::QName.new(XSD::Namespace, 'choice') ComplexContentName = XSD::QName.new(XSD::Namespace, 'complexContent') diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb index 339a72e867..9fdd88c27c 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -1,5 +1,7 @@ require 'test/unit' require 'logger' +require 'tempfile' + class TestLoggerSeverity < Test::Unit::TestCase def test_enum @@ -34,19 +36,13 @@ class TestLogger < Test::Unit::TestCase end def log(logger, msg_id, *arg, &block) - r, w = IO.pipe - logger.instance_eval { @logdev = Logger::LogDevice.new(w) } + logdev = Tempfile.new(File.basename(__FILE__) + '.log') + logger.instance_eval { @logdev = Logger::LogDevice.new(logdev) } logger.__send__(msg_id, *arg, &block) - read_ready, = IO.select([r], nil, nil, 0.1) - w.close - if read_ready - line = r.read - r.close - Log.new(line) - else - r.close - nil - end + logdev.open + msg = logdev.read + logdev.close + Log.new(msg) end def test_level @@ -118,7 +114,7 @@ class TestLogger < Test::Unit::TestCase assert_equal("my_progname", log.progname) logger.level = WARN assert(logger.log(INFO)) - assert_nil(log_add(logger, INFO, "msg")) + assert_nil(log_add(logger, INFO, "msg").msg) log = log_add(logger, WARN, nil) { "msg" } assert_equal("msg\n", log.msg) log = log_add(logger, WARN, "") { "msg" } @@ -230,3 +226,50 @@ class TestLogger < Test::Unit::TestCase assert_equal("msg2\n\n", msg) end end + +class TestLogDevice < Test::Unit::TestCase + def d(log) + Logger::LogDevice.new(log) + end + + def test_initialize + logdev = d(STDERR) + assert_equal(STDERR, logdev.dev) + assert_nil(logdev.filename) + assert_raises(ArgumentError) do + d(nil) + end + # + filename = __FILE__ + ".#{$$}" + begin + logdev = d(filename) + assert(File.exist?(filename)) + assert(logdev.dev.sync) + assert_equal(filename, logdev.filename) + ensure + File.unlink(filename) + end + end + + def test_write + r, w = IO.pipe + logdev = d(w) + logdev.write("msg2\n\n") + read_ready, = IO.select([r], nil, nil, 0.1) + w.close + msg = r.read + r.close + assert_equal("msg2\n\n", msg) + end + + def test_close + r, w = IO.pipe + logdev = d(w) + logdev.write("msg2\n\n") + read_ready, = IO.select([r], nil, nil, 0.1) + assert(!w.closed?) + logdev.close + assert(w.closed?) + r.close + end +end |