Diff of the two buildlogs: -- --- b1/build.log 2024-11-25 14:54:57.897387262 +0000 +++ b2/build.log 2024-11-25 14:56:19.021758603 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Nov 25 02:52:19 -12 2024 -I: pbuilder-time-stamp: 1732546339 +I: Current time: Tue Nov 26 04:55:07 +14 2024 +I: pbuilder-time-stamp: 1732546507 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -29,52 +29,84 @@ dpkg-source: info: applying no-relative-path-in-tests.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/12442/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/21899/tmp/hooks/D01_modify_environment starting +debug: Running on virt64z. +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 Nov 25 14:55 /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/21899/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/21899/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + 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]="arm-unknown-linux-gnueabihf") + 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=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='cd56c24aed7b4a9f816bd71a407ee88a' - 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='12442' - PS1='# ' - PS2='> ' + INVOCATION_ID=56771797f77d47f78fbdf465a23630ba + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=21899 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.fEeme2uK/pbuilderrc_AG9L --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.fEeme2uK/b1 --logfile b1/build.log ruby-icalendar_2.10.3-1.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.fEeme2uK/pbuilderrc_EOkO --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.fEeme2uK/b2 --logfile b2/build.log ruby-icalendar_2.10.3-1.dsc' + SUDO_GID=110 + SUDO_UID=103 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt32c 6.1.0-28-armmp-lpae #1 SMP Debian 6.1.119-1 (2024-11-22) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/12442/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/21899/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -271,7 +303,7 @@ Get: 145 http://deb.debian.org/debian trixie/main armhf ruby-simplecov all 0.22.0-1 [45.1 kB] Get: 146 http://deb.debian.org/debian trixie/main armhf ruby-timecop all 0.9.10-1.1 [12.2 kB] Get: 147 http://deb.debian.org/debian trixie/main armhf ruby-tzinfo all 2.0.6-1 [66.7 kB] -Fetched 43.5 MB in 2s (18.0 MB/s) +Fetched 43.5 MB in 1s (51.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal:armhf. (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 ... 19690 files and directories currently installed.) @@ -766,8 +798,8 @@ Setting up tzdata (2024b-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Nov 25 14:54:13 UTC 2024. -Universal Time is now: Mon Nov 25 14:54:13 UTC 2024. +Local time is now: Mon Nov 25 14:55:46 UTC 2024. +Universal Time is now: Mon Nov 25 14:55:46 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -895,7 +927,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-icalendar-2.10.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-icalendar_2.10.3-1_source.changes +I: user script /srv/workspace/pbuilder/21899/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/21899/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-icalendar-2.10.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-icalendar_2.10.3-1_source.changes dpkg-buildpackage: info: source package ruby-icalendar dpkg-buildpackage: info: source version 2.10.3-1 dpkg-buildpackage: info: source distribution unstable @@ -928,7 +964,7 @@ │ ruby-icalendar: Installing files and building extensions for ruby3.1 │ └──────────────────────────────────────────────────────────────────────────────┘ -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20241125-17288-ks18qz/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20241126-26860-z7b71m/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: license value 'icalendar' is invalid. Use a license identifier from http://spdx.org/licenses or 'Nonstandard' for a nonstandard license, @@ -943,7 +979,7 @@ Name: icalendar Version: 2.10.3 File: icalendar-2.10.3.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-icalendar/usr/share/rubygems-integration/all /tmp/d20241125-17288-ks18qz/icalendar-2.10.3.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-icalendar/usr/share/rubygems-integration/all /tmp/d20241126-26860-z7b71m/icalendar-2.10.3.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/reproducible-path/ruby-icalendar-2.10.3/debian/ruby-icalendar/usr/share/rubygems-integration/all/gems/icalendar-2.10.3/lib/icalendar.rb /build/reproducible-path/ruby-icalendar-2.10.3/debian/ruby-icalendar/usr/share/rubygems-integration/all/gems/icalendar-2.10.3/lib/icalendar/alarm.rb @@ -1017,181 +1053,395 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 34724 +Randomized with seed 40380 -Icalendar::Values::DateTime - without ActiveSupport - parses a string to a DateTime instance - local time - parses the value as local time - common tests - does not add any tzid parameter to output - unparseable time - raises an error including the unparseable time - floating local time - does not append a Z on output - keeps the value as a DateTime - local time - keeps value and tzid as localtime on output - manually set UTC - does not add a tzid parameter, but does add a Z +Icalendar::Values::Date + #== + is equivalent to another Icalendar::Values::Date + differing params + is no longer equivalent + +Icalendar::Values::Period + date-time/date-time + #period_start + is expected to eq # + #explicit_end + is expected to eq # + #duration + is expected to be nil + #value_ical + is expected to eq "19830507T000600Z/20140128T201400Z" + date-time/duration + #explicit_end + is expected to eq nil + #value_ical + is expected to eq "19830507T000600Z/P1604W" + allows updating duration + #period_start + is expected to eq # + #duration + is expected to eq # + +Icalendar::Values::Text + #value_ical + escapes \ , ; NL + escapes parameter text properly + single value, no special characters + does not wrap param in double quotes + multiple values, double quotes + replaces double quotes with single + nil value + trats nil as blank + single value, special characters + wraps param value in double quotes + single value, double quotes + replaces double quotes with single + multiple values, with special characters + quotes values with special characters, joins with comma + multiple values, no special characters + joins with comma + unescapes in initializer + given escaped version + removes escaping + given unescaped version + does not try to double unescape Icalendar::Timezone + marshalling + can be de/serialized + with standard/daylight components + can be de/serialized valid? + with neither standard or daylight + is expected not to be valid with both standard and daylight components is expected to be valid with only standard is expected to be valid with only daylight is expected to be valid - with neither standard or daylight + +Icalendar::Values::DateOrDateTime + #to_ical + should call parse behind the scenes + #call + Date value + returns a Date object + has the proper value + unparseable date + raises an error including the unparseable time + DateTime value + returns a DateTime object + has the proper value + +Icalendar::Alarm + #valid? + only repeat is set is expected not to be valid - marshalling - can be de/serialized - with standard/daylight components - can be de/serialized + neither duration or repeat is set + is expected to be valid + only duration is set + is expected not to be valid + both duration and repeat are set + is expected to be valid + strict validations check parent + is expected to equal true + with parent + event + is expected to equal true + todo + is expected to equal true + journal + is expected to equal false + display action + requires description + DISPLAY is set as default action + must be DISPLAY + email action + attendees are required + can be multi + can be single + must be present + requires subject and body + requires summary + requires description + +Icalendar::Event + .parse + should return an events array + #dtstart + no parent + is invalid if not set + is valid if set + with parent + is invalid without method set + is valid with parent method set + #append_custom_property + with custom property + appends to the custom properties hash + with a defined property + sets the proper setter + mutually exclusive values + is invalid if both dtend and duration are set + is valid if dtend is set + is valid if duration is set + #find_alarm + should not respond_to find_alarm + #has_alarm? + with a set valarm + is expected to have alarm + without a set valarm + is expected not to have alarm + #custom_property + returns a default for missing properties + multi values + #comment + can be added + can be appended + will return an array when set singly + #to_ical + is expected to include "GEO:41.230896;-74.411774" + is expected to include "URL;VALUE=URI:https://example.com" + is expected to include "X-CUSTOM-PROPERTY:customize" + is expected to include "SUMMARY:My event\\, my ical\\, my test" + is expected to include "DTSTART:20131227T013000Z" + is expected to include "DTEND:20131227T033000Z" + complex organizer + is expected to include "ORGANIZER;CN=John Smith:mailto:jsmith@example.com" + simple organizer + is expected to include "ORGANIZER:mailto:jsmith@example.com" + suggested single values + is invalid with strict checking + is valid by default TZInfo::Timezone - dst transition - is expected not to raise Exception - is expected not to raise Exception - is expected to raise TZInfo::AmbiguousTime - TZInfo::Timezone.default_dst = true - is expected not to raise Exception - TZInfo::Timezone.default_dst = nil - is expected to raise TZInfo::AmbiguousTime - TZInfo::Timezone.default_dst = false - is expected not to raise Exception no transition creates a standard component with equal offsets - daylight offset - is expected to eq "+0100" - is expected to eq "+0200" daylight recurrence rule is expected to eq "FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3" standard recurrence rule is expected to eq "FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10" + no end transition + only creates a standard component tzname for offset #standard is expected to eql "CET" #daylight is expected to eql "CEST" + daylight offset + is expected to eq "+0200" + is expected to eq "+0100" + dst transition + is expected not to raise Exception + is expected not to raise Exception + is expected to raise TZInfo::AmbiguousTime + TZInfo::Timezone.default_dst = nil + is expected to raise TZInfo::AmbiguousTime + TZInfo::Timezone.default_dst = false + is expected not to raise Exception + TZInfo::Timezone.default_dst = true + is expected not to raise Exception standard offset is expected to eq "+0200" is expected to eq "+0100" - no end transition - only creates a standard component + +Icalendar::Values::Recur + parsing + single byday + is expected to eq [3] + is expected to eq ["2SU"] + is expected to eq "YEARLY" + neverending yearly + can be added to another event by sending + is expected to eq "YEARLY" + multiple bydays + is expected to eq "WEEKLY" + is expected to eq 4 + is expected to eq ["MO", "WE", "FR"] + #value_ical + outputs in spec order + #valid? + cannot have both until and count + requires frequency + +Icalendar::Values::Duration + #weeks + is expected to eq 3 + #value_ical + is expected to eq "P2DT4H" + #hours + is expected to eq 6 + #seconds + is expected to eq 30 + #minutes + is expected to eq 45 + #days + no days given + is expected to eq 0 + days given + is expected to eq 5 + #past? + negative + is expected to equal true + positive explicit + is expected to equal false + positive implicit + is expected to equal false + #days= + can set the number of days + +Icalendar::Values::UtcOffset + #value_ical + does not output seconds unless required + with seconds + is expected to eq "+023030" + #behind? + negative offset + is expected to equal true + no offset + is expected to equal false + does not allow override + positive offset + is expected to equal false + +Icalendar::Parser + #parse + reversed_timezone.ics + correctly parses the event timezone + recurrence.ics + correctly parses the exdate array + events.ics + returns an array of events + custom_component.ics + correctly handles custom named components + tzid_search.ics + correctly sets the weird tzid + single_event.ics + saves params + properly splits multi-valued lines + returns an array of calendars + event.ics + returns an array of events + #parse with bad line + properly splits multi-valued lines + returns an array of calendars + saves params + missing date value parameter + falls back to date type for dtstart Icalendar::Calendar + #publish + sets ip_method to "PUBLISH" + #cancel + sets ip_method to "CANCEL" marshalling can be de/serialized + #request + sets ip_method to "REQUEST" #to_ical outputs properties and components + #decline_counter + sets ip_method to "DECLINECOUNTER" + values + sets and gets custom properties + can set params on a property + #prodid sets and gets + #ip_method sets and gets + #version sets and gets + #calscale sets and gets + required values + is not valid when prodid is not set + is valid by default + is not valid when version is not set + is valid when both prodid and version are set #add sets ip_method to "ADD" - #cancel - sets ip_method to "CANCEL" - #counter - sets ip_method to "COUNTER" components - #todo can be passed in - #journal adds a new component - can be added with add_x_ for custom components + #event can be passed in #journal can be passed in - #freebusy adds a new component - #timezone adds a new component - adds event to events list #journal passes a component to a block to build parts - #freebusy passes a component to a block to build parts - #event can be passed in + #timezone adds a new component #event passes a component to a block to build parts - #event adds a new component + #todo can be passed in + #todo adds a new component adds reference to parent - #todo passes a component to a block to build parts - #freebusy can be passed in #timezone can be passed in + #journal adds a new component + #freebusy passes a component to a block to build parts + #freebusy adds a new component + #freebusy can be passed in + can be added with add_x_ for custom components #timezone passes a component to a block to build parts - #todo adds a new component - #find_event - finds by uid + #event adds a new component + adds event to events list + #todo passes a component to a block to build parts #find_timezone finds by tzid #add_event delegates to non add_ version - values - can set params on a property - #ip_method sets and gets - #version sets and gets - #calscale sets and gets - sets and gets custom properties - #prodid sets and gets - required values - is not valid when version is not set - is valid by default - is not valid when prodid is not set - is valid when both prodid and version are set - #decline_counter - sets ip_method to "DECLINECOUNTER" - #request - sets ip_method to "REQUEST" - #publish - sets ip_method to "PUBLISH" + #find_event + finds by uid + #reply + sets ip_method to "REPLY" #refresh sets ip_method to "REFRESH" .parse correctly parses a bad file - #reply - sets ip_method to "REPLY" + #counter + sets ip_method to "COUNTER" -Icalendar::Alarm - #valid? - DISPLAY is set as default action - must be DISPLAY - display action - requires description - strict validations check parent - is expected to equal true - with parent - todo - is expected to equal true - journal - is expected to equal false - event - is expected to equal true - only duration is set - is expected not to be valid - email action - attendees are required - can be single - must be present - can be multi - requires subject and body - requires summary - requires description - both duration and repeat are set - is expected to be valid - only repeat is set - is expected not to be valid - neither duration or repeat is set - is expected to be valid +Icalendar::Values::DateTime + without ActiveSupport + parses a string to a DateTime instance + local time + parses the value as local time + common tests + does not add any tzid parameter to output + manually set UTC + does not add a tzid parameter, but does add a Z + floating local time + keeps the value as a DateTime + does not append a Z on output + local time + keeps value and tzid as localtime on output + unparseable time + raises an error including the unparseable time Icalendar::Todo #dtstart is not normally required with duration set - is valid when set is invalid if not set + is valid when set -Icalendar::Values::Date - #== - is equivalent to another Icalendar::Values::Date - differing params - is no longer equivalent +Icalendar::DowncasedHash + #[]= + sets a new value + DowncasedHash() + wraps a hash in an downcased hash + returns self when passed an DowncasedHash + #delete + no block + removes the key + with a block + calls the block when the key is not found + #[] + gets an already set value + #has_key? + correctly identifies keys in the hash Icalendar + sorting time events + sorts time events by start time (PENDING: Temporarily skipped with xit) + sorts time events by end time (PENDING: Temporarily skipped with xit) + sorting daily events + sorts day events + single event round trip + array properties can be assigned to a new event + will generate the same file as is parsed + cleanly handle facebook organizers + will generate the same file as it parsed non-standard values - strict parser - is expected to raise NoMethodError lenient parser is expected not to raise Exception can output custom fields @@ -1200,250 +1450,36 @@ saves non-standard fields is expected to eq "Not properly noted as custom with X- prefix." is expected to eq "Not properly noted as custom with X- prefix." - single event round trip - array properties can be assigned to a new event - will generate the same file as is parsed + strict parser + is expected to raise NoMethodError sorting date / time events sorts time events (PENDING: Temporarily skipped with xit) + timezone round trip + will generate the same file as it parsed non-default values - will output value param on dtstart - will output value param on dtend will set dtstart to Date + will output value param on dtstart will set dtend to Date - sorting time events - sorts time events by start time (PENDING: Temporarily skipped with xit) - sorts time events by end time (PENDING: Temporarily skipped with xit) - cleanly handle facebook organizers - will generate the same file as it parsed - sorting daily events - sorts day events - timezone round trip - will generate the same file as it parsed - -Icalendar::Values::Duration - #days= - can set the number of days - #seconds - is expected to eq 30 - #weeks - is expected to eq 3 - #days - days given - is expected to eq 5 - no days given - is expected to eq 0 - #minutes - is expected to eq 45 - #past? - positive explicit - is expected to equal false - negative - is expected to equal true - positive implicit - is expected to equal false - #hours - is expected to eq 6 - #value_ical - is expected to eq "P2DT4H" - -Icalendar::Values::Recur - #value_ical - outputs in spec order - #valid? - cannot have both until and count - requires frequency - parsing - neverending yearly - can be added to another event by sending - is expected to eq "YEARLY" - multiple bydays - is expected to eq ["MO", "WE", "FR"] - is expected to eq "WEEKLY" - is expected to eq 4 - single byday - is expected to eq ["2SU"] - is expected to eq "YEARLY" - is expected to eq [3] - -Icalendar::Parser - #parse with bad line - returns an array of calendars - saves params - properly splits multi-valued lines - missing date value parameter - falls back to date type for dtstart - #parse - recurrence.ics - correctly parses the exdate array - tzid_search.ics - correctly sets the weird tzid - events.ics - returns an array of events - reversed_timezone.ics - correctly parses the event timezone - custom_component.ics - correctly handles custom named components - event.ics - returns an array of events - single_event.ics - returns an array of calendars - properly splits multi-valued lines - saves params - -Icalendar::Values::UtcOffset - #value_ical - does not output seconds unless required - with seconds - is expected to eq "+023030" - #behind? - positive offset - is expected to equal false - negative offset - is expected to equal true - no offset - does not allow override - is expected to equal false - -Icalendar::Values::Text - #value_ical - escapes \ , ; NL - escapes parameter text properly - single value, double quotes - replaces double quotes with single - single value, special characters - wraps param value in double quotes - multiple values, no special characters - joins with comma - single value, no special characters - does not wrap param in double quotes - multiple values, with special characters - quotes values with special characters, joins with comma - multiple values, double quotes - replaces double quotes with single - nil value - trats nil as blank - unescapes in initializer - given unescaped version - does not try to double unescape - given escaped version - removes escaping - -Icalendar::DowncasedHash - #[] - gets an already set value - #has_key? - correctly identifies keys in the hash - DowncasedHash() - returns self when passed an DowncasedHash - wraps a hash in an downcased hash - #delete - with a block - calls the block when the key is not found - no block - removes the key - #[]= - sets a new value - -Icalendar::Event - #find_alarm - should not respond_to find_alarm - #custom_property - returns a default for missing properties - mutually exclusive values - is valid if duration is set - is invalid if both dtend and duration are set - is valid if dtend is set - suggested single values - is invalid with strict checking - is valid by default - #dtstart - no parent - is invalid if not set - is valid if set - with parent - is valid with parent method set - is invalid without method set - .parse - should return an events array - multi values - #comment - will return an array when set singly - can be added - can be appended - #to_ical - is expected to include "SUMMARY:My event\\, my ical\\, my test" - is expected to include "URL;VALUE=URI:https://example.com" - is expected to include "DTSTART:20131227T013000Z" - is expected to include "X-CUSTOM-PROPERTY:customize" - is expected to include "GEO:41.230896;-74.411774" - is expected to include "DTEND:20131227T033000Z" - simple organizer - is expected to include "ORGANIZER:mailto:jsmith@example.com" - complex organizer - is expected to include "ORGANIZER;CN=John Smith:mailto:jsmith@example.com" - #append_custom_property - with custom property - appends to the custom properties hash - with a defined property - sets the proper setter - #has_alarm? - with a set valarm - is expected to have alarm - without a set valarm - is expected not to have alarm - -Icalendar::Values::Period - date-time/duration - #period_start - is expected to eq # - #duration - is expected to eq # - #value_ical - is expected to eq "19830507T000600Z/P1604W" - allows updating duration - #explicit_end - is expected to eq nil - date-time/date-time - #value_ical - is expected to eq "19830507T000600Z/20140128T201400Z" - #duration - is expected to be nil - #explicit_end - is expected to eq # - #period_start - is expected to eq # - -Icalendar::Values::DateOrDateTime - #to_ical - should call parse behind the scenes - #call - DateTime value - returns a DateTime object - has the proper value - unparseable date - raises an error including the unparseable time - Date value - returns a Date object - has the proper value + will output value param on dtend Pending: (Failures listed here are expected and do not affect your suite's status) - 1) Icalendar sorting date / time events sorts time events - # Temporarily skipped with xit - # ./spec/roundtrip_spec.rb:103 - - 2) Icalendar sorting time events sorts time events by start time + 1) Icalendar sorting time events sorts time events by start time # Temporarily skipped with xit # ./spec/roundtrip_spec.rb:81 - 3) Icalendar sorting time events sorts time events by end time + 2) Icalendar sorting time events sorts time events by end time # Temporarily skipped with xit # ./spec/roundtrip_spec.rb:90 -Finished in 2.74 seconds (files took 1.16 seconds to load) + 3) Icalendar sorting date / time events sorts time events + # Temporarily skipped with xit + # ./spec/roundtrip_spec.rb:103 + +Finished in 1.81 seconds (files took 0.79132 seconds to load) 210 examples, 0 failures, 3 pending -Randomized with seed 34724 +Randomized with seed 40380 Coverage report generated for RSpec to /build/reproducible-path/ruby-icalendar-2.10.3/coverage. 1177 / 1251 LOC (94.08%) covered. @@ -1475,12 +1511,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/21899/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/21899/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/12442 and its subdirectories -I: Current time: Mon Nov 25 02:54:53 -12 2024 -I: pbuilder-time-stamp: 1732546493 +I: removing directory /srv/workspace/pbuilder/21899 and its subdirectories +I: Current time: Tue Nov 26 04:56:15 +14 2024 +I: pbuilder-time-stamp: 1732546575