Package: src:ruby-clockwork Version: 1.2.0-3 Severity: serious Dear maintainer:
I tried to build this package in stretch with "dpkg-buildpackage -A" (which is what the "Arch: all" autobuilder would do to build it) but it failed: -------------------------------------------------------------------------------- [...] debian/rules build-indep dh build-indep --buildsystem=ruby --with ruby dh_testdir -i -O--buildsystem=ruby dh_update_autotools_config -i -O--buildsystem=ruby dh_auto_configure -i -O--buildsystem=ruby dh_ruby --configure dh_auto_build -i -O--buildsystem=ruby dh_ruby --build dh_ruby --build dh_auto_test -i -O--buildsystem=ruby dh_ruby --test fakeroot debian/rules binary-indep dh binary-indep --buildsystem=ruby --with ruby [... snipped ...] Clockwork::Event::#thread?::manager config thread option set to true#test_0001_is true = 0.00 s = . Clockwork::Manager::max_threads#test_0001_should warn when an event tries to generate threads more than max_threads = 0.00 s = . Clockwork::Manager::max_threads#test_0002_should not warn when thread is managed by others = 0.00 s = . Clockwork::DatabaseEvents::SyncPerformer::setup::arguments#test_0001_raises argument error if model is not set = 0.00 s = . Clockwork::DatabaseEvents::SyncPerformer::setup::arguments#test_0002_raises argument error if every is not set = 0.00 s = . Clockwork#test_0003_should pass event without modification to handler = 0.00 s = . Clockwork#test_0005_should pass all arguments to every = 0.00 s = . Clockwork#test_0004_should not run anything after reset = 0.00 s = . Clockwork#test_0002_should log event correctly = 0.00 s = . Clockwork#test_0006_support module re-open style = 0.00 s = . Clockwork#test_0001_should run events with configured logger = 0.00 s = . Clockwork::Manager::callbacks#test_0005_should run even jobs only = 0.00 s = . Clockwork::Manager::callbacks#test_0001_should not accept unknown callback name = 0.00 s = . Clockwork::Manager::callbacks#test_0004_should run before_run twice if two events are registered = 0.00 s = . Clockwork::Manager::callbacks#test_0002_should run before_tick callback once on tick = 0.00 s = . Clockwork::Manager::callbacks#test_0003_should not run events if before_tick returns false = 0.00 s = . Clockwork::Manager::callbacks#test_0006_should run after_run callback for each event = 0.00 s = . Clockwork::Manager::callbacks#test_0007_should run after_tick callback once = 0.00 s = . Clockwork::Manager:::if option#test_0002_:if false then never run = 0.00 s = . Clockwork::Manager:::if option#test_0001_:if true then always run = 0.00 s = . Clockwork::Manager:::if option#test_0003_:if the first day of month = 0.00 s = . Clockwork::Manager:::if option#test_0005_:if is not callable then raise ArgumentError = 0.00 s = . Clockwork::Manager:::if option#test_0004_:if it is compared to a time with zone = 0.01 s = . Clockwork::Manager:::tz option#test_0005_should be able to override a default timezone in an event = 0.01 s = . Clockwork::Manager:::tz option#test_0002_should be able to specify a different timezone than local = 0.00 s = . Clockwork::Manager:::tz option#test_0004_should be able to configure a default timezone to use for all events = 0.00 s = . Clockwork::Manager:::tz option#test_0001_time zone is not set by default = 0.00 s = . Clockwork::Manager:::tz option#test_0003_should be able to specify a different timezone than local for multiple times = 0.00 s = . Finished in 0.909811s, 93.4260 runs/s, 165.9686 assertions/s. 1) Failure: Clockwork::DatabaseEvents::SyncPerformer::setup::when database reload frequency is greater than model frequency period#test_0010_updates event at with new at [/<<PKGBUILDDIR>>/test/database_events/sync_performer_test.rb:161]: Expected: 1 Actual: 0 85 runs, 151 assertions, 1 failures, 0 errors, 0 skips rake aborted! Command failed with status (1): [ruby -I"test" "/usr/lib/ruby/vendor_ruby/rake/rake_test_loader.rb" "test/at_test.rb" "test/clockwork_test.rb" "test/database_events/sync_performer_test.rb" "test/event_test.rb" "test/manager_test.rb" "test/database_events/test_helpers.rb" -v] Tasks: TOP => default (See full trace by running task with --trace) ERROR: Test "ruby2.3" failed. Exiting. dh_auto_install: dh_ruby --install /<<PKGBUILDDIR>>/debian/ruby-clockwork returned exit code 1 debian/rules:6: recipe for target 'binary-indep' failed make: *** [binary-indep] Error 1 dpkg-buildpackage: error: fakeroot debian/rules binary-indep gave error exit status 2 -------------------------------------------------------------------------------- The failure happens randomly. Sometimes it fails, sometimes it does not. It does happen, in fact, with a very low probability, but it also happened at least once in the reproducible builds autobuilder: https://tests.reproducible-builds.org/debian/logs/testing/amd64/ruby-clockwork_1.2.0-3.build2.log.gz The test seems to measure that a certain process takes a certain amount of time (reload frecuency), but that's not a good idea for a Debian source package, because nowhere is guaranteed that the CPU performance remains constant during package build. The autobuilder may well be doing other things in parallel, and there is no build-depends-like field to ask for an idle machine. Thanks.