[DRE-maint] Bug#1113895: ruby-curb: autopkgtest needs update for new version of curl

Paul Gevers elbrus at debian.org
Wed Sep 3 20:59:54 BST 2025


Source: ruby-curb
Version: 1.0.5-2
Severity: serious
X-Debbugs-CC: curl at packages.debian.org
Tags: sid trixie
User: debian-ci at lists.debian.org
Usertags: needs-update
Control: affects -1 src:curl

Dear maintainer(s),

With a recent upload of curl the autopkgtest of ruby-curb fails in 
testing when that autopkgtest is run with the binary packages of curl 
from unstable. It passes when run with only packages from testing. In 
tabular form:

                        pass            fail
curl                   from testing    8.16.0~rc2-2
ruby-curb              from testing    1.0.5-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of curl to testing 
[1]. Of course, curl shouldn't just break your autopkgtest (or even 
worse, your package), but it seems to me that the change in curl was 
intended and your package needs to update to the new situation.

If this is a real problem in your package (and not only in your 
autopkgtest), the right binary package(s) from curl should really add a 
versioned Breaks on the unfixed version of (one of your) package(s). 
Note: the Breaks is nice even if the issue is only in the autopkgtest as 
it helps the migration software to figure out the right versions to 
combine in the tests.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=curl

https://ci.debian.net/data/autopkgtest/testing/amd64/r/ruby-curb/64102667/log.gz

  26s  26s 
┌──────────────────────────────────────────────────────────────────────────────┐
  26s │ Checking Rubygems dependency resolution on ruby3.3 
             │
  26s 
└──────────────────────────────────────────────────────────────────────────────┘
  26s  26s RUBYLIB=. GEM_PATH= ruby3.3 -e gem\ \"curb\"
  26s mv lib ./.gem2deb.lib
  26s mv ext ./.gem2deb.ext
  26s mv ./.gem2deb.lib lib
  26s mv ./.gem2deb.ext ext
  26s  26s 
┌──────────────────────────────────────────────────────────────────────────────┐
  26s │ Run tests for ruby3.3 from debian/ruby-tests.rake 
             │
  26s 
└──────────────────────────────────────────────────────────────────────────────┘
  26s  26s RUBYLIB=. GEM_PATH= ruby3.3 -S rake --rakelibdir 
/gem2deb-nonexistent -f debian/ruby-tests.rake
  26s mv lib ./.gem2deb.lib
  26s mv ext ./.gem2deb.ext
  27s 
/tmp/autopkgtest-lxc.o6l8sxjg/downtmp/build.0GG/src/tests/tc_curl_multi.rb:189: 
warning: assigned but unused variable - in_file_stack
  27s Loaded suite 
/usr/share/rubygems-integration/all/gems/rake-13.2.1/lib/rake/rake_test_loader
  27s Started
  29s E
  29s 
===============================================================================
  29s Error: test_redir_protocol_allowed(TestCurbCurlProtocols): 
Curl::Err::TooManyRedirectsError: Number of redirects hit maximum 
amount: Maximum (0) redirects followed
  29s 
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/curb-1.0.5/lib/curl/easy.rb:80:in 
`perform'
  29s 
/tmp/autopkgtest-lxc.o6l8sxjg/downtmp/build.0GG/src/tests/tc_curl_protocols.rb:27:in 
`test_redir_protocol_allowed'
  29s      24:   def test_redir_protocol_allowed
  29s      25:     @easy.set :url, TestServlet.url + "/redirect"
  29s      26:     @easy.set :redir_protocols, Curl::CURLPROTO_HTTP
  29s   => 27:     @easy.perform
  29s      28:   end
  29s      29:  29s      30:   def test_redir_protocol_denied
  29s 
===============================================================================
  29s F
  29s 
===============================================================================
  29s Failure: test_redir_protocol_denied(TestCurbCurlProtocols)
  29s 
/tmp/autopkgtest-lxc.o6l8sxjg/downtmp/build.0GG/src/tests/tc_curl_protocols.rb:33:in 
`test_redir_protocol_denied'
  29s      30:   def test_redir_protocol_denied
  29s      31:     @easy.set :url, TestServlet.url + "/redirect"
  29s      32:     @easy.set :redir_protocols, Curl::CURLPROTO_HTTPS
  29s   => 33:     assert_raises Curl::Err::UnsupportedProtocolError do
  29s      34:       @easy.perform
  29s      35:     end
  29s      36:   end
  29s  29s <Curl::Err::UnsupportedProtocolError> expected but was
  29s <Curl::Err::TooManyRedirectsError(<Number of redirects hit maximum 
amount: Maximum (0) redirects followed>)
  29s 
/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/curb-1.0.5/lib/curl/easy.rb:80:in 
`perform'
  29s 
/tmp/autopkgtest-lxc.o6l8sxjg/downtmp/build.0GG/src/tests/tc_curl_protocols.rb:34:in 
`block in test_redir_protocol_denied'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:1961:in 
`block (2 levels) in _assert_raise'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:55:in 
`block in assert_block'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:1913:in 
`_wrap_assertion'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:54:in 
`assert_block'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:1959:in 
`block in _assert_raise'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:1918:in 
`_wrap_assertion'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:1945:in 
`_assert_raise'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/assertions.rb:287:in 
`assert_raise'
  29s 
/tmp/autopkgtest-lxc.o6l8sxjg/downtmp/build.0GG/src/tests/tc_curl_protocols.rb:33:in 
`test_redir_protocol_denied'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testcase.rb:871:in 
`run_test'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testcase.rb:566:in 
`block (2 levels) in run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:276:in 
`block in create_fixtures_runner'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:276:in 
`block in create_fixtures_runner'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:257:in 
`run_fixture'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:292:in 
`run_setup'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testcase.rb:564:in 
`block in run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testcase.rb:563:in 
`catch'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testcase.rb:563:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testsuite.rb:124:in 
`run_test'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testsuite.rb:53:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testsuite.rb:124:in 
`run_test'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/testsuite.rb:53:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb:67:in 
`run_suite'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb:45:in 
`block (2 levels) in run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb:102:in 
`with_listener'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb:41:in 
`block in run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb:39:in 
`catch'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb:39:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunner.rb:40:in 
`start_mediator'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunner.rb:25:in 
`start'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnerutilities.rb:24:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/autorunner.rb:469:in 
`block in run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/autorunner.rb:525:in 
`change_work_directory'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/autorunner.rb:468:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit/autorunner.rb:66:in 
`run'
  29s 
/usr/share/rubygems-integration/all/gems/test-unit-3.6.2/lib/test/unit.rb:518:in 
`block (2 levels) in <top (required)>'
  29s >
  30s 
===============================================================================
  30s Finished in 3.020700058 seconds.
  30s 
-------------------------------------------------------------------------------
  30s 178 tests, 724 assertions, 1 failures, 1 errors, 0 pendings, 0 
omissions, 0 notifications
  30s 98.8764% passed
  30s 
-------------------------------------------------------------------------------
  30s 58.93 tests/s, 239.68 assertions/s
  30s rake aborted!
  30s Command failed with status (1)
  30s 
/usr/share/rubygems-integration/all/gems/rake-13.2.1/exe/rake:27:in 
`<top (required)>'
  30s Tasks: TOP => default => unittests
  30s (See full trace by running task with --trace)
  30s mv ./.gem2deb.lib lib
  30s mv ./.gem2deb.ext ext
  30s autopkgtest [17:06:52]: test gem2deb-test-runner

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 585 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20250903/3f0a24ca/attachment.sig>


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