[DRE-maint] Bug#1123471: ruby-tty-reader: FTBFS: Failed examples

Santiago Vila sanvila at debian.org
Tue Dec 16 20:29:48 GMT 2025


Package: src:ruby-tty-reader
Version: 0.9.0-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:ruby-tty-reader, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=ruby --with ruby
   dh_auto_clean -O--buildsystem=ruby
	dh_ruby --clean
W: XS-Ruby-Versions is deprecated, and will be ignored
   dh_autoreconf_clean -O--buildsystem=ruby
   dh_clean -O--buildsystem=ruby
 debian/rules binary
dh binary --buildsystem=ruby --with ruby
   dh_update_autotools_config -O--buildsystem=ruby
   dh_autoreconf -O--buildsystem=ruby
   dh_auto_configure -O--buildsystem=ruby
	dh_ruby --configure
   dh_auto_build -O--buildsystem=ruby
	dh_ruby --build

[... snipped ...]

      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_multiline_spec.rb:8:in `new'
      # ./spec/unit/read_multiline_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_multiline_spec.rb:85:in `block (2 levels) in <top (required)>'

  23) TTY::Reader#read_keypress reads single key press
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:9:in `new'
      # ./spec/unit/read_keypress_spec.rb:9:in `block (2 levels) in <top (required)>'

  24) TTY::Reader#read_keypress reads multibyte key press
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:19:in `new'
      # ./spec/unit/read_keypress_spec.rb:19:in `block (2 levels) in <top (required)>'

  25) TTY::Reader#read_keypress when Ctrl+C pressed evaluates custom handler when proc object is provided
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:71:in `new'
      # ./spec/unit/read_keypress_spec.rb:71:in `block (3 levels) in <top (required)>'

  26) TTY::Reader#read_keypress when Ctrl+C pressed skips handler when handler is nil
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:85:in `new'
      # ./spec/unit/read_keypress_spec.rb:85:in `block (3 levels) in <top (required)>'

  27) TTY::Reader#read_keypress when Ctrl+C pressed exits with 130 code when :exit option is chosen
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:56:in `new'
      # ./spec/unit/read_keypress_spec.rb:56:in `block (3 levels) in <top (required)>'

  28) TTY::Reader#read_keypress when Ctrl+C pressed defaults to raising InputInterrupt
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:30:in `new'
      # ./spec/unit/read_keypress_spec.rb:30:in `block (3 levels) in <top (required)>'

  29) TTY::Reader#read_keypress when Ctrl+C pressed sends interrupt signal when :signal option is chosen
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_keypress_spec.rb:40:in `new'
      # ./spec/unit/read_keypress_spec.rb:40:in `block (3 levels) in <top (required)>'

  30) TTY::Reader#read_line echoes characters back
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:23:in `block (2 levels) in <top (required)>'

  31) TTY::Reader#read_line deletes characters when backspace pressed
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:83:in `block (2 levels) in <top (required)>'

  32) TTY::Reader#read_line reads multibyte line
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:92:in `block (2 levels) in <top (required)>'

  33) TTY::Reader#read_line displays a prompt before input
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:53:in `block (2 levels) in <top (required)>'

  34) TTY::Reader#read_line buffers non-empty input and restores it back when history has no more lines
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:147:in `block (2 levels) in <top (required)>'

  35) TTY::Reader#read_line displays custom input with a prompt
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:68:in `block (2 levels) in <top (required)>'

  36) TTY::Reader#read_line masks characters
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:14:in `block (2 levels) in <top (required)>'

  37) TTY::Reader#read_line supports multiline prompts
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:103:in `block (2 levels) in <top (required)>'

  38) TTY::Reader#read_line restores empty line when history has no more lines
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:127:in `block (2 levels) in <top (required)>'

  39) TTY::Reader#read_line doesn't echo characters back
      Failure/Error: old_subcribe(listener, options)

      ArgumentError:
        wrong number of arguments (given 2, expected 1)
      # /usr/share/rubygems-integration/all/gems/wisper-3.0.0/lib/wisper/publisher.rb:13:in `subscribe'
      # ./lib/tty/reader.rb:115:in `subscribe'
      # ./lib/tty/reader.rb:101:in `initialize'
      # ./spec/unit/read_line_spec.rb:8:in `new'
      # ./spec/unit/read_line_spec.rb:8:in `block (2 levels) in <top (required)>'
      # ./spec/unit/read_line_spec.rb:43:in `block (2 levels) in <top (required)>'

Top 2 slowest examples (0.04228 seconds, 76.4% of total time):
  TTY::Reader::Line provides access to the prompt
    0.0391 seconds ./spec/unit/line_spec.rb:4
  TTY::Reader#read_line supports multiline prompts
    0.00317 seconds ./spec/unit/read_line_spec.rb:97

Top 2 slowest example groups:
  TTY::Reader::Line
    0.00333 seconds average (0.03993 seconds / 12 examples) ./spec/unit/line_spec.rb:3
  TTY::Reader#with_history_disabled
    0.00051 seconds average (0.00102 seconds / 2 examples) ./spec/unit/history_disabled_spec.rb:3

Finished in 0.05534 seconds (files took 0.08562 seconds to load)
112 examples, 39 failures

Failed examples:

