[DRE-maint] Bug#1129907: ruby-guard: FTBFS: failing tests
Santiago Vila
sanvila at debian.org
Thu Mar 5 23:49:34 GMT 2026
Package: src:ruby-guard
Version: 2.18.1-3
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/202603/
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-guard, 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
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
dh_auto_test -O--buildsystem=ruby
[... snipped ...]
returns nil
when matching is successful
returns the match result
#action
sets the action to the supplied block
sets the action to nothing by default
#==
returns true for equal watchers
returns false for unequal watchers
#initialize
with no arguments
raises an error
with a pattern parameter
creates a matcher
.match_files
for ambiguous watchers
when the :first_match option is turned on
returns only the files from the first watcher
when the :first_match option is turned off
returns multiple files by combining the results of the watchers
with an exception that is raised
displays the error and backtrace
without a watcher action
with a regex pattern
returns the paths that matches the regex
with a string pattern
returns the path that matches the string
with a watcher action without parameter
for a watcher that matches file strings
returns a single file specified within the action
returns multiple files specified within the action
combines files from results of different actions
returns nothing if the action response is empty
returns nothing if the action returns nothing
when action returns non-string or array of non-strings
returns nothing
for a watcher that matches information objects
returns multiple files specified within the action
returns a single file specified within the action
returns the evaluated addition argument in an array
returns nothing if the action returns empty string
returns nothing if the action response is empty string
combines the results of different actions
with a watcher action that takes a parameter
for a watcher that matches information objects
returns a substituted single file specified within the action
returns a hash specified within the action
returns nothing if the action response is empty string
returns nothing if the action returns is IO::NULL
returns the evaluated addition argument + the path
combinines results of different actions
for a watcher that matches file strings
returns nothing if the action returns nothing
returns nothing if action returns non-string or non-string array
returns nothing if the action response is empty
returns a substituted single file specified within the action
returns multiple files specified within the action
combines results of different actions
integration
#match
with a named regexp pattern
with a watcher that matches a file
is expected to eq "bar"
provides the match by name
Guard::Deprecated::Evaluator
#reevaluate_guardfile
displays a deprecation warning to the user
#evaluate_guardfile
calls the recommended method
displays a deprecation warning to the user
Guard::Dsl
#ignore!
when ignoring only foo* and *bar*
replaces listener regexps
when ignoring *.txt and *.zip and ignoring! only foo*
replaces listener ignores, but keeps ignore! ignores
#filter alias method
is expected to eq #<UnboundMethod: Guard::Dsl#ignore(*regexps) /<<PKGBUILDDIR>>/lib/guard/dsl.rb:267>
#scope
with any parameters
sets the guardfile's default scope
#callback
without a guard block
fails
with
creates callbacks for the guard
#guard
with symbol for name
loads a guard specified as a symbol from the DSL
with single-quoted name
loads a guard specified as a quoted string from the DSL
with groups
adds plugin with group info
with name as symbol in parens
adds the plugin
with plugins in custom and default groups
assigns plugins to correct groups
with double-quoted name
loads a guard specified as a double quoted string from the DSL
with options
passes options to plugin
#clear
with clear :off
disables clearing the screen after every task
with clear :on
enabled clearing the screen after every task
#notification
with multiple notifications
adds multiple notifiers
when notification
adds a notification to the notifier
#interactor
with interactor options
passes the options to the interactor
with interactor :off
disables the interactions with :off
#watch
with watch in main scope
should create an implicit no-op guard when outside a guard block
with watchers
should receive watchers when specified
#group
with a valid guardfile
evaluates all groups
no plugins in group
displays an error
group named :all
raises an error
with multiple names
adds all given groups
group named "all"
raises an error
#logger
with invalid options
when having both the :only and :except options
removes the options
shows a warning
for the log level
shows a warning
does not set the invalid value
options
with logger template
is expected to have received options=({:template=>":message - :severity"}) 1 time
with logger except filter from a symbol
is expected to have received options=({:except=>/jasmine/i}) 1 time
with logger level :error
is expected to have received options=({:level=>:error}) 1 time
with logger only filter from a string
is expected to have received options=({:only=>/jasmine/i}) 1 time
with logger only filter from an array of symbols and string
is expected to have received options=({:only=>/rspec|cucumber/i}) 1 time
with logger except filter from array of symbols and string
is expected to have received options=({:except=>/rspec|cucumber|jasmine/i}) 1 time
with a logger only filter from a symbol
is expected to have received options=({:only=>/cucumber/i}) 1 time
with a logger time format
is expected to have received options=({:time_format=>"%Y"}) 1 time
with logger except filter from a string
is expected to have received options=({:except=>/jasmine/i}) 1 time
with logger level 'error'
is expected to have received options=({:level=>:error}) 1 time
#filter! alias method
is expected to eq #<UnboundMethod: Guard::Dsl#ignore!(*regexps) /<<PKGBUILDDIR>>/lib/guard/dsl.rb:282>
#directories
with no parameters
sets the watchdirs to empty
with non-existing directory
fails with an error
with valid directories
sets the watchdirs to given values
#ignore
with multiple ignore calls
adds all ignored regexps to the listener
with ignore regexps
adds ignored regexps to the listener
Guard::Internals::Groups
#add
with existing groups
add the given group with options
add the given group
with an existing group
does not add duplicate groups when name is a symbol
does not add duplicate groups when name is a string
#all
with only default groups
initializes the groups
with existing groups
with a regexp argument matching a group
returns an array of groups
with no arguments
returns all groups
with a symbol argument matching a group
returns an array of groups if plugins are found
with a regexp argument not matching a group
returns an empty array when no group is found
with a symbol argument not matching a group
returns an empty array when no group is found
with a string argument
returns an array of groups if plugins are found
Guard::Runner
#run
executes supervised task on all registered plugins implementing it (FAILED - 1)
Pending: (Failures listed here are expected and do not affect your suite's status)
1) Guard#relevant_changes?
# Not yet implemented
# ./spec/lib/guard_spec.rb:247
2) Guard::Internals::Scope#titles
# Not yet implemented
# ./spec/lib/guard/internals/scope_spec.rb:93
3) Guard::PluginUtil.plugin_names ignores guard-compat
# Temporarily skipped with xdescribe
# ./spec/lib/guard/plugin_util_spec.rb:50
4) Guard::PluginUtil.plugin_names returns the list of embedded guard gems
# Temporarily skipped with xdescribe
# ./spec/lib/guard/plugin_util_spec.rb:46
5) Guard::PluginUtil.plugin_names returns the list of guard gems
# Temporarily skipped with xdescribe
# ./spec/lib/guard/plugin_util_spec.rb:42
6) Guard::PluginUtil#add_to_guardfile when the Guard is already in the Guardfile shows an info message
# Temporarily skipped with xcontext
# ./spec/lib/guard/plugin_util_spec.rb:235
Failures:
1) Guard::Runner#run executes supervised task on all registered plugins implementing it
Failure/Error:
Lumberjack.unit_of_work do
items = Guard.state.scope.grouped_plugins(scope_hash || {})
items.each do |_group, plugins|
_run_group_plugins(plugins) do |plugin|
_supervise(plugin, task) if plugin.respond_to?(task)
end
end
end
NoMethodError:
undefined method `unit_of_work' for module Lumberjack
# ./lib/guard/runner.rb:18:in `run'
# ./spec/lib/guard/runner_spec.rb:57:in `block (3 levels) in <top (required)>'
Finished in 6.8 seconds (files took 0.33775 seconds to load)
474 examples, 1 failure, 6 pending
Failed examples:
rspec ./spec/lib/guard/runner_spec.rb:52 # Guard::Runner#run executes supervised task on all registered plugins implementing it
Randomized with seed 31689
/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 --exclude-pattern ./spec/lib/guard/cli/environments/\*_spec.rb,./spec/lib/guard/guardfile/\*_spec.rb,./spec/lib/guard/commands/change_spec.rb,./spec/lib/guard/dsl_describer_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-guard returned exit code 1
make[1]: *** [debian/rules:9: override_dh_auto_install] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
More information about the Pkg-ruby-extras-maintainers
mailing list