diff --git a/lib/puma/events.rb b/lib/puma/events.rb index 63271e0967..b255f2613f 100644 --- a/lib/puma/events.rb +++ b/lib/puma/events.rb @@ -29,8 +29,8 @@ def call(str) # def initialize(stdout, stderr) @formatter = DefaultFormatter.new - @stdout = stdout.dup - @stderr = stderr.dup + @stdout = stdout + @stderr = stderr @stdout.sync = true @stderr.sync = true diff --git a/test/test_events.rb b/test/test_events.rb index 676ece6af1..f966253514 100644 --- a/test/test_events.rb +++ b/test/test_events.rb @@ -6,6 +6,7 @@ def test_null assert_instance_of Puma::NullIO, events.stdout assert_instance_of Puma::NullIO, events.stderr + assert_equal events.stdout, events.stderr end def test_strings @@ -18,17 +19,8 @@ def test_strings def test_stdio events = Puma::Events.stdio - # events.stdout is a dup, so same file handle, different ruby object, but inspect should show the same file handle - assert_equal STDOUT.inspect, events.stdout.inspect - assert_equal STDERR.inspect, events.stderr.inspect - end - - def test_stdio_respects_sync - STDOUT.sync = false - events = Puma::Events.stdio - - assert !STDOUT.sync - assert events.stdout.sync + assert_equal STDOUT, events.stdout + assert_equal STDERR, events.stderr end def test_register_callback_with_block diff --git a/test/test_tcp_logger.rb b/test/test_tcp_logger.rb index ff9bf06994..e6b31f7a13 100644 --- a/test/test_tcp_logger.rb +++ b/test/test_tcp_logger.rb @@ -18,7 +18,6 @@ def test_events # in lib/puma/launcher.rb:85 # Puma::Events is default tcp_logger for cluster mode logger = Puma::Events.new(STDOUT, STDERR) - logger.instance_variable_set(:@stdout, $stdout) # ensure capture_process_io has access to the loggers output out, err = capture_subprocess_io do Puma::TCPLogger.new(logger, @server.app).call({}, @socket) end