From: Debian Ruby Team <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
Date: Mon, 23 Dec 2024 19:26:53 -0300
Subject: Skip tests failing with ruby3.2 in Ubuntu

  1) Error:
TestRackUp::RackUp#test_bin:
TimeoutEveryTestCase::TestTookTooLong: execution expired
    /<<PKGBUILDDIR>>/test/test_rack_handler.rb:318:in `sysread'
    /<<PKGBUILDDIR>>/test/test_rack_handler.rb:318:in `test_bin'
    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'

Those tests reported the following errors:

  2) Error:
TestCLI#test_control_clustered:
TimeoutEveryTestCase::TestTookTooLong: execution expired
    /<<PKGBUILDDIR>>/test/test_cli.rb:136:in `join'
    /<<PKGBUILDDIR>>/test/test_cli.rb:136:in `test_control_clustered'
    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'

  3) Error:
TestPluginSystemd#test_systemd_notify_usr2_hot_restart_cluster:
Errno::EPIPE: Broken pipe
    /<<PKGBUILDDIR>>/test/test_plugin_systemd.rb:90:in `write'
    /<<PKGBUILDDIR>>/test/test_plugin_systemd.rb:90:in `assert_restarts_with_systemd'
    /<<PKGBUILDDIR>>/test/test_plugin_systemd.rb:42:in `test_systemd_notify_usr2_hot_restart_cluster'
    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'

  4) Error:
TestIntegrationPumactl#test_halt_unix:
Errno::ECHILD: No child processes
    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `wait2'
    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `ctl_unix'
    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:42:in `test_halt_unix'
    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'

  5) Error:
TestIntegrationPumactl#test_stop_unix:
Errno::ECHILD: No child processes
    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `wait2'
    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:55:in `ctl_unix'
    /<<PKGBUILDDIR>>/test/test_integration_pumactl.rb:38:in `test_stop_unix'
    /<<PKGBUILDDIR>>/test/helper.rb:90:in `block (4 levels) in run'
    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
    /<<PKGBUILDDIR>>/test/helper.rb:88:in `block (3 levels) in run'

  6) Error:
TestPumaServer#test_timeout_in_data_phase:
TimeoutEveryTestCase::TestTookTooLong: execution expired
    /<<PKGBUILDDIR>>/debian/puma/usr/lib/x86_64-linux-gnu/rubygems-integration/3.2.0/gems/puma-6.4.2/lib/puma/server.rb:627:in `join'
    /<<PKGBUILDDIR>>/debian/puma/usr/lib/x86_64-linux-gnu/rubygems-integration/3.2.0/gems/puma-6.4.2/lib/puma/server.rb:627:in `stop'
    /<<PKGBUILDDIR>>/test/test_puma_server.rb:31:in `teardown'
    /<<PKGBUILDDIR>>/test/helper.rb:96:in `block (5 levels) in run'
    /<<PKGBUILDDIR>>/test/helper.rb:96:in `each'
    /<<PKGBUILDDIR>>/test/helper.rb:96:in `block (4 levels) in run'
    /usr/lib/ruby/3.2.0/timeout.rb:189:in `block in timeout'
    /usr/lib/ruby/3.2.0/timeout.rb:196:in `timeout'
    /<<PKGBUILDDIR>>/test/helper.rb:95:in `block (3 levels) in run'
 .
 Extra failure in Debian:
 .
  1) Error:
TestIntegrationSingle#test_puma_debug_loaded_exts:
TimeoutEveryTestCase::TestTookTooLong: execution expired
    /build/reproducible-path/puma-6.4.3/test/helpers/integration.rb:125:in `wait2'
    /build/reproducible-path/puma-6.4.3/test/helpers/integration.rb:125:in `stop_server'
    /build/reproducible-path/puma-6.4.3/test/helpers/integration.rb:39:in `teardown'
    /build/reproducible-path/puma-6.4.3/test/helper.rb:96:in `block (5 levels) in run'
    /build/reproducible-path/puma-6.4.3/test/helper.rb:96:in `each'
    /build/reproducible-path/puma-6.4.3/test/helper.rb:96:in `block (4 levels) in run'
    /usr/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
    /usr/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
    /build/reproducible-path/puma-6.4.3/test/helper.rb:95:in `block (3 levels) in run'
 .
 They do not seem real regressions, so skipping them for now.
Author: Lucas Kanashiro <lucas.kanashiro@canonical.com>
Last-Updated: 2024-12-23
Forwarded: not-needed
---
 test/test_cli.rb                 | 2 +-
 test/test_integration_pumactl.rb | 4 ++--
 test/test_integration_single.rb  | 2 +-
 test/test_plugin_systemd.rb      | 2 +-
 test/test_puma_server.rb         | 4 ++--
 test/test_rack_handler.rb        | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)

Index: puma/test/test_integration_pumactl.rb
===================================================================
--- puma.orig/test/test_integration_pumactl.rb
+++ puma/test/test_integration_pumactl.rb
@@ -31,11 +31,11 @@ class TestIntegrationPumactl < TestInteg
     wait_server
   end
 
-  def test_stop_unix
+  def __test_stop_unix
     ctl_unix
   end
 
-  def test_halt_unix
+  def __test_halt_unix
     ctl_unix 'halt'
   end
 
Index: puma/test/test_integration_single.rb
===================================================================
--- puma.orig/test/test_integration_single.rb
+++ puma/test/test_integration_single.rb
@@ -247,7 +247,7 @@ class TestIntegrationSingle < TestIntegr
     assert true
   end
 
-  def test_puma_debug_loaded_exts
+  def _test_puma_debug_loaded_exts
     cli_server "#{set_pumactl_args} test/rackup/hello.ru", puma_debug: true
 
     assert wait_for_server_to_include('Loaded Extensions:')
Index: puma/test/test_plugin_systemd.rb
===================================================================
--- puma.orig/test/test_plugin_systemd.rb
+++ puma/test/test_plugin_systemd.rb
@@ -36,7 +36,7 @@ class TestPluginSystemd < TestIntegratio
     assert_restarts_with_systemd :USR1
   end
 
-  def test_systemd_notify_usr2_hot_restart_cluster
+  def __test_systemd_notify_usr2_hot_restart_cluster
     skip_unless :fork
     assert_restarts_with_systemd :USR2
   end
Index: puma/test/test_puma_server.rb
===================================================================
--- puma.orig/test/test_puma_server.rb
+++ puma/test/test_puma_server.rb
@@ -602,7 +602,7 @@ class TestPumaServer < TimeoutTestCase
     assert_equal [:booting, :running, :stop, :done], states
   end
 
-  def test_timeout_in_data_phase(**options)
+  def __test_timeout_in_data_phase(**options)
     server_run(first_data_timeout: 1, **options)
 
     socket = send_http "POST / HTTP/1.1\r\nHost: test.com\r\nContent-Type: text/plain\r\nContent-Length: 5\r\n\r\n"
@@ -615,7 +615,7 @@ class TestPumaServer < TimeoutTestCase
     assert_equal "HTTP/1.1 408 #{STATUS_CODES[408]}", response.status
   end
 
-  def test_timeout_data_no_queue
+  def __test_timeout_data_no_queue
     test_timeout_in_data_phase(queue_requests: false)
   end
 
Index: puma/test/test_rack_handler.rb
===================================================================
--- puma.orig/test/test_rack_handler.rb
+++ puma/test/test_rack_handler.rb
@@ -345,7 +345,7 @@ module TestRackUp
       FileUtils.rm 'config.ru'
     end
 
-    def test_bin
+    def __test_bin
       pid = nil
       # JRuby & TruffleRuby take a long time using IO.popen
       skip_unless :mri
