Diff of the two buildlogs: -- --- b1/build.log 2024-10-24 20:14:44.453860255 +0000 +++ b2/build.log 2024-10-24 20:15:45.915671451 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Nov 26 14:37:07 -12 2025 -I: pbuilder-time-stamp: 1764211027 +I: Current time: Fri Oct 25 10:14:47 +14 2024 +I: pbuilder-time-stamp: 1729800887 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -32,53 +32,85 @@ 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/8041/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/4245/tmp/hooks/D01_modify_environment starting +debug: Running on infom07-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 Oct 24 20:15 /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/4245/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/4245/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=6 ' - 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]="32" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.32(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=5 ' + 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='9c92ab1e8788427cad2058d5d24353ac' - 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='8041' - PS1='# ' - PS2='> ' + INVOCATION_ID=40fab76e3ae64118acd03ae2c843b400 + 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=4245 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.JTnvMXAc/pbuilderrc_u0h3 --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.JTnvMXAc/b1 --logfile b1/build.log ruby-notiffany_0.1.3-4.dsc' - SUDO_GID='111' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.JTnvMXAc/pbuilderrc_RTqK --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.JTnvMXAc/b2 --logfile b2/build.log ruby-notiffany_0.1.3-4.dsc' + SUDO_GID=111 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom08-i386 6.10.11+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.11-1~bpo12+1 (2024-10-03) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/8041/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/4245/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -91,7 +123,7 @@ Depends: debhelper-compat (= 13), gem2deb, ruby-nenv, ruby-shellany, ruby-rspec dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. -(Reading database ... 21867 files and directories currently installed.) +(Reading database ... 19932 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: @@ -259,10 +291,10 @@ Get: 135 http://deb.debian.org/debian trixie/main i386 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 136 http://deb.debian.org/debian trixie/main i386 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 137 http://deb.debian.org/debian trixie/main i386 ruby-shellany all 0.0.1-5 [5772 B] -Fetched 44.7 MB in 1s (67.0 MB/s) +Fetched 44.7 MB in 1s (47.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 21867 files and directories currently installed.) +(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 ... 19932 files and directories currently installed.) Preparing to unpack .../libpython3.12-minimal_3.12.6-1_i386.deb ... Unpacking libpython3.12-minimal:i386 (3.12.6-1) ... Selecting previously unselected package libexpat1:i386. @@ -275,7 +307,7 @@ Setting up libexpat1:i386 (2.6.3-1) ... Setting up python3.12-minimal (3.12.6-1) ... Selecting previously unselected package python3-minimal. -(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 ... 22187 files and directories currently installed.) +(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 ... 20252 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.6-1_i386.deb ... Unpacking python3-minimal (3.12.6-1) ... Selecting previously unselected package media-types. @@ -337,7 +369,7 @@ Unpacking libpython3-stdlib:i386 (3.12.6-1) ... Setting up python3-minimal (3.12.6-1) ... Selecting previously unselected package python3. -(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 ... 23259 files and directories currently installed.) +(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 ... 21324 files and directories currently installed.) Preparing to unpack .../000-python3_3.12.6-1_i386.deb ... Unpacking python3 (3.12.6-1) ... Selecting previously unselected package sensible-utils. @@ -720,8 +752,8 @@ Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Nov 27 02:37:28 UTC 2025. -Universal Time is now: Thu Nov 27 02:37:28 UTC 2025. +Local time is now: Thu Oct 24 20:15:25 UTC 2024. +Universal Time is now: Thu Oct 24 20:15:25 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -843,7 +875,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/4245/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/4245/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 @@ -927,419 +963,419 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 51657 +Randomized with seed 13062 -Notiffany::Notifier::Libnotify +Notiffany::Notifier #initialize - host is supported - requires libnotify - with unsupported host - does not require libnotify - #notify - 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 - -Notiffany::Notifier::File + with custom notifier config + when connected + when enabled + when :off + turns off the notifier + when supported + when available + adds the notifier to the notifications + when disabled + does not add anything + when not connected + when enabled + when supported + when available + adds the notifier to the notifications + when disabled + does not add anything + when child process + works + when enabled with environment + when enabled with options + assigns a pid + autodetects + when no options given + assigns a pid + autodetects + when disabled with options + does not autodetect + assigns a pid anyway + when disabled with environment + example at ./spec/lib/notiffany/notifier_spec.rb:107 (PENDING: Not yet implemented) + .turn_on + without available notifiers + sets mode to active + with available notifiers + without silent option + shows the used notifications + with silent option + does not show activated notifiers + when a child process + is expected to raise /Only notify()/ + .enabled? + when enabled + is expected to be enabled + when disabled + is expected not to be enabled #available - with path option - works - with no path option - fails - #notify - does not write to a file if no path is specified - also writes to a file on failure - writes to a file on success - with options passed at initialization - overwrites object options with passed options - uses these options by default - -Notiffany::Notifier::TerminalNotifier - #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 - .available? - host is supported - works - host is not supported - fails - -Notiffany::Notifier::TerminalTitle + when connected + with available notifiers + returns a list of available notifier info + .disconnect + reset the pid env var + resets detector .turn_off - clears the terminal title - #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 + with available notifiers + turns off each notifier + when a child process + is expected to raise /Only notify()/ + with no available notifiers + is not active + .notify + with multiple notifiers + when connected + when disabled + does not send notifications + when a child process + sends notifications + when enabled + sends notifications + when a child process + sends notifications + when not connected + when a child process + sends notifications + shows a deprecation message (PENDING: No reason given) -Notiffany::Notifier::Emacs::Client - #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 - #notify - when constructed with valid elisp Erb - evaluates using given colors - with a message - evaluates using given message - #initialize - when constructed without elisp_erb - fails with an error +Notiffany::Notifier::Tmux::Client + #display_time= + sets display time + #message_bg= + sets message bg color + #title= + sets terminal title + #display + displays text in given area + when displaying on all clients + displays on every client + #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 + #message_fg= + sets message fg color Notiffany::Notifier::Growl - #notify - with options passed at initialization - uses these options by default - overwrites object options with passed options - 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 #initialize + host is not supported + fails host is supported works when Growl is not installed fails - host is not supported - fails - -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 without additional options shows the notification with the default options + with additional options + can override the default options + with options Growl cannot handle + passes options only Growl can handle with options passed at initialization overwrites object options with passed options uses these options by default - with additional options - can override the default options Notiffany::Notifier::Tmux - #initialize - when the TMUX environment variable is set - with an outdated version of tmux - fails - without tmux - fails - with a recent version of tmux - works - when the TMUX environment variable is not set - fails #turn_on when on fails - #turn_off - when off - fails - when on - closes the session #notify + does not call display_title if the display_title flag is not set + does not change colors when the change_color flag is disabled displays the message - calls display_title if the display_title flag is set - 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 + should set the tmux status bar color to yellow on pending + calls display_title if the display_title flag is set + handles line-breaks 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 tmux status bar color to red on failure sets the tmux status bar color to green on notify - handles line-breaks - does not change colors when the change_color flag is disabled + sets the display-time calls display_message if the display_message flag is set - does not call display_title if the display_title flag is not set - should set the tmux status bar color to yellow on pending - sets the tmux status bar color to red on failure - sets the tmux status bar color to default color on a custom type - sets the tmux status bar color to green on success + when right status bar is passed in as an option + should set the right tmux status bar color on success + when the display_message flag is not set + does not call display_message + with failed message type options + sets the background color + formats the message + sets the foreground color 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 - when right status bar is passed in as an option - should set the right tmux status bar color on success + uses the initialization options for custom types by default + when success: black is passed in as an option + on success it sets the tmux status bar color to black + when color_location is passed with an array + should set the color on multiple tmux settings with pending message type options - sets the foreground color - sets the background color formats the message - with failed message type options sets the foreground color sets the background color - formats the 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 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 pending message type options + formats the message with success message type options sets the background color sets the foreground color based on the type for success formats the message + #turn_off + when off + fails + when on + closes the session + #initialize + when the TMUX environment variable is not set + fails + when the TMUX environment variable is set + without tmux + fails + with a recent version of tmux + works + with an outdated version of tmux + fails + +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 + 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 Notiffany::Notifier::YamlEnvStorage #notifiers - when env is empty - is expected to be empty 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::NotifySend +Notiffany::Notifier::File + #available + with path option + works + with no path option + 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 with options passed at initialization - uses the title provided in the options - uses these options by default - converts notification type failed to normal urgency overwrites object options with passed options - converts notification type pending to low 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 - checks if the binary is available - binary check returns nil - should raise an UnavailableError - host is not supported - do not check if the binary is available + uses these options by default -Notiffany::Notifier::Detected - #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 add the library - does not raise an error - #available - with detected notifiers - returns hash with detected notifier options +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::Base + #name + un-modulizes the class, replaces "xY" with "x_Y" and downcase + #title + un-modulize the class + #initialize + on supported os + library loads normally + returns true + when library fails to load + fails with error + on unsupported os + fails #notify - with :pending image - converts to image path - with :success image - converts to image path with :failed image converts to image path - with no image overrides - supplies default image + with type given + uses given type with :guard image converts to image path + with no type overrides + supplies default type + with :pending image + converts to image path + with nil image + uses the default type + set the notify image to nil + with :success image + converts to image path with a custom image uses given image - with type given - uses given type + with no image overrides + supplies default image with notify title override uses given title with no notify title overrides supplies default title - with nil image - uses the default type - set the notify image to nil - with no type overrides - supplies default type - #title - un-modulize the class - #name - un-modulizes the class, replaces "xY" with "x_Y" and downcase + +Notiffany::Notifier::Emacs::Client #initialize - on supported os - when library fails to load - fails with error - library loads normally - returns true - on unsupported os - fails + when constructed without elisp_erb + fails with an error + #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 + +Notiffany::Notifier::Detected + #available + with detected notifiers + returns hash with detected notifier options + #reset + resets the detected notifiers + #add + with manually configured notifiers + when not available + does not raise an error + shows a warning + does not add the library + 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 Notiffany::Notifier::Emacs #notify + with elisp file + passes evaluated erb to client with no elisp file uses default elisp notification code 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 :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 - with elisp file - passes evaluated erb to client + for :success + is set from the notification value #initialize + when the client command fails + fails when the client command works works - when the client command fails + +Notiffany + has a version number + +Notiffany::Notifier::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 + with additional options + can override the default options + without additional options + shows the notification with the default options + .available? + host is not supported fails + host is supported + requires ruby_gntp Notiffany::Notifier::Notifu + #initialize + host is not supported + fails + host is supported + requires rb-notifu #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 + +Notiffany::Notifier::NotifySend + #notify with options passed at initialization uses these options by default + converts notification type pending to low urgency + converts notification type failed to normal urgency overwrites object options with passed options + uses the title provided in the options + with additional options + can override the default options + without additional options + shows the notification with the default options #initialize host is supported - requires rb-notifu + check_available + checks if the binary is available + binary check returns nil + should raise an UnavailableError host is not supported - fails - -Notiffany - has a version number - -Notiffany::Notifier - .enabled? - when disabled - is expected not to be enabled - when enabled - is expected to be enabled - #initialize - when enabled with environment - when disabled with options - assigns a pid anyway - does not autodetect - when no options given - assigns a pid - autodetects - when enabled with options - assigns a pid - autodetects - with custom notifier config - when connected - when disabled - does not add anything - when enabled - when :off - turns off the notifier - when supported - when available - adds the notifier to the notifications - when not connected - when enabled - when supported - when available - adds the notifier to the notifications - when disabled - does not add anything - when child process - works - when disabled with environment - example at ./spec/lib/notiffany/notifier_spec.rb:107 (PENDING: Not yet implemented) - #available - when connected - with available notifiers - returns a list of available notifier info - .disconnect - reset the pid env var - resets detector - .turn_off - with available notifiers - turns off each notifier - when a child process - is expected to raise /Only notify()/ - with no available notifiers - is not active - .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 connected - when enabled - sends notifications - when a child process - sends notifications - when disabled - does not send notifications - when a child process - sends notifications - when not connected - when a child process - sends notifications - shows a deprecation message (PENDING: No reason given) - -Notiffany::Notifier::Tmux::Session - #close - restores the tmux options - #start - sets options + do not check if the binary is available -Notiffany::Notifier::Tmux::Client - #display_time= - sets display time - #display - displays text in given area - when displaying on all clients - displays on every client - #message_bg= - sets message bg color - #message_fg= - sets message fg color - #clients - when :all is given - removes null terminal - .version - when tmux is not installed - fails - when 'tmux -v' doesn't contain float-like string +Notiffany::Notifier::TerminalNotifier + #notify + should allow the title to be customized + should call the notifier. + 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 + .available? + host is not supported fails - #title= - sets terminal title + host is supported + works Pending: (Failures listed here are expected and do not affect your suite's status) @@ -1356,10 +1392,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.2368 seconds (files took 0.18531 seconds to load) +Finished in 0.3473 seconds (files took 0.22637 seconds to load) 183 examples, 0 failures, 2 pending -Randomized with seed 51657 +Randomized with seed 13062 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1394,12 +1430,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/4245/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/4245/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/8041 and its subdirectories -I: Current time: Wed Nov 26 14:37:41 -12 2025 -I: pbuilder-time-stamp: 1764211061 +I: removing directory /srv/workspace/pbuilder/4245 and its subdirectories +I: Current time: Fri Oct 25 10:15:44 +14 2024 +I: pbuilder-time-stamp: 1729800944