Diff of the two buildlogs: -- --- b1/build.log 2025-01-21 09:59:23.941470606 +0000 +++ b2/build.log 2025-01-21 10:00:15.179171002 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Jan 20 21:58:22 -12 2025 -I: pbuilder-time-stamp: 1737453502 +I: Current time: Tue Feb 24 06:22:26 +14 2026 +I: pbuilder-time-stamp: 1771863746 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -27,54 +27,86 @@ dpkg-source: info: applying disable-redis-5-tests.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/32104/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/D01_modify_environment starting +debug: Running on ionos6-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 23 16:22 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='4a38e061ef2d4085a5b6305e108d4583' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='32104' - PS1='# ' - PS2='> ' + INVOCATION_ID=8aaee1f558d44ed7b46786b7944f5d16 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=111132 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.k3RIQtV0/pbuilderrc_IYnq --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.k3RIQtV0/b1 --logfile b1/build.log ruby-mail-room_0.10.0+really0.0.24-2.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.k3RIQtV0/pbuilderrc_BKlB --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.k3RIQtV0/b2 --logfile b2/build.log ruby-mail-room_0.10.0+really0.0.24-2.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos2-i386 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/32104/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -333,7 +365,7 @@ Get: 187 http://deb.debian.org/debian trixie/main i386 ruby-simplecov-html all 0.12.3-2 [468 kB] Get: 188 http://deb.debian.org/debian trixie/main i386 ruby-simplecov all 0.22.0-2 [45.2 kB] Get: 189 http://deb.debian.org/debian trixie/main i386 ruby-webmock all 3.24.0-1 [68.5 kB] -Fetched 62.3 MB in 1s (56.6 MB/s) +Fetched 62.3 MB in 1s (77.1 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.12-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19842 files and directories currently installed.) @@ -955,8 +987,8 @@ Setting up tzdata (2024b-6) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Jan 21 09:58:55 UTC 2025. -Universal Time is now: Tue Jan 21 09:58:55 UTC 2025. +Local time is now: Mon Feb 23 16:22:53 UTC 2026. +Universal Time is now: Mon Feb 23 16:22:53 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -1129,7 +1161,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-mail-room_0.10.0+really0.0.24-2_source.changes +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ruby-mail-room_0.10.0+really0.0.24-2_source.changes dpkg-buildpackage: info: source package ruby-mail-room dpkg-buildpackage: info: source version 0.10.0+really0.0.24-2 dpkg-buildpackage: info: source distribution unstable @@ -1217,309 +1253,309 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 29752 +Randomized with seed 15233 -MailRoom::Arbitration::Redis - #deliver? - when called the first time -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - increments the delivered flag -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - returns true -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - sets an expiration on the delivered flag - when called the second time -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - returns false -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - after expiration returns true - when called for another uid -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - returns true - redis client connection params - when only url is present - client is a instance of Redis class - client has same specified url (PENDING: Temporarily skipped with xit) - when sentinel is present - client has same specified sentinel params (PENDING: Temporarily skipped with xit) - when namespace is present -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client is a instance of RedisNamespace class -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client has same specified namespace +MailRoom::Delivery::Logger + #deliver + writes the message to info + #initialize + without a log path + creates a new ruby logger + with a log path + creates a new file to append to + +MailRoom::IMAP::Connection + with imap set up + is not disconnected + is not idling + waits for a message to process + is ready to idle + is logged in + +MailRoom::MailboxWatcher + with Microsoft Graph configured + initializes a Microsoft Graph connection + with IMAP configured + #run + loops over wait while running + #running? + is false by default + #quit + closes and waits for the connection + +MailRoom::Delivery::LetterOpener + #deliver + creates a new LetterOpener::DeliveryMethod + parses the message string with Mail + delivers the mail message + +MailRoom::Message + #initalize + initializes with required parameters + #== + matches an equivalent message + does not match a message with a different UID + +MailRoom::JWT + #token + generates a valid jwt token + generates a different token for each invocation + #valid? + returns true if header and secret path are present + returns true if all essential components are present + returns false if either header or secret_path are missing + +MailRoom::HealthCheck + #run + sets running to true +Mocha deprecation warning at /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/lib/mail_room/health_check.rb:18:in `block in run': # was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future. + #initialize + with invalid port + raises an error + with invalid address + raises an error + with valid parameters + validates successfully + #quit + sets running to false + +MailRoom::Delivery::Que + #deliver + stores the message in que_jobs table MailRoom::MicrosoftGraph::Connection + #quit + does not attempt to process the mailbox + returns true + returns false #wait - with an alternative Azure deployment - behaves like with a single message - requests message ID - invalid JSON response - ignores the message and logs a warning - with multiple pages of messages - requests message ID with default Azure settings behaves like with a single message {:delete_after_delivery=>true, :expunge_deleted=>true, :password=>nil, :inbox_method=>:microsoft_graph, :inbox_options=>{:tenant_id=>"98776", :client_id=>"12345", :client_secret=>"MY-SECRET"}} requests message ID - 500 error - terminates due to error - too much bandwidth + too many requests behaves like request backoff backs off - too many requests + too much bandwidth behaves like request backoff backs off + with multiple pages of messages + requests message ID poll interval defaults to 60 seconds calls do_sleep 60 times interval set to 10 - calls do_sleep 10 times sets the poll interval to 10 - #quit - does not attempt to process the mailbox - returns false - returns true - -MailRoom::HealthCheck - #quit - sets running to false - #run - sets running to true -Mocha deprecation warning at /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/lib/mail_room/health_check.rb:18:in `block in run': # was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future. - #initialize - with valid parameters - validates successfully - with invalid address - raises an error - with invalid port - raises an error - -MailRoom::CrashHandler - #handle - when given a blank format - raises an error as designed - when given a nonexistent format - raises an error as designed - when given a json format - writes a json message to stdout - -MailRoom::JWT - #valid? - returns true if all essential components are present - returns true if header and secret path are present - returns false if either header or secret_path are missing - #token - generates a valid jwt token - generates a different token for each invocation - -MailRoom::Delivery::Logger - #initialize - with a log path - creates a new file to append to - without a log path - creates a new ruby logger - #deliver - writes the message to info - -MailRoom::Delivery::Que - #deliver - stores the message in que_jobs table + calls do_sleep 10 times + 500 error + terminates due to error + invalid JSON response + ignores the message and logs a warning + with an alternative Azure deployment + behaves like with a single message + requests message ID MailRoom::Delivery::Sidekiq #options when sentinel is specified client has same specified sentinel params - when namespace is specified -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client has same specified namespace -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client is a instance of RedisNamespace class when only redis_url is specified with simple redis url + connection has correct values client has same specified redis_url (PENDING: Temporarily skipped with xit) client is a instance of RedisNamespace class - connection has correct values with redis_db specified in options client has correct redis_url (PENDING: Temporarily skipped with xit) connection has correct values + when namespace is specified +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + client is a instance of RedisNamespace class +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + client has same specified namespace + +MailRoom::Coordinator + #initialize + sets the health check + builds a watcher for each mailbox + makes no watchers when mailboxes is empty + #run + runs each watcher + should go to sleep after running watchers + should set attribute running to true + #quit + quits each watcher MailRoom::Logger::Structured - logs fatal logs warn logs debug - logs unknown + logs fatal + logs info logs error + logs unknown only accepts hashes - logs info + logging a hash as a message + merges the contents #format_message - with DateTime + with string behaves like timestamp formatting outputs ISO8601 timestamps - with no timestamp + with DateTime behaves like timestamp formatting outputs ISO8601 timestamps - with string + with no timestamp behaves like timestamp formatting outputs ISO8601 timestamps - logging a hash as a message - merges the contents - -MailRoom::Delivery::Postback - #deliver - with basic auth delivery options -#, @formatter=nil, @logdev=nil>, content_type=nil, jwt=#> - posts the message with faraday - with jwt token in the delivery options -#, @formatter=nil, @logdev=nil>, content_type=nil, jwt=#> - posts the message with faraday - with content type in the delivery options -#, @formatter=nil, @logdev=nil>, content_type="text/plain", jwt=#> - posts the message with faraday - with token auth delivery -#, @formatter=nil, @logdev=nil>, content_type=nil, jwt=#> - posts the message with faraday - -MailRoom::Delivery::LetterOpener - #deliver - delivers the mail message - parses the message string with Mail - creates a new LetterOpener::DeliveryMethod - -MailRoom::MailboxWatcher - with IMAP configured - #running? - is false by default - #quit - closes and waits for the connection - #run - loops over wait while running - with Microsoft Graph configured - initializes a Microsoft Graph connection -MailRoom::Coordinator - #run - should set attribute running to true - runs each watcher - should go to sleep after running watchers - #initialize - builds a watcher for each mailbox - makes no watchers when mailboxes is empty - sets the health check - #quit - quits each watcher +MailRoom::CLI + #start + starts running the coordinator + on error + json format provided + passes onto CrashHandler + .new + with configuration args + parses arguments into configuration + with coordinator args + creates a new coordinator with configuration MailRoom::Mailbox #validate! - with missing configuration - raises an error with Microsoft Graph configuration - configured as a Microsoft Graph inbox - raises an error when the client_secret is not present - raises an error when the inbox options are not present - allows password omission raises an error when the client_id is not present + allows password omission + raises an error when the client_secret is not present raises an error when the tenant_id is not present + raises an error when the inbox options are not present + configured as a Microsoft Graph inbox + with missing configuration + raises an error with IMAP configuration #imap? configured as an IMAP inbox #deliver - with delivery_method of noop - delivers with a Noop instance - with delivery_method of postback - delivers with a Postback instance - with delivery_method of logger - delivers with a Logger instance - without an RFC822 attribute - doesn't deliver the message + with ssl options hash + replaces verify mode with constant with arbitration_method of noop arbitrates with a Noop instance + with delivery_method of postback + delivers with a Postback instance with delivery_method of letter_opener delivers with a LetterOpener instance + with delivery_method of noop + delivers with a Noop instance + with delivery_method of logger + delivers with a Logger instance with arbitration_method of redis arbitrates with a Redis instance + without an RFC822 attribute + doesn't deliver the message structured logger setup -{"severity":"INFO","time":"2025-01-20T21:59:13.020-12:00","message":"asdf"} +{"severity":"INFO","time":"2026-02-24T06:23:04.095+14:00","message":"asdf"} accepts stdout symbol to mean STDOUT - sets up the logger correctly and does not error sets up the noop logger correctly and does not error - with ssl options hash - replaces verify mode with constant - -MailRoom::CLI - .new - with configuration args - parses arguments into configuration - with coordinator args - creates a new coordinator with configuration - #start - starts running the coordinator - on error - json format provided - passes onto CrashHandler + sets up the logger correctly and does not error -MailRoom::Message - #initalize - initializes with required parameters - #== - matches an equivalent message - does not match a message with a different UID +MailRoom::Arbitration::Redis + redis client connection params + when only url is present + client has same specified url (PENDING: Temporarily skipped with xit) + client is a instance of Redis class + when namespace is present +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + client has same specified namespace +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + client is a instance of RedisNamespace class + when sentinel is present + client has same specified sentinel params (PENDING: Temporarily skipped with xit) + #deliver? + when called the first time +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + increments the delivered flag +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + sets an expiration on the delivered flag +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + returns true + when called the second time +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + after expiration returns true +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + returns false + when called for another uid +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + returns true -MailRoom::IMAP::Connection - with imap set up - is not disconnected - is not idling - is logged in - is ready to idle - waits for a message to process +MailRoom::CrashHandler + #handle + when given a nonexistent format + raises an error as designed + when given a blank format + raises an error as designed + when given a json format + writes a json message to stdout MailRoom::IMAP::Message - #initalize - initializes with required parameters #== - does not match a base message matches an equivalent message + does not match a base message + #initalize + initializes with required parameters + +MailRoom::Delivery::Postback + #deliver + with basic auth delivery options +#, @formatter=nil, @logdev=nil>, content_type=nil, jwt=#> + posts the message with faraday + with content type in the delivery options +#, @formatter=nil, @logdev=nil>, content_type="text/plain", jwt=#> + posts the message with faraday + with jwt token in the delivery options +#, @formatter=nil, @logdev=nil>, content_type=nil, jwt=#> + posts the message with faraday + with token auth delivery +#, @formatter=nil, @logdev=nil>, content_type=nil, jwt=#> + posts the message with faraday MailRoom::Configuration #initalize with config_path - parses health check parses yaml into mailbox objects + parses health check without config_path sets mailboxes to an empty set sets the health check to nil Pending: (Failures listed here are expected and do not affect your suite's status) - 1) MailRoom::Arbitration::Redis redis client connection params when only url is present client has same specified url + 1) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with simple redis url client has same specified redis_url # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:105 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:33 - 2) MailRoom::Arbitration::Redis redis client connection params when sentinel is present client has same specified sentinel params + 2) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with redis_db specified in options client has correct redis_url # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:147 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:54 - 3) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with simple redis url client has same specified redis_url + 3) MailRoom::Arbitration::Redis redis client connection params when only url is present client has same specified url # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:33 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:105 - 4) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with redis_db specified in options client has correct redis_url + 4) MailRoom::Arbitration::Redis redis client connection params when sentinel is present client has same specified sentinel params # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:54 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:147 -Finished in 2.76 seconds (files took 1.07 seconds to load) +Finished in 2.53 seconds (files took 0.72253 seconds to load) 117 examples, 0 failures, 4 pending -Randomized with seed 29752 +Randomized with seed 15233 Coverage report generated for RSpec to /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/coverage. 1473 / 1541 LOC (95.59%) covered. pkill redis-server || true @@ -1536,256 +1572,197 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 2221 - -MailRoom::Delivery::Sidekiq - #options - when namespace is specified -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client is a instance of RedisNamespace class -Redis namespaces are deprecated. This option will be ignored in future versions. -See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client has same specified namespace - when sentinel is specified - client has same specified sentinel params - when only redis_url is specified - with redis_db specified in options - connection has correct values - client has correct redis_url (PENDING: Temporarily skipped with xit) - with simple redis url - client has same specified redis_url (PENDING: Temporarily skipped with xit) - connection has correct values - client is a instance of RedisNamespace class - -MailRoom::Delivery::Que - #deliver - stores the message in que_jobs table - -MailRoom::CrashHandler - #handle - when given a blank format - raises an error as designed - when given a json format - writes a json message to stdout - when given a nonexistent format - raises an error as designed - -MailRoom::IMAP::Message - #initalize - initializes with required parameters - #== - matches an equivalent message - does not match a base message - -MailRoom::MicrosoftGraph::Connection - #quit - does not attempt to process the mailbox - returns true - returns false - #wait - too many requests - behaves like request backoff - backs off - poll interval - defaults to 60 seconds - calls do_sleep 60 times - interval set to 10 - sets the poll interval to 10 - calls do_sleep 10 times - 500 error - terminates due to error - with multiple pages of messages - requests message ID - with an alternative Azure deployment - behaves like with a single message - requests message ID - invalid JSON response - ignores the message and logs a warning - with default Azure settings - behaves like with a single message -{:delete_after_delivery=>true, :expunge_deleted=>true, :password=>nil, :inbox_method=>:microsoft_graph, :inbox_options=>{:tenant_id=>"98776", :client_id=>"12345", :client_secret=>"MY-SECRET"}} - requests message ID - too much bandwidth - behaves like request backoff - backs off - -MailRoom::Delivery::LetterOpener - #deliver - parses the message string with Mail - creates a new LetterOpener::DeliveryMethod - delivers the mail message +Randomized with seed 5136 MailRoom::CLI + .new + with coordinator args + creates a new coordinator with configuration + with configuration args + parses arguments into configuration #start starts running the coordinator on error json format provided passes onto CrashHandler - .new - with configuration args - parses arguments into configuration - with coordinator args - creates a new coordinator with configuration - -MailRoom::HealthCheck - #initialize - with invalid port - raises an error - with invalid address - raises an error - with valid parameters - validates successfully - #run - sets running to true -Mocha deprecation warning at /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/lib/mail_room/health_check.rb:18:in `block in run': # was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future. - #quit - sets running to false -MailRoom::Mailbox - with IMAP configuration - #imap? - configured as an IMAP inbox - #validate! - with missing configuration - raises an error - with Microsoft Graph configuration - raises an error when the client_secret is not present - allows password omission - raises an error when the tenant_id is not present - raises an error when the client_id is not present - raises an error when the inbox options are not present - configured as a Microsoft Graph inbox - #deliver - without an RFC822 attribute - doesn't deliver the message - with delivery_method of postback - delivers with a Postback instance - with ssl options hash - replaces verify mode with constant - with arbitration_method of redis - arbitrates with a Redis instance - with arbitration_method of noop - arbitrates with a Noop instance - with delivery_method of letter_opener - delivers with a LetterOpener instance - structured logger setup - sets up the noop logger correctly and does not error -{"severity":"INFO","time":"2025-01-20T21:59:15.903-12:00","message":"asdf"} - accepts stdout symbol to mean STDOUT - sets up the logger correctly and does not error - with delivery_method of noop - delivers with a Noop instance - with delivery_method of logger - delivers with a Logger instance - -MailRoom::Configuration - #initalize - with config_path - parses yaml into mailbox objects - parses health check - without config_path - sets the health check to nil - sets mailboxes to an empty set +MailRoom::JWT + #token + generates a valid jwt token + generates a different token for each invocation + #valid? + returns true if all essential components are present + returns false if either header or secret_path are missing + returns true if header and secret path are present MailRoom::Delivery::Postback #deliver with token auth delivery -#, @formatter=nil, @logdev=nil, @level_override={}>, content_type=nil, jwt=#> +#, @formatter=nil, @logdev=nil, @level_override={}>, content_type=nil, jwt=#> posts the message with faraday with basic auth delivery options -#, @formatter=nil, @logdev=nil, @level_override={}>, content_type=nil, jwt=#> +#, @formatter=nil, @logdev=nil, @level_override={}>, content_type=nil, jwt=#> posts the message with faraday with content type in the delivery options -#, @formatter=nil, @logdev=nil, @level_override={}>, content_type="text/plain", jwt=#> +#, @formatter=nil, @logdev=nil, @level_override={}>, content_type="text/plain", jwt=#> posts the message with faraday with jwt token in the delivery options -#, @formatter=nil, @logdev=nil, @level_override={}>, content_type=nil, jwt=#> +#, @formatter=nil, @logdev=nil, @level_override={}>, content_type=nil, jwt=#> posts the message with faraday -MailRoom::Coordinator - #initialize - builds a watcher for each mailbox - makes no watchers when mailboxes is empty - sets the health check - #run - should set attribute running to true - runs each watcher - should go to sleep after running watchers - #quit - quits each watcher - -MailRoom::JWT - #token - generates a different token for each invocation - generates a valid jwt token - #valid? - returns false if either header or secret_path are missing - returns true if all essential components are present - returns true if header and secret path are present - -MailRoom::MailboxWatcher - with Microsoft Graph configured - initializes a Microsoft Graph connection - with IMAP configured - #run - loops over wait while running - #running? - is false by default - #quit - closes and waits for the connection - MailRoom::Message #initalize initializes with required parameters #== - does not match a message with a different UID matches an equivalent message + does not match a message with a different UID + +MailRoom::Logger::Structured + logs warn + only accepts hashes + logs info + logs debug + logs fatal + logs error + logs unknown + logging a hash as a message + merges the contents + #format_message + with string + behaves like timestamp formatting + outputs ISO8601 timestamps + with DateTime + behaves like timestamp formatting + outputs ISO8601 timestamps + with no timestamp + behaves like timestamp formatting + outputs ISO8601 timestamps + +MailRoom::Delivery::Que + #deliver + stores the message in que_jobs table MailRoom::IMAP::Connection with imap set up - is logged in is not idling - waits for a message to process + is logged in is not disconnected is ready to idle + waits for a message to process MailRoom::Arbitration::Redis - #deliver? - when called the first time + redis client connection params + when sentinel is present + client has same specified sentinel params (PENDING: Temporarily skipped with xit) + when namespace is present Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - increments the delivered flag + client is a instance of RedisNamespace class Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - returns true + client has same specified namespace + when only url is present + client is a instance of Redis class + client has same specified url (PENDING: Temporarily skipped with xit) + #deliver? + when called for another uid Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - sets an expiration on the delivered flag + returns true when called the second time Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + after expiration returns true +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." returns false + when called the first time Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - after expiration returns true - when called for another uid + increments the delivered flag Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." returns true - redis client connection params - when sentinel is present - client has same specified sentinel params (PENDING: Temporarily skipped with xit) - when namespace is present Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." - client is a instance of RedisNamespace class + sets an expiration on the delivered flag + +MailRoom::Delivery::Sidekiq + #options + when namespace is specified Redis namespaces are deprecated. This option will be ignored in future versions. See https://github.com/sidekiq/sidekiq/issues/2586 for more details." client has same specified namespace - when only url is present - client has same specified url (PENDING: Temporarily skipped with xit) - client is a instance of Redis class +Redis namespaces are deprecated. This option will be ignored in future versions. +See https://github.com/sidekiq/sidekiq/issues/2586 for more details." + client is a instance of RedisNamespace class + when sentinel is specified + client has same specified sentinel params + when only redis_url is specified + with simple redis url + client is a instance of RedisNamespace class + client has same specified redis_url (PENDING: Temporarily skipped with xit) + connection has correct values + with redis_db specified in options + connection has correct values + client has correct redis_url (PENDING: Temporarily skipped with xit) + +MailRoom::MicrosoftGraph::Connection + #wait + with an alternative Azure deployment + behaves like with a single message + requests message ID + 500 error + terminates due to error + with multiple pages of messages + requests message ID + invalid JSON response + ignores the message and logs a warning + too many requests + behaves like request backoff + backs off + too much bandwidth + behaves like request backoff + backs off + poll interval + calls do_sleep 60 times + defaults to 60 seconds + interval set to 10 + calls do_sleep 10 times + sets the poll interval to 10 + with default Azure settings + behaves like with a single message +{:delete_after_delivery=>true, :expunge_deleted=>true, :password=>nil, :inbox_method=>:microsoft_graph, :inbox_options=>{:tenant_id=>"98776", :client_id=>"12345", :client_secret=>"MY-SECRET"}} + requests message ID + #quit + returns true + does not attempt to process the mailbox + returns false + +MailRoom::MailboxWatcher + with IMAP configured + #quit + closes and waits for the connection + #run + loops over wait while running + #running? + is false by default + with Microsoft Graph configured + initializes a Microsoft Graph connection + +MailRoom::HealthCheck + #run + sets running to true +Mocha deprecation warning at /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/lib/mail_room/health_check.rb:18:in `block in run': # was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future. + #quit + sets running to false + #initialize + with invalid port + raises an error + with valid parameters + validates successfully + with invalid address + raises an error MailRoom::Delivery::Logger #initialize @@ -1796,49 +1773,108 @@ #deliver writes the message to info -MailRoom::Logger::Structured - logs debug - logs fatal - logs info - only accepts hashes - logs warn - logs error - logs unknown - logging a hash as a message - merges the contents - #format_message - with no timestamp - behaves like timestamp formatting - outputs ISO8601 timestamps - with string - behaves like timestamp formatting - outputs ISO8601 timestamps - with DateTime - behaves like timestamp formatting - outputs ISO8601 timestamps +MailRoom::CrashHandler + #handle + when given a blank format + raises an error as designed + when given a nonexistent format + raises an error as designed + when given a json format + writes a json message to stdout + +MailRoom::Delivery::LetterOpener + #deliver + parses the message string with Mail + delivers the mail message + creates a new LetterOpener::DeliveryMethod + +MailRoom::Configuration + #initalize + with config_path + parses yaml into mailbox objects + parses health check + without config_path + sets the health check to nil + sets mailboxes to an empty set + +MailRoom::IMAP::Message + #initalize + initializes with required parameters + #== + does not match a base message + matches an equivalent message + +MailRoom::Mailbox + with IMAP configuration + #imap? + configured as an IMAP inbox + #validate! + with Microsoft Graph configuration + raises an error when the tenant_id is not present + raises an error when the inbox options are not present + allows password omission + raises an error when the client_id is not present + configured as a Microsoft Graph inbox + raises an error when the client_secret is not present + with missing configuration + raises an error + #deliver + without an RFC822 attribute + doesn't deliver the message + with delivery_method of noop + delivers with a Noop instance + with arbitration_method of redis + arbitrates with a Redis instance + with delivery_method of postback + delivers with a Postback instance + with delivery_method of logger + delivers with a Logger instance + structured logger setup +{"severity":"INFO","time":"2026-02-24T06:23:10.308+14:00","message":"asdf"} + accepts stdout symbol to mean STDOUT + sets up the logger correctly and does not error + sets up the noop logger correctly and does not error + with arbitration_method of noop + arbitrates with a Noop instance + with delivery_method of letter_opener + delivers with a LetterOpener instance + with ssl options hash + replaces verify mode with constant + +MailRoom::Coordinator + #quit + quits each watcher + #run + should set attribute running to true + should go to sleep after running watchers + runs each watcher + #initialize + builds a watcher for each mailbox + makes no watchers when mailboxes is empty + sets the health check Pending: (Failures listed here are expected and do not affect your suite's status) - 1) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with redis_db specified in options client has correct redis_url + 1) MailRoom::Arbitration::Redis redis client connection params when sentinel is present client has same specified sentinel params # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:54 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:147 - 2) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with simple redis url client has same specified redis_url + 2) MailRoom::Arbitration::Redis redis client connection params when only url is present client has same specified url # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:33 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:105 - 3) MailRoom::Arbitration::Redis redis client connection params when sentinel is present client has same specified sentinel params + 3) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with simple redis url client has same specified redis_url # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:147 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:33 - 4) MailRoom::Arbitration::Redis redis client connection params when only url is present client has same specified url + 4) MailRoom::Delivery::Sidekiq#options when only redis_url is specified with redis_db specified in options client has correct redis_url # Temporarily skipped with xit - # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/arbitration/redis_spec.rb:105 + # /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/spec/lib/delivery/sidekiq_spec.rb:54 -Finished in 2.85 seconds (files took 1.25 seconds to load) +Finished in 2.65 seconds (files took 0.96619 seconds to load) 117 examples, 0 failures, 4 pending -Randomized with seed 2221 +Randomized with seed 5136 Coverage report generated for RSpec to /build/reproducible-path/ruby-mail-room-0.10.0+really0.0.24/coverage. 1473 / 1541 LOC (95.59%) covered. pkill redis-server || true @@ -1872,12 +1908,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/111132/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/32104 and its subdirectories -I: Current time: Mon Jan 20 21:59:23 -12 2025 -I: pbuilder-time-stamp: 1737453563 +I: removing directory /srv/workspace/pbuilder/111132 and its subdirectories +I: Current time: Tue Feb 24 06:23:13 +14 2026 +I: pbuilder-time-stamp: 1771863793