[DRE-maint] Bug#1019613: ruby-capybara: FTBFS with ruby3.1: ERROR: Test "ruby3.1" failed: Failure/Error: raise LoadError, 'Capybara is unable to load `puma` for its server, please add `puma` to your project or specify a different server via something like `Capybara.server = :webrick`.'

Antonio Terceiro terceiro at debian.org
Tue Sep 13 01:08:15 BST 2022


Source: ruby-capybara
Version: 3.36.0+ds-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: debian-ruby at lists.debian.org
Usertags: ruby3.1

Hi,

We are about to start the ruby3.1 transition in unstable. While trying to
rebuild ruby-capybara with ruby3.1 enabled, the build failed.

Relevant part of the build log (hopefully):
>       Failure/Error: raise LoadError, 'Capybara is unable to load `puma` for its server, please add `puma` to your project or specify a different server via something like `Capybara.server = :webrick`.'
> 
>       LoadError:
>         Capybara is unable to load `puma` for its server, please add `puma` to your project or specify a different server via something like `Capybara.server = :webrick`.
>       # /<<PKGBUILDDIR>>/lib/capybara/registrations/servers.rb:17:in `rescue in block in <top (required)>'
>       # /<<PKGBUILDDIR>>/lib/capybara/registrations/servers.rb:14:in `block in <top (required)>'
>       # /<<PKGBUILDDIR>>/lib/capybara.rb:252:in `run_default_server'
>       # /<<PKGBUILDDIR>>/lib/capybara/registrations/servers.rb:4:in `block in <top (required)>'
>       # /<<PKGBUILDDIR>>/lib/capybara/server.rb:77:in `block in boot'
>       # ------------------
>       # --- Caused by: ---
>       # LoadError:
>       #   cannot load such file -- rack/handler/puma
>       #   /<<PKGBUILDDIR>>/lib/capybara/registrations/servers.rb:15:in `block in <top (required)>'
> 
> Finished in 45.45 seconds (files took 0.80376 seconds to load)
> 2512 examples, 36 failures, 6 pending
> 
> Failed examples:
> 
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:1]' # Capybara::Session DSL #current_url, #current_path, #current_host is affected by visiting a page directly
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:2]' # Capybara::Session DSL #current_url, #current_path, #current_host returns to the app host when visiting a relative url
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:3]' # Capybara::Session DSL #current_url, #current_path, #current_host is affected by setting Capybara.app_host
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:4]' # Capybara::Session DSL #current_url, #current_path, #current_host is unaffected by following a relative link
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:5]' # Capybara::Session DSL #current_url, #current_path, #current_host is affected by following an absolute link
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:6]' # Capybara::Session DSL #current_url, #current_path, #current_host is unaffected by posting through a relative form
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:7]' # Capybara::Session DSL #current_url, #current_path, #current_host is affected by posting through an absolute form
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:8]' # Capybara::Session DSL #current_url, #current_path, #current_host is affected by following a redirect
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:9]' # Capybara::Session DSL #current_url, #current_path, #current_host maintains fragment
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[1:27:10]' # Capybara::Session DSL #current_url, #current_path, #current_host redirects to a fragment
> rspec /<<PKGBUILDDIR>>/spec/dsl_spec.rb:165 # Capybara::DSL#current_session should change with the current driver
> rspec /<<PKGBUILDDIR>>/spec/dsl_spec.rb:171 # Capybara::DSL#current_session should be persistent even across driver changes
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:1]' # Capybara::Session RackTest #current_url, #current_path, #current_host is affected by visiting a page directly
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:2]' # Capybara::Session RackTest #current_url, #current_path, #current_host returns to the app host when visiting a relative url
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:3]' # Capybara::Session RackTest #current_url, #current_path, #current_host is affected by setting Capybara.app_host
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:4]' # Capybara::Session RackTest #current_url, #current_path, #current_host is unaffected by following a relative link
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:5]' # Capybara::Session RackTest #current_url, #current_path, #current_host is affected by following an absolute link
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:6]' # Capybara::Session RackTest #current_url, #current_path, #current_host is unaffected by posting through a relative form
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:7]' # Capybara::Session RackTest #current_url, #current_path, #current_host is affected by posting through an absolute form
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:8]' # Capybara::Session RackTest #current_url, #current_path, #current_host is affected by following a redirect
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:9]' # Capybara::Session RackTest #current_url, #current_path, #current_host maintains fragment
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:10]' # Capybara::Session RackTest #current_url, #current_path, #current_host redirects to a fragment
> rspec '/<<PKGBUILDDIR>>/lib/capybara/spec/spec_helper.rb[2:27:13]' # Capybara::Session RackTest #current_url, #current_path, #current_host doesn't raise exception on a nil current_url
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:6 # Capybara::Server should spool up a rack server
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:15 # Capybara::Server should do nothing when no server given
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:21 # Capybara::Server should bind to the specified host
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:42 # Capybara::Server should use specified port
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:54 # Capybara::Server should use given port
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:64 # Capybara::Server should find an available port
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:95 # Capybara::Server should return its #base_url
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:102 # Capybara::Server should call #clamp on the puma configuration to ensure that environment is a string
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:253 # Capybara::Server should raise an error when there are pending requests
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:156 # Capybara::Server When Capybara.reuse_server is true should use the existing server if it already running
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:169 # Capybara::Server When Capybara.reuse_server is true detects and waits for all reused server sessions pending requests
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:201 # Capybara::Server When Capybara.reuse_server is false should not reuse an already running server
> rspec /<<PKGBUILDDIR>>/spec/server_spec.rb:214 # Capybara::Server When Capybara.reuse_server is false detects and waits for only one sessions pending requests
> 
> /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
> ERROR: Test "ruby3.1" failed: 


The full build log is available from:
https://people.debian.org/~terceiro/ruby3.1/17/ruby-capybara/ruby-capybara_3.36.0+ds-2+rebuild1663007416_amd64-2022-09-12T18:30:17Z.build

To reproduce this, you need ruby-all-dev >= 1:3.0+2.  Depending on when you
read this, this might mean installing ruby-all-dev from experimental, or ir the
transition has alraedy started in unstable, a normal build on unstable should
do it.  If you fail to reproduce, please provide a build log and diff it with
mine so that we can identify if something relevant changed in the meantime.

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20220912/143d5ad2/attachment.sig>


More information about the Pkg-ruby-extras-maintainers mailing list