Diff of the two buildlogs: -- --- b1/build.log 2020-04-16 13:04:28.989535223 +0000 +++ b2/build.log 2020-04-16 13:04:58.408954739 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Apr 16 00:58:30 -12 2020 -I: pbuilder-time-stamp: 1587041910 +I: Current time: Thu May 20 09:27:29 +14 2021 +I: pbuilder-time-stamp: 1621452449 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration @@ -18,7 +18,7 @@ I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error -gpgv: Signature made Tue Mar 13 06:51:38 2018 -12 +gpgv: Signature made Wed Mar 14 08:51:38 2018 +14 gpgv: using RSA key 7E43E9ACBF727AB3CF0885338716CE4614A452D8 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ruby-puppet-forge_2.2.9-2.dsc @@ -30,6 +30,18 @@ dpkg-source: info: applying 002_loosen_deps.patch I: using fakeroot in build. I: Installing the build-deps +I: user script /srv/workspace/pbuilder/42565/tmp/hooks/D01_modify_environment starting +debug: Running on profitbricks-build6-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 +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by 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/42565/tmp/hooks/D01_modify_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -226,7 +238,7 @@ Get: 143 http://deb.debian.org/debian buster/main i386 ruby-rspec-core all 3.8.0c0e1m0s0-1 [190 kB] Get: 144 http://deb.debian.org/debian buster/main i386 ruby-rspec all 3.8.0c0e1m0s0-1 [7620 B] Get: 145 http://deb.debian.org/debian buster/main i386 ruby-semantic-puppet all 1.0.2-1 [15.0 kB] -Fetched 44.1 MB in 11s (4160 kB/s) +Fetched 44.1 MB in 1s (61.4 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0: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 ... 19231 files and directories currently installed.) @@ -838,7 +850,7 @@ fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/ruby-puppet-forge-2.2.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b +I: Running cd /build/ruby-puppet-forge-2.2.9/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package ruby-puppet-forge dpkg-buildpackage: info: source version 2.2.9-2 dpkg-buildpackage: info: source distribution unstable @@ -887,26 +899,26 @@ └──────────────────────────────────────────────────────────────────────────────┘ install -d /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/version.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/version.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge.rb install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/connection/connection_failure.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/connection/connection_failure.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/lazy_relations.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/lazy_relations.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/middleware/symbolify_json.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/middleware/symbolify_json.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/tar.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/tar.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/connection.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/connection.rb install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/lazy_accessors.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/lazy_accessors.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/util.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/util.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/unpacker.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/unpacker.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/version.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/version.rb install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3.rb install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/error.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/error.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/module.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/module.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/metadata.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/metadata.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/base.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/base.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/release.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/release.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/user.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/user.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/base/paginated_collection.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/base/paginated_collection.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/tar.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/tar.rb install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/locales/config.yaml /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/locales/config.yaml install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/tar/mini.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/tar/mini.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/unpacker.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/unpacker.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/connection.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/connection.rb -install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/user.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/user.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/release.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/release.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/base/paginated_collection.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/base/paginated_collection.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/base.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/base.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/metadata.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/metadata.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/v3/module.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/v3/module.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/lazy_relations.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/lazy_relations.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/middleware/symbolify_json.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/middleware/symbolify_json.rb +install -D -m644 /build/ruby-puppet-forge-2.2.9/lib/puppet_forge/util.rb /build/ruby-puppet-forge-2.2.9/debian/ruby-puppet-forge/usr/lib/ruby/vendor_ruby/puppet_forge/util.rb dh_installchangelogs -pruby-puppet-forge /build/ruby-puppet-forge-2.2.9/CHANGELOG.md upstream ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -933,58 +945,107 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 56252 +Randomized with seed 25571 + +PuppetForge::Util + version_valid? + returns false for an invalid version + returns true for a valid version + +PuppetForge::LazyAccessors + does not call methods to #inspect + remote attributes + allow `super` access to shadowed remote attributes + provide remote attributes setters + allow access to locally unsatisfiable methods + do not create accessors on the base class itself + allow access to remote attributes + provide remote attributes predicates + allow multiple instances to access remote attributes + unsatisfiable attributes + do not create accessors on the base class itself + raise an exception when accessing an unknown attribute + local attributes + allow access to local attributes + provide local attributes setters + allow `super` access to shadowed attributes + do not create accessors on the base class itself + provide local attributes predicates + allow access to local standalone methods + allow access to locally satisfiable methods + +PuppetForge::V3::Base + ::new_collection + should handle responses with no results + should handle responses with no pagination info + the host url setting + should handle a host url with no path prefix + should handle a path prefix in the host + connection management + setting authorization value after a connection is created + should reset connection + setting proxy value after a connection is created + should reset connection PuppetForge::LazyRelations - .lazy + .lazy_collection should be a kind of PuppetForge::V3::Thing does not call methods to #inspect unsatisfiable attributes raise an exception when accessing an unknown attribute - null relations - do not return new instances - remote relations - allow chained lookups of lazy relations - local attributes - allow access to local attributes - provide local attributes setters - allow access to locally satisfiable methods - provide local attributes predicates - allow access to local standalone methods - allow `super` access to shadowed attributes remote attributes - provide remote attributes setters - allow `super` access to shadowed remote attributes allow access to locally unsatisfiable methods + allow `super` access to shadowed remote attributes allow access to remote attributes - provide remote attributes predicates allow multiple instances to access remote attributes - .lazy_collection - should be a kind of PuppetForge::V3::Thing - does not call methods to #inspect + provide remote attributes setters + provide remote attributes predicates local attributes - allow `super` access to shadowed attributes - provide local attributes predicates - allow access to local attributes allow access to local standalone methods provide local attributes setters + provide local attributes predicates + allow access to local attributes + allow `super` access to shadowed attributes allow access to locally satisfiable methods + remote relations + allow chained lookups of lazy relations + null relations + return an empty list + .lazy + does not call methods to #inspect + should be a kind of PuppetForge::V3::Thing remote attributes - allow `super` access to shadowed remote attributes - provide remote attributes setters allow access to locally unsatisfiable methods allow multiple instances to access remote attributes + provide remote attributes setters allow access to remote attributes + allow `super` access to shadowed remote attributes provide remote attributes predicates - null relations - return an empty list remote relations allow chained lookups of lazy relations + local attributes + allow access to local attributes + provide local attributes setters + allow access to local standalone methods + allow access to locally satisfiable methods + provide local attributes predicates + allow `super` access to shadowed attributes + null relations + do not return new instances unsatisfiable attributes raise an exception when accessing an unknown attribute -PuppetForge::Tar - returns an instance of minitar +PuppetForge::V3::Base::PaginatedCollection + exposes previous_url and next_url + exposes the pagination metadata + knows the size of the entire collection + contains only a subset of the entire collection + maps to a single page of the collection + enables page navigation + #all returns self for backwards compatibility. + #unpaginated + provides an iterator over the entire collection + provides a full iterator regardless of which page it's started on PuppetForge::V3::Release connection management @@ -993,250 +1054,205 @@ setting proxy value after a connection is created should reset connection with stubbed connection + instance properies + are easily accessible #download downloads the file to the specified location when response is 403 raises PuppetForge::ReleaseForbidden when connection fails re-raises original error + #download_url + handles an API response that does not include a scheme and host + handles an API response that includes a scheme and host + when PuppetForge.host has a path prefix + includes path prefix in download url #metadata is lazy and repeatable - ::find - raises Faraday::ResourceNotFound for non-existent releases - can find releases that exist #module transparently makes API calls for other attributes - exposes the related module as a property grants access to module attributes without an API call - instance properies - are easily accessible - #download_url - handles an API response that includes a scheme and host - handles an API response that does not include a scheme and host - when PuppetForge.host has a path prefix - includes path prefix in download url + exposes the related module as a property + ::find + can find releases that exist + raises Faraday::ResourceNotFound for non-existent releases PuppetForge::Middleware::SymbolifyJson #process_hash - can process a hash that is already symbolified - can process a hash with a hash inside of it + can process a hash with an array inside of it can handle extensively nested arrays and hashes doesn't change keys that don't respond to :to_sym - can process a hash with an array inside of it + can process a hash with a hash inside of it + can process a hash that is already symbolified changes all keys that respond to :to_sym into Symbols and doesn't change values. #process_array - doesn't change an array with no array or hash inside changes all keys of a hash inside the array + doesn't change an array with no array or hash inside -PuppetForge::V3::Base - the host url setting - should handle a path prefix in the host - should handle a host url with no path prefix - connection management - setting proxy value after a connection is created - should reset connection - setting authorization value after a connection is created - should reset connection - ::new_collection - should handle responses with no results - should handle responses with no pagination info +PuppetForge::Connection::ConnectionFailure + includes the base URL in the error message + includes the proxy host in the error message when set -PuppetForge::Util - version_valid? - returns false for an invalid version - returns true for a valid version +PuppetForge::Tar + returns an instance of minitar + +PuppetForge + host attribute + should add a trailing slash if not present + should coerce non-String values if possible PuppetForge::V3::Metadata + #release_name + is unaffected by author name + returns nil in the absence of a module name + returns nil in the absence of a version + returns a hyphenated string containing module name and version #update - with a valid dependency - adds the dependency (PENDING: dependency resolution is not yet in scope) - with an invalid name - (missing namespace) - raises an exception - (invalid namespace) - raises an exception - (module name starts with a number) - raises an exception - (short module name) - raises an exception - (non-alphanumeric module name) - raises an exception - (missing module name) - raises an exception - with duplicate dependencies - raises an exception (PENDING: dependency resolution is not yet in scope) - with a invalid version range + with a invalid dependency name + raises an exception + adding a duplicate dependency + with a different version raises an exception (PENDING: dependency resolution is not yet in scope) + with the same version does not add another dependency (PENDING: dependency resolution is not yet in scope) + with an invalid version raises an exception with a valid source which is a GitHub URL - with a scheme + without a scheme predicts a default project_page predicts a default issues_url - without a scheme + with a scheme predicts a default project_page predicts a default issues_url which is not a URL does not predict a default issues_url does not predict a default project_page which is not a GitHub URL - does not predict a default issues_url does not predict a default project_page - adding a duplicate dependency - with the same version does not add another dependency (PENDING: dependency resolution is not yet in scope) - with a different version raises an exception (PENDING: dependency resolution is not yet in scope) + does not predict a default issues_url + with duplicate dependencies + raises an exception (PENDING: dependency resolution is not yet in scope) with a valid dependency version range adds the dependency (PENDING: dependency resolution is not yet in scope) + with a valid dependency + adds the dependency (PENDING: dependency resolution is not yet in scope) with a valid name and author use the author name from the author field and preexisting author avoids overwriting the existing author - with an invalid version - raises an exception + with an invalid name + (invalid namespace) + raises an exception + (short module name) + raises an exception + (missing module name) + raises an exception + (missing namespace) + raises an exception + (module name starts with a number) + raises an exception + (non-alphanumeric module name) + raises an exception with a valid name extracts the author name from the name field extracts a module name from the name field and existing author avoids overwriting the existing author - with a invalid dependency name + with a invalid version range raises an exception - #release_name - returns a hyphenated string containing module name and version - is unaffected by author name - returns nil in the absence of a version - returns nil in the absence of a module name - #to_hash - contains the default set of keys - ['license'] - defaults to Apache 2 - when updated with non-default data - contains unanticipated values - overrides the defaults - ['dependencies'] - defaults to an empty set property lookups - #dashed_name + #source responds to the property #author responds to the property #name responds to the property - #license + #issues_url responds to the property - #description + #dependencies responds to the property - #source + #license responds to the property - #dependencies + #dashed_name responds to the property - #issues_url + #project_page responds to the property - #version + #summary responds to the property #release_name responds to the property - #project_page + #version responds to the property - #summary + #description responds to the property #dashed_name - properly handles slash-separated names - returns a hyphenated string containing namespace and module name is unaffected by author name + returns a hyphenated string containing namespace and module name + properly handles slash-separated names returns nil in the absence of a module name - -PuppetForge - host attribute - should add a trailing slash if not present - should coerce non-String values if possible - -PuppetForge::V3::Base::PaginatedCollection - exposes previous_url and next_url - enables page navigation - contains only a subset of the entire collection - #all returns self for backwards compatibility. - maps to a single page of the collection - knows the size of the entire collection - exposes the pagination metadata - #unpaginated - provides a full iterator regardless of which page it's started on - provides an iterator over the entire collection - -PuppetForge::Connection::ConnectionFailure - includes the base URL in the error message - includes the proxy host in the error message when set + #to_hash + contains the default set of keys + ['license'] + defaults to Apache 2 + when updated with non-default data + contains unanticipated values + overrides the defaults + ['dependencies'] + defaults to an empty set PuppetForge::Unpacker + attempts to set the ownership of a target dir to a source dir's owner returns the appropriate categories of the contents of the tar file from the tar implementation attempts to untar file to temporary location - attempts to set the ownership of a target dir to a source dir's owner PuppetForge::Tar::Mini - does not allow an absolute path - does not allow a directory to be written outside the destination directory - returns filenames in a tar separated into correct categories packs a tar file - does not allow a file to be written outside the destination directory unpacks a tar file + does not allow an absolute path + does not allow a file to be written outside the destination directory + returns filenames in a tar separated into correct categories + does not allow a directory to be written outside the destination directory PuppetForge::V3::Module - #releases - knows the size of the collection - exposes the related releases as a property - loads releases lazily - grants access to release attributes without an API call - #current_release - exposes the current_release as a property - grants access to release attributes without an API call instance properies are easily accessible - ::find - can find modules that exist - can find modules that exist from a stateless call - returns nil for non-existent modules #owner transparently makes API calls for other attributes exposes the related module as a property grants access to module attributes without an API call - -PuppetForge::LazyAccessors - does not call methods to #inspect - unsatisfiable attributes - raise an exception when accessing an unknown attribute - do not create accessors on the base class itself - local attributes - allow access to locally satisfiable methods - provide local attributes predicates - provide local attributes setters - do not create accessors on the base class itself - allow `super` access to shadowed attributes - allow access to local attributes - allow access to local standalone methods - remote attributes - provide remote attributes setters - allow multiple instances to access remote attributes - allow access to locally unsatisfiable methods - allow access to remote attributes - allow `super` access to shadowed remote attributes - do not create accessors on the base class itself - provide remote attributes predicates + #current_release + exposes the current_release as a property + grants access to release attributes without an API call + ::find + can find modules that exist from a stateless call + returns nil for non-existent modules + can find modules that exist + #releases + exposes the related releases as a property + grants access to release attributes without an API call + loads releases lazily + knows the size of the collection Pending: (Failures listed here are expected and do not affect your suite's status) - 1) PuppetForge::V3::Metadata#update with a valid dependency adds the dependency + 1) PuppetForge::V3::Metadata#update adding a duplicate dependency with a different version raises an exception # dependency resolution is not yet in scope Failure/Error: dep = Dependency.new(name, version_requirement, repository) NameError: uninitialized constant PuppetForge::V3::Metadata::Dependency # ./lib/puppet_forge/v3/metadata.rb:69:in `add_dependency' - # ./lib/puppet_forge/v3/metadata.rb:152:in `block in merge_dependencies' - # ./lib/puppet_forge/v3/metadata.rb:151:in `each' - # ./lib/puppet_forge/v3/metadata.rb:151:in `merge_dependencies' - # ./lib/puppet_forge/v3/metadata.rb:52:in `update' - # ./spec/unit/forge/v3/metadata_spec.rb:21:in `block (3 levels) in ' - # ./spec/unit/forge/v3/metadata_spec.rb:175:in `block (4 levels) in ' + # ./spec/unit/forge/v3/metadata_spec.rb:217:in `block (4 levels) in ' - 2) PuppetForge::V3::Metadata#update with duplicate dependencies raises an exception + 2) PuppetForge::V3::Metadata#update adding a duplicate dependency with the same version does not add another dependency + # dependency resolution is not yet in scope + Failure/Error: dep = Dependency.new(name, version_requirement, repository) + + NameError: + uninitialized constant PuppetForge::V3::Metadata::Dependency + # ./lib/puppet_forge/v3/metadata.rb:69:in `add_dependency' + # ./spec/unit/forge/v3/metadata_spec.rb:222:in `block (4 levels) in ' + + 3) PuppetForge::V3::Metadata#update with duplicate dependencies raises an exception # dependency resolution is not yet in scope Failure/Error: expect { subject }.to raise_error(ArgumentError) @@ -1251,25 +1267,21 @@ # ./spec/unit/forge/v3/metadata_spec.rb:209:in `block (4 levels) in ' # ./spec/unit/forge/v3/metadata_spec.rb:209:in `block (4 levels) in ' - 3) PuppetForge::V3::Metadata#update adding a duplicate dependency with the same version does not add another dependency + 4) PuppetForge::V3::Metadata#update with a valid dependency version range adds the dependency # dependency resolution is not yet in scope Failure/Error: dep = Dependency.new(name, version_requirement, repository) NameError: uninitialized constant PuppetForge::V3::Metadata::Dependency # ./lib/puppet_forge/v3/metadata.rb:69:in `add_dependency' - # ./spec/unit/forge/v3/metadata_spec.rb:222:in `block (4 levels) in ' - - 4) PuppetForge::V3::Metadata#update adding a duplicate dependency with a different version raises an exception - # dependency resolution is not yet in scope - Failure/Error: dep = Dependency.new(name, version_requirement, repository) - - NameError: - uninitialized constant PuppetForge::V3::Metadata::Dependency - # ./lib/puppet_forge/v3/metadata.rb:69:in `add_dependency' - # ./spec/unit/forge/v3/metadata_spec.rb:217:in `block (4 levels) in ' + # ./lib/puppet_forge/v3/metadata.rb:152:in `block in merge_dependencies' + # ./lib/puppet_forge/v3/metadata.rb:151:in `each' + # ./lib/puppet_forge/v3/metadata.rb:151:in `merge_dependencies' + # ./lib/puppet_forge/v3/metadata.rb:52:in `update' + # ./spec/unit/forge/v3/metadata_spec.rb:21:in `block (3 levels) in ' + # ./spec/unit/forge/v3/metadata_spec.rb:191:in `block (4 levels) in ' - 5) PuppetForge::V3::Metadata#update with a valid dependency version range adds the dependency + 5) PuppetForge::V3::Metadata#update with a valid dependency adds the dependency # dependency resolution is not yet in scope Failure/Error: dep = Dependency.new(name, version_requirement, repository) @@ -1281,12 +1293,12 @@ # ./lib/puppet_forge/v3/metadata.rb:151:in `merge_dependencies' # ./lib/puppet_forge/v3/metadata.rb:52:in `update' # ./spec/unit/forge/v3/metadata_spec.rb:21:in `block (3 levels) in ' - # ./spec/unit/forge/v3/metadata_spec.rb:191:in `block (4 levels) in ' + # ./spec/unit/forge/v3/metadata_spec.rb:175:in `block (4 levels) in ' -Finished in 0.52986 seconds (files took 0.55597 seconds to load) +Finished in 0.23874 seconds (files took 0.30294 seconds to load) 170 examples, 0 failures, 5 pending -Randomized with seed 56252 +Randomized with seed 25571 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1314,12 +1326,14 @@ dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: copying local configuration +I: user script /srv/workspace/pbuilder/42565/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/42565/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/27274 and its subdirectories -I: Current time: Thu Apr 16 01:04:28 -12 2020 -I: pbuilder-time-stamp: 1587042268 +I: removing directory /srv/workspace/pbuilder/42565 and its subdirectories +I: Current time: Thu May 20 09:27:56 +14 2021 +I: pbuilder-time-stamp: 1621452476