Diff of the two buildlogs: -- --- b1/build.log 2025-02-05 16:46:57.314735745 +0000 +++ b2/build.log 2025-02-05 16:47:47.932456896 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Feb 5 04:46:17 -12 2025 -I: pbuilder-time-stamp: 1738773977 +I: Current time: Wed Mar 11 13:10:00 +14 2026 +I: pbuilder-time-stamp: 1773184200 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -28,52 +28,84 @@ dpkg-source: info: applying fix-kwargs-matching-with-rspec-mock-3.12-and-ruby-3+.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/24401/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2437317/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +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 Mar 10 23:10 /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/2437317/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2437317/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="aarch64-unknown-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=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='4624d4f7eda3454fb921fd86705502c9' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - 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='24401' - PS1='# ' - PS2='> ' + INVOCATION_ID=6bfbb96e64fd4b2d9ff4669cb95aa6b7 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=2437317 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.2Y1fMA5P/pbuilderrc_xeav --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.2Y1fMA5P/b1 --logfile b1/build.log ruby-notiffany_0.1.3-4.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4: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.2Y1fMA5P/pbuilderrc_nlc8 --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.2Y1fMA5P/b2 --logfile b2/build.log ruby-notiffany_0.1.3-4.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-30-cloud-arm64 #1 SMP Debian 6.1.124-1 (2025-01-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-cloud-arm64 #1 SMP Debian 6.1.124-1 (2025-01-12) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/24401/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2437317/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -258,7 +290,7 @@ Get: 139 http://deb.debian.org/debian trixie/main arm64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 140 http://deb.debian.org/debian trixie/main arm64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 141 http://deb.debian.org/debian trixie/main arm64 ruby-shellany all 0.0.1-5 [5772 B] -Fetched 54.2 MB in 0s (142 MB/s) +Fetched 54.2 MB in 0s (202 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (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 ... 19957 files and directories currently installed.) @@ -726,8 +758,8 @@ Setting up tzdata (2024b-6) ... Current default time zone: 'Etc/UTC' -Local time is now: Wed Feb 5 16:46:39 UTC 2025. -Universal Time is now: Wed Feb 5 16:46:39 UTC 2025. +Local time is now: Tue Mar 10 23:10:23 UTC 2026. +Universal Time is now: Tue Mar 10 23:10:23 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -857,7 +889,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-notiffany-0.1.3/ && 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-notiffany_0.1.3-4_source.changes +I: user script /srv/workspace/pbuilder/2437317/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/2437317/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-notiffany-0.1.3/ && 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-notiffany_0.1.3-4_source.changes dpkg-buildpackage: info: source package ruby-notiffany dpkg-buildpackage: info: source version 0.1.3-4 dpkg-buildpackage: info: source distribution unstable @@ -941,42 +977,232 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 2297 +Randomized with seed 48598 -Notiffany::Notifier::Growl +Notiffany::Notifier::Notifu #notify without additional options shows the notification with the default options - with options Growl cannot handle - passes options only Growl can handle + with options passed at initialization + uses these options by default + overwrites object options with passed options with additional options can override the default options + #initialize + host is not supported + fails + host is supported + requires rb-notifu + +Notiffany::Notifier::Tmux::Client + #title= + sets terminal title + .version + when 'tmux -v' doesn't contain float-like string + fails + when tmux is not installed + fails + #message_bg= + sets message bg color + #message_fg= + sets message fg color + #clients + when :all is given + removes null terminal + #display_time= + sets display time + #display + displays text in given area + when displaying on all clients + displays on every client + +Notiffany::Notifier::File + #available + with path option + works + with no path option + fails + #notify + also writes to a file on failure + does not write to a file if no path is specified + writes to a file on success with options passed at initialization overwrites object options with passed options uses these options by default + +Notiffany::Notifier::Detected + #detect + without any detected notifiers + is expected to raise Notiffany::Notifier::Detected::NoneAvailableError with message matching /could not detect any of the supported notification/ + with some detected notifiers + add detected notifiers to available + #reset + resets the detected notifiers + #add + with manually configured notifiers + when not available + shows a warning + does not add the library + does not raise an error + with no detected notifiers + when unknown + does not add the library + #available + with detected notifiers + returns hash with detected notifier options + +Notiffany::Notifier::Base + #name + un-modulizes the class, replaces "xY" with "x_Y" and downcase + #notify + with :success image + converts to image path + with a custom image + uses given image + with nil image + uses the default type + set the notify image to nil + with type given + uses given type + with :failed image + converts to image path + with :guard image + converts to image path + with :pending image + converts to image path + with no image overrides + supplies default image + with no type overrides + supplies default type + with no notify title overrides + supplies default title + with notify title override + uses given title #initialize + on supported os + library loads normally + returns true + when library fails to load + fails with error + on unsupported os + fails + #title + un-modulize the class + +Notiffany + has a version number + +Notiffany::Notifier::TerminalTitle + #notify + set title + first line of message to terminal title + with options passed at initialization + uses these options by default + overwrites object options with passed options + .turn_off + clears the terminal title + +Notiffany::Notifier::TerminalNotifier + #notify + should call the notifier. + should allow the title to be customized + with options passed at initialization + uses these options by default + overwrites object options with passed options + without a title set + should show the app name in the title + .available? host is supported works - when Growl is not installed - fails host is not supported fails -Notiffany::Notifier::File - #available - with no path option +Notiffany::Notifier::GNTP + .available? + host is not supported fails - with path option + host is supported + requires ruby_gntp + #client + calls #register on the client and memoize it + creates a new GNTP client and memoize it + #notify + with options passed at initialization + overwrites object options with passed options + uses these options by default + without additional options + shows the notification with the default options + with additional options + can override the default options + +Notiffany::Notifier::Emacs + #initialize + when the client command works works + when the client command fails + fails #notify - writes to a file on success - also writes to a file on failure - does not write to a file if no path is specified + color + when left default + without overriding global options + is set to default + when set globally + when no overring notification options + is set to global value + when set during notification + for :pending + is set from the notification value + for :success + is set from the notification value + with elisp file + passes evaluated erb to client + with no elisp file + uses default elisp notification code + +Notiffany::Notifier::NotifySend + #notify + without additional options + shows the notification with the default options with options passed at initialization + converts notification type failed to normal urgency uses these options by default + uses the title provided in the options overwrites object options with passed options + converts notification type pending to low urgency + with additional options + can override the default options + #initialize + host is not supported + do not check if the binary is available + host is supported + check_available + checks if the binary is available + binary check returns nil + should raise an UnavailableError + +Notiffany::Notifier::Tmux::Session + #close + restores the tmux options + #start + sets options Notiffany::Notifier + .disconnect + reset the pid env var + resets detector + #available + when connected + with available notifiers + returns a list of available notifier info + .turn_on + with available notifiers + when a child process + is expected to raise /Only notify()/ + with silent option + does not show activated notifiers + without silent option + shows the used notifications + without available notifiers + sets mode to active .notify with multiple notifiers when connected @@ -997,254 +1223,79 @@ is expected to be enabled when disabled is expected not to be enabled - .disconnect - resets detector - reset the pid env var - .turn_on - without available notifiers - sets mode to active + .turn_off with available notifiers + turns off each notifier when a child process is expected to raise /Only notify()/ - without silent option - shows the used notifications - with silent option - does not show activated notifiers + with no available notifiers + is not active #initialize when enabled with environment when enabled with options - assigns a pid autodetects + assigns a pid when no options given assigns a pid autodetects when disabled with options - does not autodetect assigns a pid anyway + does not autodetect when disabled with environment example at ./spec/lib/notiffany/notifier_spec.rb:107 (PENDING: Not yet implemented) with custom notifier config when connected + when disabled + does not add anything when enabled when supported when available adds the notifier to the notifications when :off turns off the notifier - when disabled - does not add anything when child process works when not connected + when disabled + does not add anything when enabled when supported when available adds the notifier to the notifications - when disabled - does not add anything - .turn_off - with no available notifiers - is not active - with available notifiers - turns off each notifier - when a child process - is expected to raise /Only notify()/ - #available - when connected - with available notifiers - returns a list of available notifier info - -Notiffany::Notifier::TerminalTitle - #notify - set title + first line of message to terminal title - with options passed at initialization - overwrites object options with passed options - uses these options by default - .turn_off - clears the terminal title - -Notiffany::Notifier::Emacs - #initialize - when the client command works - works - when the client command fails - fails - #notify - with no elisp file - uses default elisp notification code - color - when left default - without overriding global options - is set to default - when set during notification - for :pending - is set from the notification value - for :success - is set from the notification value - when set globally - when no overring notification options - is set to global value - with elisp file - passes evaluated erb to client - -Notiffany::Notifier::GNTP - #notify - with additional options - can override the default options - with options passed at initialization - overwrites object options with passed options - uses these options by default - without additional options - shows the notification with the default options - .available? - host is supported - requires ruby_gntp - host is not supported - fails - #client - creates a new GNTP client and memoize it - calls #register on the client and memoize it - -Notiffany::Notifier::Notifu - #notify - with options passed at initialization - overwrites object options with passed options - uses these options by default - without additional options - shows the notification with the default options - with additional options - can override the default options - #initialize - host is supported - requires rb-notifu - host is not supported - fails -Notiffany::Notifier::Base +Notiffany::Notifier::Growl #initialize - on unsupported os - fails - on supported os - when library fails to load - fails with error - library loads normally - returns true - #name - un-modulizes the class, replaces "xY" with "x_Y" and downcase - #notify - with nil image - set the notify image to nil - uses the default type - with no image overrides - supplies default image - with no notify title overrides - supplies default title - with :failed image - converts to image path - with :guard image - converts to image path - with a custom image - uses given image - with :pending image - converts to image path - with notify title override - uses given title - with no type overrides - supplies default type - with type given - uses given type - with :success image - converts to image path - #title - un-modulize the class - -Notiffany::Notifier::YamlEnvStorage - #notifiers - when env is empty - is expected to be empty - when set to empty array - is expected to be empty - when set to nil - is expected to be empty - -Notiffany::Notifier::Tmux::Client - #display_time= - sets display time - .version - when tmux is not installed - fails - when 'tmux -v' doesn't contain float-like string - fails - #clients - when :all is given - removes null terminal - #title= - sets terminal title - #message_bg= - sets message bg color - #display - displays text in given area - when displaying on all clients - displays on every client - #message_fg= - sets message fg color - -Notiffany::Notifier::TerminalNotifier - .available? host is not supported fails host is supported works - #notify - should call the notifier. - should allow the title to be customized - with options passed at initialization - overwrites object options with passed options - uses these options by default - without a title set - should show the app name in the title - -Notiffany::Notifier::NotifySend + when Growl is not installed + fails #notify with additional options can override the default options + with options Growl cannot handle + passes options only Growl can handle without additional options shows the notification with the default options with options passed at initialization - converts notification type failed to normal urgency uses these options by default overwrites object options with passed options - converts notification type pending to low urgency - uses the title provided in the options - #initialize - host is not supported - do not check if the binary is available - host is supported - check_available - checks if the binary is available - binary check returns nil - should raise an UnavailableError Notiffany::Notifier::Libnotify #notify with additional options can override the default options with options passed at initialization - uses these options by default overwrites object options with passed options + uses these options by default without additional options shows the notification with the default options #initialize - with unsupported host - does not require libnotify host is supported requires libnotify - -Notiffany::Notifier::Tmux::Session - #start - sets options - #close - restores the tmux options + with unsupported host + does not require libnotify Notiffany::Notifier::Emacs::Client #notify @@ -1252,24 +1303,36 @@ evaluates using given colors with a message evaluates using given message - #available? - with a working client command - is expected to be available - when the client commmand does not exist - is expected not to be available - when the client command fails - is expected not to be available #initialize when constructed without elisp_erb fails with an error + #available? + when the client command fails + is expected not to be available + when the client commmand does not exist + is expected not to be available + with a working client command + is expected to be available + +Notiffany::Notifier::YamlEnvStorage + #notifiers + when set to empty array + is expected to be empty + when env is empty + is expected to be empty + when set to nil + is expected to be empty Notiffany::Notifier::Tmux + #turn_on + when on + fails #initialize when the TMUX environment variable is set - with a recent version of tmux - works with an outdated version of tmux fails + with a recent version of tmux + works without tmux fails when the TMUX environment variable is not set @@ -1280,80 +1343,53 @@ when off fails #notify - calls display_message if the display_message flag is set - handles line-breaks - sets the tmux status bar color to green on success + should set the tmux status bar color to yellow on pending + sets the display-time + sets the tmux status bar color to default color on a custom type sets the tmux status bar color to green on notify - sets the tmux status bar color to red on failure - displays the message + calls display_message if the display_message flag is set does not call display_title if the display_title flag is not set does not change colors when the change_color flag is disabled + sets the tmux status bar color to green on success + sets the tmux status bar color to red on failure sets the tmux status bar color to default color on a custom type - should set the tmux status bar color to yellow on pending + handles line-breaks calls display_title if the display_title flag is set + displays the message sets the tmux status bar color to passed color on a custom type - sets the tmux status bar color to default color on a custom type - sets the display-time + when color_location is passed with an array + should set the color on multiple tmux settings + with pending message type options + sets the background color + sets the foreground color + formats the message with success message type options + formats the message sets the foreground color based on the type for success sets the background color - formats the message - when color_location is passed with an array - should set the color on multiple tmux settings - when success: black is passed in as an option - on success it sets the tmux status bar color to black when the display_message flag is not set does not call display_message with options passed at initialization - uses these options by default overwrites object options with passed options uses the initialization options for custom types by default + uses these options by default + with failed message type options + formats the message + sets the background color + sets the foreground color + when right status bar is passed in as an option + should set the right tmux status bar color on success + when success: black is passed in as an option + on success it sets the tmux status bar color to black with display_title option - shows only the first line of the message displays the title - with success message type options - formats the message + shows only the first line of the message with pending message type options formats the message + with success message type options + formats the message with failed message type options formats the message - when right status bar is passed in as an option - should set the right tmux status bar color on success - with failed message type options - sets the background color - formats the message - sets the foreground color - with pending message type options - sets the background color - formats the message - sets the foreground color - #turn_on - when on - fails - -Notiffany - has a version number - -Notiffany::Notifier::Detected - #reset - resets the detected notifiers - #add - with manually configured notifiers - when not available - shows a warning - does not add the library - does not raise an error - with no detected notifiers - when unknown - does not add the library - #detect - without any detected notifiers - is expected to raise Notiffany::Notifier::Detected::NoneAvailableError with message matching /could not detect any of the supported notification/ - with some detected notifiers - add detected notifiers to available - #available - with detected notifiers - returns hash with detected notifier options Pending: (Failures listed here are expected and do not affect your suite's status) @@ -1370,10 +1406,10 @@ # Not yet implemented # ./spec/lib/notiffany/notifier_spec.rb:107 -Finished in 0.30968 seconds (files took 0.21343 seconds to load) +Finished in 0.30357 seconds (files took 0.20643 seconds to load) 183 examples, 0 failures, 2 pending -Randomized with seed 2297 +Randomized with seed 48598 /usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner @@ -1393,20 +1429,65 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 49838 +Randomized with seed 29233 -Notiffany::Notifier::NotifySend +Notiffany + has a version number + +Notiffany::Notifier::Growl #notify - with additional options - can override the default options + with options Growl cannot handle + passes options only Growl can handle without additional options shows the notification with the default options + with additional options + can override the default options + with options passed at initialization + uses these options by default + overwrites object options with passed options + #initialize + host is supported + works + when Growl is not installed + fails + host is not supported + fails + +Notiffany::Notifier::TerminalTitle + .turn_off + clears the terminal title + #notify + set title + first line of message to terminal title + with options passed at initialization + overwrites object options with passed options + uses these options by default + +Notiffany::Notifier::File + #notify + does not write to a file if no path is specified + writes to a file on success + also writes to a file on failure + with options passed at initialization + uses these options by default + overwrites object options with passed options + #available + with path option + works + with no path option + fails + +Notiffany::Notifier::NotifySend + #notify with options passed at initialization - uses the title provided in the options converts notification type pending to low urgency - converts notification type failed to normal urgency + uses the title provided in the options uses these options by default overwrites object options with passed options + converts notification type failed to normal urgency + without additional options + shows the notification with the default options + with additional options + can override the default options #initialize host is supported check_available @@ -1416,225 +1497,311 @@ host is not supported do not check if the binary is available -Notiffany::Notifier::Tmux::Session - #close - restores the tmux options - #start - sets options +Notiffany::Notifier::Detected + #available + with detected notifiers + returns hash with detected notifier options + #reset + resets the detected notifiers + #detect + without any detected notifiers + is expected to raise Notiffany::Notifier::Detected::NoneAvailableError with message matching /could not detect any of the supported notification/ + with some detected notifiers + add detected notifiers to available + #add + with no detected notifiers + when unknown + does not add the library + with manually configured notifiers + when not available + shows a warning + does not raise an error + does not add the library -Notiffany::Notifier::TerminalNotifier - .available? - host is supported - works - host is not supported +Notiffany::Notifier::Tmux::Client + #title= + sets terminal title + #display_time= + sets display time + #display + displays text in given area + when displaying on all clients + displays on every client + .version + when tmux is not installed fails - #notify - should allow the title to be customized - should call the notifier. - without a title set - should show the app name in the title - with options passed at initialization - uses these options by default - overwrites object options with passed options + when 'tmux -v' doesn't contain float-like string + fails + #message_fg= + sets message fg color + #clients + when :all is given + removes null terminal + #message_bg= + sets message bg color + +Notiffany::Notifier + #initialize + when disabled with environment + example at ./spec/lib/notiffany/notifier_spec.rb:107 (PENDING: Not yet implemented) + with custom notifier config + when connected + when disabled + does not add anything + when enabled + when supported + when available + adds the notifier to the notifications + when :off + turns off the notifier + when not connected + when disabled + does not add anything + when enabled + when supported + when available + adds the notifier to the notifications + when child process + works + when enabled with environment + when disabled with options + assigns a pid anyway + does not autodetect + when enabled with options + autodetects + assigns a pid + when no options given + autodetects + assigns a pid + .turn_on + without available notifiers + sets mode to active + with available notifiers + without silent option + shows the used notifications + when a child process + is expected to raise /Only notify()/ + with silent option + does not show activated notifiers + .notify + with multiple notifiers + when not connected + when a child process + sends notifications + shows a deprecation message (PENDING: No reason given) + when connected + when enabled + sends notifications + when a child process + sends notifications + when disabled + does not send notifications + when a child process + sends notifications + .turn_off + with no available notifiers + is not active + with available notifiers + turns off each notifier + when a child process + is expected to raise /Only notify()/ + .disconnect + resets detector + reset the pid env var + #available + when connected + with available notifiers + returns a list of available notifier info + .enabled? + when disabled + is expected not to be enabled + when enabled + is expected to be enabled Notiffany::Notifier::Tmux #initialize when the TMUX environment variable is set - without tmux + with an outdated version of tmux fails with a recent version of tmux works - with an outdated version of tmux + without tmux fails when the TMUX environment variable is not set fails #notify - handles line-breaks - sets the tmux status bar color to green on success - sets the tmux status bar color to red on failure calls display_title if the display_title flag is set - does not call display_title if the display_title flag is not set - sets the tmux status bar color to passed color on a custom type + sets the display-time + sets the tmux status bar color to red on failure + should set the tmux status bar color to yellow on pending displays the message + handles line-breaks does not change colors when the change_color flag is disabled - calls display_message if the display_message flag is set + sets the tmux status bar color to passed color on a custom type sets the tmux status bar color to default color on a custom type - sets the display-time + sets the tmux status bar color to green on success sets the tmux status bar color to default color on a custom type sets the tmux status bar color to green on notify - should set the tmux status bar color to yellow on pending + calls display_message if the display_message flag is set + does not call display_title if the display_title flag is not set + with options passed at initialization + overwrites object options with passed options + uses the initialization options for custom types by default + uses these options by default + when success: black is passed in as an option + on success it sets the tmux status bar color to black + with pending message type options + sets the background color + formats the message + sets the foreground color + when the display_message flag is not set + does not call display_message with display_title option - displays the title shows only the first line of the message + displays the title with failed message type options formats the message with pending message type options formats the message with success message type options formats the message - when success: black is passed in as an option - on success it sets the tmux status bar color to black - with failed message type options - sets the background color - sets the foreground color - formats the message with success message type options sets the background color - formats the message sets the foreground color based on the type for success - when the display_message flag is not set - does not call display_message - with pending message type options - sets the foreground color + formats the message + when color_location is passed with an array + should set the color on multiple tmux settings + with failed message type options sets the background color + sets the foreground color formats the message when right status bar is passed in as an option should set the right tmux status bar color on success - when color_location is passed with an array - should set the color on multiple tmux settings - with options passed at initialization - uses the initialization options for custom types by default - overwrites object options with passed options - uses these options by default - #turn_off - when off + #turn_on + when on fails + #turn_off when on closes the session - #turn_on - when on + when off fails -Notiffany::Notifier::Tmux::Client - #title= - sets terminal title - #clients - when :all is given - removes null terminal - .version - when tmux is not installed - fails - when 'tmux -v' doesn't contain float-like string - fails - #display_time= - sets display time - #message_fg= - sets message fg color - #message_bg= - sets message bg color - #display - displays text in given area - when displaying on all clients - displays on every client - Notiffany::Notifier::Base #name un-modulizes the class, replaces "xY" with "x_Y" and downcase + #title + un-modulize the class #initialize + on unsupported os + fails on supported os when library fails to load fails with error library loads normally returns true - on unsupported os - fails - #title - un-modulize the class #notify with type given uses given type - with :guard image - converts to image path + with no image overrides + supplies default image with notify title override uses given title - with :failed image - converts to image path - with nil image - set the notify image to nil - uses the default type with no notify title overrides supplies default title - with :success image + with :pending image converts to image path - with a custom image - uses given image - with no image overrides - supplies default image with no type overrides supplies default type - with :pending image + with a custom image + uses given image + with nil image + set the notify image to nil + uses the default type + with :failed image + converts to image path + with :guard image + converts to image path + with :success image converts to image path -Notiffany::Notifier::File - #available - with path option - works - with no path option - fails +Notiffany::Notifier::Emacs::Client + #initialize + when constructed without elisp_erb + fails with an error + #available? + when the client commmand does not exist + is expected not to be available + when the client command fails + is expected not to be available + with a working client command + is expected to be available + #notify + when constructed with valid elisp Erb + evaluates using given colors + with a message + evaluates using given message + +Notiffany::Notifier::Notifu #notify - does not write to a file if no path is specified - writes to a file on success - also writes to a file on failure with options passed at initialization - overwrites object options with passed options uses these options by default + overwrites object options with passed options + without additional options + shows the notification with the default options + with additional options + can override the default options + #initialize + host is supported + requires rb-notifu + host is not supported + fails Notiffany::Notifier::Emacs #initialize - when the client command works - works when the client command fails fails + when the client command works + works #notify - with no elisp file - uses default elisp notification code color - when set globally - when no overring notification options - is set to global value - when set during notification - for :success - is set from the notification value - for :pending - is set from the notification value when left default without overriding global options is set to default + when set during notification + for :pending + is set from the notification value + for :success + is set from the notification value + when set globally + when no overring notification options + is set to global value + with no elisp file + uses default elisp notification code with elisp file passes evaluated erb to client -Notiffany::Notifier::YamlEnvStorage - #notifiers - when set to nil - is expected to be empty - when set to empty array - is expected to be empty - when env is empty - is expected to be empty +Notiffany::Notifier::Tmux::Session + #close + restores the tmux options + #start + sets options -Notiffany::Notifier::Emacs::Client +Notiffany::Notifier::TerminalNotifier #notify - when constructed with valid elisp Erb - evaluates using given colors - with a message - evaluates using given message - #available? - with a working client command - is expected to be available - when the client command fails - is expected not to be available - when the client commmand does not exist - is expected not to be available - #initialize - when constructed without elisp_erb - fails with an error - -Notiffany::Notifier::Notifu - #initialize - host is supported - requires rb-notifu + should allow the title to be customized + should call the notifier. + without a title set + should show the app name in the title + with options passed at initialization + overwrites object options with passed options + uses these options by default + .available? host is not supported fails + host is supported + works + +Notiffany::Notifier::Libnotify #notify with additional options can override the default options @@ -1643,169 +1810,38 @@ with options passed at initialization overwrites object options with passed options uses these options by default - -Notiffany::Notifier::Libnotify #initialize - with unsupported host - does not require libnotify host is supported requires libnotify - #notify - with options passed at initialization - overwrites object options with passed options - uses these options by default - with additional options - can override the default options - without additional options - shows the notification with the default options - -Notiffany::Notifier - .turn_off - with no available notifiers - is not active - with available notifiers - turns off each notifier - when a child process - is expected to raise /Only notify()/ - .turn_on - without available notifiers - sets mode to active - with available notifiers - when a child process - is expected to raise /Only notify()/ - without silent option - shows the used notifications - with silent option - does not show activated notifiers - #available - when connected - with available notifiers - returns a list of available notifier info - .disconnect - reset the pid env var - resets detector - .enabled? - when disabled - is expected not to be enabled - when enabled - is expected to be enabled - #initialize - with custom notifier config - when connected - when enabled - when supported - when available - adds the notifier to the notifications - when :off - turns off the notifier - when disabled - does not add anything - when child process - works - when not connected - when disabled - does not add anything - when enabled - when supported - when available - adds the notifier to the notifications - when disabled with environment - example at ./spec/lib/notiffany/notifier_spec.rb:107 (PENDING: Not yet implemented) - when enabled with environment - when enabled with options - assigns a pid - autodetects - when disabled with options - does not autodetect - assigns a pid anyway - when no options given - autodetects - assigns a pid - .notify - with multiple notifiers - when not connected - when a child process - sends notifications - shows a deprecation message (PENDING: No reason given) - when connected - when disabled - does not send notifications - when a child process - sends notifications - when enabled - sends notifications - when a child process - sends notifications + with unsupported host + does not require libnotify -Notiffany - has a version number +Notiffany::Notifier::YamlEnvStorage + #notifiers + when set to empty array + is expected to be empty + when set to nil + is expected to be empty + when env is empty + is expected to be empty Notiffany::Notifier::GNTP - #client - creates a new GNTP client and memoize it - calls #register on the client and memoize it .available? host is supported requires ruby_gntp host is not supported fails #notify - with options passed at initialization - overwrites object options with passed options - uses these options by default - with additional options - can override the default options - without additional options - shows the notification with the default options - -Notiffany::Notifier::Growl - #initialize - host is not supported - fails - host is supported - works - when Growl is not installed - fails - #notify - with options Growl cannot handle - passes options only Growl can handle - with additional options - can override the default options without additional options shows the notification with the default options with options passed at initialization - uses these options by default - overwrites object options with passed options - -Notiffany::Notifier::Detected - #add - with no detected notifiers - when unknown - does not add the library - with manually configured notifiers - when not available - does not add the library - shows a warning - does not raise an error - #available - with detected notifiers - returns hash with detected notifier options - #detect - with some detected notifiers - add detected notifiers to available - without any detected notifiers - is expected to raise Notiffany::Notifier::Detected::NoneAvailableError with message matching /could not detect any of the supported notification/ - #reset - resets the detected notifiers - -Notiffany::Notifier::TerminalTitle - #notify - set title + first line of message to terminal title - with options passed at initialization overwrites object options with passed options uses these options by default - .turn_off - clears the terminal title + with additional options + can override the default options + #client + calls #register on the client and memoize it + creates a new GNTP client and memoize it Pending: (Failures listed here are expected and do not affect your suite's status) @@ -1822,10 +1858,10 @@ the Logger class does not implement the instance method: deprecation # ./spec/lib/notiffany/notifier_spec.rb:343:in `block (6 levels) in ' -Finished in 0.29665 seconds (files took 0.21548 seconds to load) +Finished in 0.3003 seconds (files took 0.21879 seconds to load) 183 examples, 0 failures, 2 pending -Randomized with seed 49838 +Randomized with seed 29233 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1860,12 +1896,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/2437317/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2437317/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/24401 and its subdirectories -I: Current time: Wed Feb 5 04:46:56 -12 2025 -I: pbuilder-time-stamp: 1738774016 +I: removing directory /srv/workspace/pbuilder/2437317 and its subdirectories +I: Current time: Wed Mar 11 13:10:46 +14 2026 +I: pbuilder-time-stamp: 1773184246