rspec ./spec/unit/subscribe_spec.rb:8 # TTY::Reader#subscribe subscribes to receive events
rspec ./spec/unit/subscribe_spec.rb:44 # TTY::Reader#subscribe subscribes to listen to events only in a block
rspec ./spec/unit/publish_keypress_event_spec.rb:10 # TTY::Reader#publish_keypress_event publishes :keypress events
rspec ./spec/unit/publish_keypress_event_spec.rb:23 # TTY::Reader#publish_keypress_event publishes :keyescape events
rspec ./spec/unit/publish_keypress_event_spec.rb:99 # TTY::Reader#publish_keypress_event subscribes to ctrl+X type of event event
rspec ./spec/unit/publish_keypress_event_spec.rb:48 # TTY::Reader#publish_keypress_event publishes :keydown event for read_keypress
rspec ./spec/unit/publish_keypress_event_spec.rb:74 # TTY::Reader#publish_keypress_event publishes :keyreturn event
rspec ./spec/unit/publish_keypress_event_spec.rb:61 # TTY::Reader#publish_keypress_event publishes :keynum event
rspec ./spec/unit/publish_keypress_event_spec.rb:87 # TTY::Reader#publish_keypress_event subscribes to multiple events
rspec ./spec/unit/publish_keypress_event_spec.rb:35 # TTY::Reader#publish_keypress_event publishes :keyup for read_keypress
rspec ./spec/unit/history_disabled_spec.rb:26 # TTY::Reader#with_history_disabled leaves the line alone on :down
rspec ./spec/unit/history_disabled_spec.rb:13 # TTY::Reader#with_history_disabled leaves the line alone on :up
rspec ./spec/unit/read_multiline_spec.rb:38 # TTY::Reader#read_multiline skips empty lines
rspec ./spec/unit/read_multiline_spec.rb:31 # TTY::Reader#read_multiline reads few lines
rspec ./spec/unit/read_multiline_spec.rb:45 # TTY::Reader#read_multiline reads and yiels every line
rspec ./spec/unit/read_multiline_spec.rb:53 # TTY::Reader#read_multiline reads multibyte lines
rspec ./spec/unit/read_multiline_spec.rb:10 # TTY::Reader#read_multiline reads no lines
rspec ./spec/unit/read_multiline_spec.rb:24 # TTY::Reader#read_multiline reads a line and terminates on Ctrl+z
rspec ./spec/unit/read_multiline_spec.rb:17 # TTY::Reader#read_multiline reads a line and terminates on Ctrl+d
rspec ./spec/unit/read_multiline_spec.rb:91 # TTY::Reader#read_multiline sets initial input line
rspec ./spec/unit/read_multiline_spec.rb:62 # TTY::Reader#read_multiline reads lines with a prompt
rspec ./spec/unit/read_multiline_spec.rb:81 # TTY::Reader#read_multiline reads lines with echo off
rspec ./spec/unit/read_keypress_spec.rb:8 # TTY::Reader#read_keypress reads single key press
rspec ./spec/unit/read_keypress_spec.rb:18 # TTY::Reader#read_keypress reads multibyte key press
rspec ./spec/unit/read_keypress_spec.rb:69 # TTY::Reader#read_keypress when Ctrl+C pressed evaluates custom handler when proc object is provided
rspec ./spec/unit/read_keypress_spec.rb:84 # TTY::Reader#read_keypress when Ctrl+C pressed skips handler when handler is nil
rspec ./spec/unit/read_keypress_spec.rb:55 # TTY::Reader#read_keypress when Ctrl+C pressed exits with 130 code when :exit option is chosen
rspec ./spec/unit/read_keypress_spec.rb:29 # TTY::Reader#read_keypress when Ctrl+C pressed defaults to raising InputInterrupt
rspec ./spec/unit/read_keypress_spec.rb:39 # TTY::Reader#read_keypress when Ctrl+C pressed sends interrupt signal when :signal option is chosen
rspec ./spec/unit/read_line_spec.rb:19 # TTY::Reader#read_line echoes characters back
rspec ./spec/unit/read_line_spec.rb:79 # TTY::Reader#read_line deletes characters when backspace pressed
rspec ./spec/unit/read_line_spec.rb:88 # TTY::Reader#read_line reads multibyte line
rspec ./spec/unit/read_line_spec.rb:49 # TTY::Reader#read_line displays a prompt before input
rspec ./spec/unit/read_line_spec.rb:141 # TTY::Reader#read_line buffers non-empty input and restores it back when history has no more lines
rspec ./spec/unit/read_line_spec.rb:64 # TTY::Reader#read_line displays custom input with a prompt
rspec ./spec/unit/read_line_spec.rb:10 # TTY::Reader#read_line masks characters
rspec ./spec/unit/read_line_spec.rb:97 # TTY::Reader#read_line supports multiline prompts
rspec ./spec/unit/read_line_spec.rb:120 # TTY::Reader#read_line restores empty line when history has no more lines
rspec ./spec/unit/read_line_spec.rb:39 # TTY::Reader#read_line doesn't echo characters back

Randomized with seed 54072

/usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
/usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner (Gem2Deb::CommandFailed)
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:64:in `block in run_ruby'
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:87:in `maybe_crossbuild'
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:63:in `run_ruby'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:189:in `run_tests_for_version'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:176:in `block in run_tests'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:175:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:175:in `run_tests'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:71:in `run_tests'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:57:in `install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:163:in `install'
	from /usr/bin/dh_ruby:89:in `<main>'
dh_auto_install: error: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-tty-reader returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------



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