Diff of the two buildlogs: -- --- b1/build.log 2024-04-01 14:50:48.639253228 +0000 +++ b2/build.log 2024-04-01 14:52:24.955150583 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Apr 1 02:46:16 -12 2024 -I: pbuilder-time-stamp: 1711982776 +I: Current time: Tue Apr 2 04:50:58 +14 2024 +I: pbuilder-time-stamp: 1711983058 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 0003-spec-helper.rb-drop-rack-freeze-usage.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/16994/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/16125/tmp/hooks/D01_modify_environment starting +debug: Running on virt32z. +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 Apr 1 14:51 /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/16125/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/16125/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]="21" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.21(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='522df36b96a74f9284cd32105839bd6f' - 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='16994' - PS1='# ' - PS2='> ' + INVOCATION_ID=0d3f21a43ac74abfb1a972d256a35def + 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=16125 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.Ytl3WUFi/pbuilderrc_0VA6 --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.Ytl3WUFi/b1 --logfile b1/build.log ruby-omniauth_2.1.1-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.Ytl3WUFi/pbuilderrc_pFf3 --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.Ytl3WUFi/b2 --logfile b2/build.log ruby-omniauth_2.1.1-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 virt64b 6.1.0-18-arm64 #1 SMP Debian 6.1.76-1 (2024-02-01) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-18-armmp-lpae #1 SMP Debian 6.1.76-1 (2024-02-01) armv7l GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 26 11:24 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/16994/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Apr 1 11:24 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/16125/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -286,7 +318,7 @@ Get: 156 http://deb.debian.org/debian trixie/main armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get: 157 http://deb.debian.org/debian trixie/main armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 158 http://deb.debian.org/debian trixie/main armhf ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] -Fetched 47.0 MB in 6s (7633 kB/s) +Fetched 47.0 MB in 1s (80.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-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 ... 19637 files and directories currently installed.) @@ -803,8 +835,8 @@ Setting up tzdata (2024a-1) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Apr 1 14:49:19 UTC 2024. -Universal Time is now: Mon Apr 1 14:49:19 UTC 2024. +Local time is now: Mon Apr 1 14:51:45 UTC 2024. +Universal Time is now: Mon Apr 1 14:51:45 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -948,7 +980,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/ruby-omniauth-2.1.1/ && 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-omniauth_2.1.1-1_source.changes +I: user script /srv/workspace/pbuilder/16125/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/16125/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-omniauth-2.1.1/ && 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-omniauth_2.1.1-1_source.changes dpkg-buildpackage: info: source package ruby-omniauth dpkg-buildpackage: info: source version 2.1.1-1 dpkg-buildpackage: info: source distribution unstable @@ -981,7 +1017,7 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-omniauth/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-omniauth-2.1.1/debian/ruby-omniauth -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240401-1048-hunmzp/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240402-21485-of8xy6/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: description and summary are identical WARNING: open-ended dependency on hashie (>= 3.4.6) is not recommended @@ -997,7 +1033,7 @@ Name: omniauth Version: 2.1.1 File: omniauth-2.1.1.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-omniauth/usr/share/rubygems-integration/all /tmp/d20240401-1048-hunmzp/omniauth-2.1.1.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-omniauth/usr/share/rubygems-integration/all /tmp/d20240402-21485-of8xy6/omniauth-2.1.1.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/reproducible-path/ruby-omniauth-2.1.1/debian/ruby-omniauth/usr/share/rubygems-integration/all/gems/omniauth-2.1.1/lib/omniauth.rb /build/reproducible-path/ruby-omniauth-2.1.1/debian/ruby-omniauth/usr/share/rubygems-integration/all/gems/omniauth-2.1.1/lib/omniauth/auth_hash.rb @@ -1044,345 +1080,345 @@ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-omniauth-2.1.1/debian/ruby-omniauth/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-omniauth-2.1.1/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -Randomized with seed 58274 +Randomized with seed 37973 -OmniAuth::Form - #initialize - sets the form action to the passed :url option - sets an H1 tag from the passed :title option - #html - appends to the html body - fieldset - creates a fieldset with options - .build - evaluates in the instance when called with a block and no argument - yields the instance when called with a block and argument - #password_field - adds a labeled input field +OmniAuth::Strategies::Developer + callback phase + with custom options + sets info fields properly + sets the uid properly + with default options + sets the uid to the email + sets the name in the auth hash + sets the email in the auth hash + request phase + has a text field for each of the fields + displays a form + has the callback as the action for the form + +OmniAuth::Builder + #before_options_phase + passes the block to the config + #call + passes env to to_app.call + #options + adds an argument if no options are provided + merges provided options in + #before_callback_phase + passes the block to the config + #before_request_phase + passes the block to the config + #provider + accepts a class + translates a symbol to a constant + raises a helpful LoadError message if it can't find the class + doesn't translate a symbol to a top-level constant + #on_failure + passes the block to the config + #configure + passes the block to the config + +OmniAuth::AuthHash + does not try to parse `string` as InfoHash + has a subkey_class + converts a supplied info key into an InfoHash object + OmniAuth::AuthHash::InfoHash + has a subkey_class + #valid? + is valid if there is a name + with Hashie 3.5.1+ + does not log anything in Hashie 3.5.1+ + #valid? + requires a uid + requires a name in the user info hash + is valid with the right parameters + requires a provider + #name + falls back to go to first_name last_name concatenation + displays only a first or last name if only that is available + displays the nickname if no name, first, or last is available + defaults to the name key + displays the email if no name, first, last, or nick is available + #to_hash + has string keys + is a plain old hash + does not pollute the URL hash with 'name' etc + supplies the calculated name in the converted hash + converts an info hash as well + +OmniAuth::KeyStore + on Hashie 3.5.0 and 3.5.1 + does not log anything to the console + on Hashie 3.5.2+ + does not log anything to the console + on Hashie < 3.5.0 + does not log anything to the console + +OmniAuth::FailureEndpoint + non-raise-out environment + respects the custom path prefix configured on the strategy + includes the SCRIPT_NAME + includes the origin (escaped) if one is provided + escapes the message key + respects the globally configured path prefix + is a redirect + raise-out environment + raises out the error + raises out an OmniAuth::Error if no omniauth.error is set OmniAuth - .strategies - increases when a new strategy is made - ::Utils - form_css - returns a style tag with the configured form_css - .deep_merge - combines hashes - .camelize - works in special cases that have been added - doesn't uppercase the first letter when passed false - replaces / with :: - works on normal cases configuration - is able to set hook on option_call - is able to set hook on callback_call - is able to set the on_failure rack app - is able to set the path is able to set request_validation_phase + is able to set the path + is able to set the on_failure rack app + is able to set hook on callback_call + is able to set hook on option_call is callable from .configure is able to set hook on request_call - .defaults - is a hash of default configuration mock auth - does not mutate given auth hash sets facebook attributes - default is AuthHash + does not mutate given auth hash facebook is AuthHash + default is AuthHash + .defaults + is a hash of default configuration + .strategies + increases when a new strategy is made + ::Utils + .camelize + works in special cases that have been added + replaces / with :: + doesn't uppercase the first letter when passed false + works on normal cases + form_css + returns a style tag with the configured form_css + .deep_merge + combines hashes .logger calls through to the configured logger OmniAuth::Strategy inherits by merging with preference for the latest class - is the current class's proc call if one exists inherits by merging with preference for the latest class - is the current class's proc call if one exists inherits by merging with preference for the latest class is the current class's proc call if one exists - fetcher procs - .credentials - sets and retrieve a proc - .uid - sets and retrieve a proc - .extra - sets and retrieve a proc - .info - sets and retrieve a proc + is the current class's proc call if one exists + is the current class's proc call if one exists + #initialize + custom args + sets options based on the arguments if they are supplied + options extraction + is the last argument if the last argument is a Hash + is the default options if any are provided + fetcher stacks + .info_stack + is an array of called ancestral procs + .credentials_stack + is an array of called ancestral procs + .uid_stack + is an array of called ancestral procs + .extra_stack + is an array of called ancestral procs + #fail! + provides a generic message when not provided an exception + provides exception information when one is provided + #uid + is the current class's uid if one exists + inherits if it can + #full_host + remains calm when there is a pipe in the URL + .default_options + is inherited from a parent class + setup phase + when options[:setup] is an app + does not call the app on a non-omniauth endpoint + calls the rack app + when options[:setup] = true + calls through to /auth/:provider/setup + does not call through on a non-omniauth endpoint + #call + duplicates and calls + raises NoSessionError if rack.session isn't set + .option + sets a default value + sets the default value to nil if none is provided + #callback_phase + sets the auth hash #call calls fail! when encountering an unhandled exception redirects to the fail! result when encountering an unhandled exception + dynamic paths + correctly reports the callback path when the custom callback path evaluator is truthy + provides a custom callback path if request_path evals to a string + runs the request phase if the custom request path evaluator is truthy + runs the callback phase if the custom callback path evaluator is truthy + custom paths + uses a custom request_path if one is provided + uses a custom callback_path if one is provided + callback_url + uses a custom callback_path if one is provided + preserves the query parameters + :form option + calls through to the app if :form => true is set as an option + calls through to the supplied form option if one exists + custom prefix + uses a custom prefix for request + uses a custom prefix for callback + callback_url + uses a custom prefix + preserves the query parameters omniauth.origin disabled does not set omniauth.origin default flow - sets from the params if provided - is turned into an env variable on the callback phase - is set on the failure env is set on the request phase + is set on the failure env + is turned into an env variable on the callback phase + sets from the params if provided with script_name - is turned into an env variable on the callback phase, containing full path is set on the request phase, containing full path + is turned into an env variable on the callback phase, containing full path custom sets from a custom param - custom prefix - uses a custom prefix for request - uses a custom prefix for callback - callback_url - uses a custom prefix - preserves the query parameters - dynamic paths - provides a custom callback path if request_path evals to a string - runs the callback phase if the custom callback path evaluator is truthy - correctly reports the callback path when the custom callback path evaluator is truthy - runs the request phase if the custom request path evaluator is truthy - receiving an OPTIONS request - to the request path - behaves like an OPTIONS request - responds with 200 - sets the Allow header properly - to some other path - does not short-circuit the request - to the request path - behaves like an OPTIONS request - sets the Allow header properly - responds with 200 - :form option - calls through to the supplied form option if one exists - calls through to the app if :form => true is set as an option custom full_host - is the string when a string is there - runs the proc with the env when it is a proc honors HTTP_X_FORWARDED_PROTO if present + runs the proc with the env when it is a proc is based on the request if it's not a string nor a proc - options mutation - in request phase - does not affect original options - does not affect deep options - in callback phase - does not affect deep options - does not affect original options + is the string when a string is there + when in test mode and path not on request path + does not verify token authenticity validation - with default POST only request methods - allows a request with matching authenticity_token - does not allow a request without a matching authenticity token - with custom allow_if proc - allows a valid request with allowed GET allows a request without authenticity token warning message logging logs warning message when not login path is requested does not log warning message + with custom allow_if proc + allows a valid request + with default POST only request methods + does not allow a request without a matching authenticity token + allows a request with matching authenticity_token default paths - strips trailing spaces on request is case insensitive on request path + uses the default request path is case insensitive on callback path - strips trailing spaces on callback + strips trailing spaces on request uses the default callback path - uses the default request path + strips trailing spaces on callback callback_url - consider script name uses the default callback_path preserves the query parameters - custom paths - uses a custom callback_path if one is provided - uses a custom request_path if one is provided - callback_url - uses a custom callback_path if one is provided - preserves the query parameters + consider script name test mode - turns omniauth.origin into an env variable on the callback phase - executes callback hook on the callback phase is case insensitive on request path - turns omniauth.params into an env variable on the callback phase - respects SCRIPT_NAME (a.k.a. BaseURI) on failure - short circuits the request phase entirely - maintains query string parameters - respects SCRIPT_NAME (a.k.a. BaseURI) - simulates login failure if mocked data is set as a symbol - executes request hook on the request phase - rescues errors in request_call - doesn't short circuit the request if request method is not allowed - is case insensitive on callback path - responds with a provider-specific hash if one is set does not short circuit requests outside of authentication - redirects on failure + rescues errors in request_call + executes request hook on the request phase + turns omniauth.origin into an env variable on the callback phase responds with the default hash if none is set does not set body parameters of POST request on the request phase + doesn't short circuit the request if request method is not allowed + short circuits the request phase entirely maintains host and port + is case insensitive on callback path + executes callback hook on the callback phase + responds with a provider-specific hash if one is set + maintains query string parameters sets omniauth.params with query params on the request phase + simulates login failure if mocked data is set as a symbol + respects SCRIPT_NAME (a.k.a. BaseURI) on failure + turns omniauth.params into an env variable on the callback phase + respects SCRIPT_NAME (a.k.a. BaseURI) + redirects on failure omniauth.origin default flow sets omniauth.origin from the params if provided sets omniauth.origin to the HTTP_REFERER on the request phase by default - custom - sets omniauth.origin from a custom param disabled does not set omniauth.origin + custom + sets omniauth.origin from a custom param request method restriction does not allow a request method of the wrong type allows a request method of the correct type - when in test mode and path not on request path - does not verify token + options mutation + in callback phase + does not affect original options + does not affect deep options + in request phase + does not affect original options + does not affect deep options + receiving an OPTIONS request + to the request path + behaves like an OPTIONS request + sets the Allow header properly + responds with 200 + to the request path + behaves like an OPTIONS request + sets the Allow header properly + responds with 200 + to some other path + does not short-circuit the request with relative url root - accepts the request accepts the callback - custom request - does not prefix a custom request path - error during call_app! - raises the application error + accepts the request callback_url redirects to the correctly prefixed callback + error during call_app! + raises the application error error during auth phase passes the error to fail!() - #full_host - remains calm when there is a pipe in the URL - #inspect - returns the class name - .default_options - is inherited from a parent class - #initialize - options extraction - is the last argument if the last argument is a Hash - is the default options if any are provided - custom args - sets options based on the arguments if they are supplied - #uid - is the current class's uid if one exists - inherits if it can - #redirect - uses javascript if :iframe is true (PENDING: Temporarily skipped with xit) + custom request + does not prefix a custom request path user_info should default to an empty hash - #auth_hash - calls through to uid, info, credentials, and extra - returns an AuthHash - setup phase - when options[:setup] is an app - does not call the app on a non-omniauth endpoint - calls the rack app - when options[:setup] = true - does not call through on a non-omniauth endpoint - calls through to /auth/:provider/setup - #call - raises NoSessionError if rack.session isn't set - duplicates and calls + request_phase + raises a NotImplementedError + #skip_info? + is true if options.skip_info is true + is false if options.skip_info is false + is true if options.skip_info is a callable that evaluates to truthy + is false by default + fetcher procs + .credentials + sets and retrieve a proc + .info + sets and retrieve a proc + .extra + sets and retrieve a proc + .uid + sets and retrieve a proc .configure takes a hash and deep merge it when block is passed allows for default options setting works when block doesn't evaluate to true - .option - sets the default value to nil if none is provided - sets a default value + #redirect + uses javascript if :iframe is true (PENDING: Temporarily skipped with xit) + #inspect + returns the class name .args + sets args to the specified argument if there is one accepts corresponding options as default arg values is inheritable - sets args to the specified argument if there is one - #callback_phase - sets the auth hash - request_phase - raises a NotImplementedError - fetcher stacks - .uid_stack - is an array of called ancestral procs - .info_stack - is an array of called ancestral procs - .extra_stack - is an array of called ancestral procs - .credentials_stack - is an array of called ancestral procs - #skip_info? - is true if options.skip_info is a callable that evaluates to truthy - is false if options.skip_info is false - is false by default - is true if options.skip_info is true - #fail! - provides exception information when one is provided - provides a generic message when not provided an exception - -OmniAuth::AuthHash - has a subkey_class - converts a supplied info key into an InfoHash object - does not try to parse `string` as InfoHash - #valid? - requires a name in the user info hash - requires a uid - is valid with the right parameters - requires a provider - OmniAuth::AuthHash::InfoHash - has a subkey_class - with Hashie 3.5.1+ - does not log anything in Hashie 3.5.1+ - #valid? - is valid if there is a name - #to_hash - converts an info hash as well - has string keys - is a plain old hash - does not pollute the URL hash with 'name' etc - supplies the calculated name in the converted hash - #name - displays only a first or last name if only that is available - displays the nickname if no name, first, or last is available - falls back to go to first_name last_name concatenation - displays the email if no name, first, last, or nick is available - defaults to the name key - -OmniAuth::Builder - #options - adds an argument if no options are provided - merges provided options in - #on_failure - passes the block to the config - #provider - doesn't translate a symbol to a top-level constant - accepts a class - translates a symbol to a constant - raises a helpful LoadError message if it can't find the class - #before_options_phase - passes the block to the config - #before_request_phase - passes the block to the config - #before_callback_phase - passes the block to the config - #call - passes env to to_app.call - #configure - passes the block to the config - -OmniAuth::Strategies::Developer - callback phase - with custom options - sets the uid properly - sets info fields properly - with default options - sets the name in the auth hash - sets the uid to the email - sets the email in the auth hash - request phase - has the callback as the action for the form - has a text field for each of the fields - displays a form - -OmniAuth::KeyStore - on Hashie 3.5.0 and 3.5.1 - does not log anything to the console - on Hashie 3.5.2+ - does not log anything to the console - on Hashie < 3.5.0 - does not log anything to the console + #auth_hash + calls through to uid, info, credentials, and extra + returns an AuthHash -OmniAuth::FailureEndpoint - raise-out environment - raises out an OmniAuth::Error if no omniauth.error is set - raises out the error - non-raise-out environment - is a redirect - includes the SCRIPT_NAME - respects the globally configured path prefix - escapes the message key - respects the custom path prefix configured on the strategy - includes the origin (escaped) if one is provided +OmniAuth::Form + #password_field + adds a labeled input field + fieldset + creates a fieldset with options + #initialize + sets an H1 tag from the passed :title option + sets the form action to the passed :url option + #html + appends to the html body + .build + yields the instance when called with a block and argument + evaluates in the instance when called with a block and no argument Pending: (Failures listed here are expected and do not affect your suite's status) @@ -1390,10 +1426,10 @@ # Temporarily skipped with xit # ./spec/omniauth/strategy_spec.rb:278 -Finished in 0.6949 seconds (files took 1.38 seconds to load) +Finished in 0.3924 seconds (files took 0.63332 seconds to load) 211 examples, 0 failures, 1 pending -Randomized with seed 58274 +Randomized with seed 37973 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1425,12 +1461,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/16125/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/16125/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/16994 and its subdirectories -I: Current time: Mon Apr 1 02:50:44 -12 2024 -I: pbuilder-time-stamp: 1711983044 +I: removing directory /srv/workspace/pbuilder/16125 and its subdirectories +I: Current time: Tue Apr 2 04:52:20 +14 2024 +I: pbuilder-time-stamp: 1711983141