diff --git a/nostr.gemspec b/nostr.gemspec index 4e4ab2b..53c12e4 100644 --- a/nostr.gemspec +++ b/nostr.gemspec @@ -47,7 +47,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'guard-rubocop', '~> 1.5' spec.add_development_dependency 'overcommit', '~> 0.59' spec.add_development_dependency 'pry', '~> 0.14' - spec.add_development_dependency 'puma', '~> 5.6' + spec.add_development_dependency 'puma', '~> 6.3' spec.add_development_dependency 'rack', '~> 3.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rbs', '~> 2.8' diff --git a/spec/support/echo_server.rb b/spec/support/echo_server.rb index c8224ca..c1cbf67 100644 --- a/spec/support/echo_server.rb +++ b/spec/support/echo_server.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'puma' +require 'logger' require 'puma/binder' require 'puma/events' @@ -26,18 +27,19 @@ class EchoServer def log(*args); end def listen(port) - events = Puma::Events.new(StringIO.new, StringIO.new) - binder = Puma::Binder.new(events) - binder.parse(["tcp://0.0.0.0:#{port}"], self) + # Instead of logging to the stdout/stderr, we'll log to a StringIO to prevent cluttering the test output + silent_stream = StringIO.new + logger = Puma::LogWriter.new(silent_stream, silent_stream) + events = Puma::Events.new + binder = Puma::Binder.new(logger) + binder.parse(["tcp://0.0.0.0:#{port}"], logger) + @server = Puma::Server.new(self, events) @server.binder = binder @server.run end def stop - case @server - when Puma::Server then @server.stop(true) - else @server.stop - end + @server&.stop(true) end end