CRAN Package Check Results for Package shinyOAuth

Last updated on 2026-01-30 07:48:57 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.2.0 8.66 144.20 152.86 OK
r-devel-linux-x86_64-debian-gcc 0.2.0 6.02 103.58 109.60 ERROR
r-devel-linux-x86_64-fedora-clang 0.2.0 16.00 237.00 253.00 ERROR
r-devel-linux-x86_64-fedora-gcc 0.2.0 16.00 250.07 266.07 ERROR
r-devel-windows-x86_64 0.2.0 13.00 170.00 183.00 OK
r-patched-linux-x86_64 0.2.0 8.70 133.94 142.64 OK
r-release-linux-x86_64 0.2.0 7.72 134.21 141.93 OK
r-release-macos-arm64 0.2.0 2.00 41.00 43.00 OK
r-release-macos-x86_64 0.2.0 6.00 157.00 163.00 OK
r-release-windows-x86_64 0.2.0 12.00 164.00 176.00 OK
r-oldrel-macos-arm64 0.2.0 2.00 45.00 47.00 OK
r-oldrel-macos-x86_64 0.2.0 6.00 267.00 273.00 OK
r-oldrel-windows-x86_64 0.2.0 16.00 192.00 208.00 OK

Check Details

Version: 0.2.0
Check: tests
Result: ERROR Running ‘testthat.R’ [52s/62s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard devtools workflow. > # See `?devtools::test()` for more information. > > library(testthat) > library(shiny) > library(shinyOAuth) > > test_check("shinyOAuth") GET /base HTTP/1.1 accept: application/json authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-test: 1 GET /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 POST /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-test: 1 <0 bytes> GET /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-other: ok trace=4KJCWIoZ0ldy class=shinyOAuth_pkce_error, shinyOAuth_error, rlang_error, error, condition [shinyOAuth] - PKCE validation failed ! x i Trace ID: 4KJCWIoZ0ldy Saving _problems/test-module-server-720.R [ FAIL 1 | WARN 0 | SKIP 19 | PASS 1256 ] ══ Skipped tests (19) ══════════════════════════════════════════════════════════ • On CRAN (19): 'test-audit-async-options.R:2:3', 'test-audit-async-options.R:200:3', 'test-audit-async-options.R:280:3', 'test-audit-async-session-context.R:2:3', 'test-constant-time-compare.R:53:3', 'test-introspect-token.R:117:3', 'test-module-server-async.R:2:3', 'test-module-server-async.R:70:3', 'test-module-server-async.R:133:3', 'test-refresh-races.R:2:3', 'test-refresh-races.R:110:3', 'test-revoke-on-session-end.R:63:3', 'test-revoke-token.R:80:3', 'test-state-fail-delay.R:3:3', 'test_chromote_cookie.R:106:3', 'test_chromote_cookie.R:149:3', 'test_chromote_cookie.R:183:3', 'test_state_store_single_use.R:2:3', 'test_state_store_single_use.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-module-server.R:720:7'): callback code/state clears query even when token exchange fails ── Expected `values$error` to be identical to "token_exchange_error". Differences: `actual`: "invalid_callback_query" `expected`: "token_exchange_error" Backtrace: ▆ 1. ├─shiny::testServer(...) at test-module-server.R:696:3 2. │ ├─shiny:::withMockContext(...) 3. │ │ ├─shiny::isolate(...) 4. │ │ │ ├─shiny::..stacktraceoff..(...) 5. │ │ │ └─ctx$run(...) 6. │ │ │ ├─promises::with_promise_domain(...) 7. │ │ │ │ └─domain$wrapSync(expr) 8. │ │ │ ├─shiny::withReactiveDomain(...) 9. │ │ │ │ └─promises::with_promise_domain(...) 10. │ │ │ │ └─domain$wrapSync(expr) 11. │ │ │ │ └─base::force(expr) 12. │ │ │ ├─shiny:::with_otel_span_context(...) 13. │ │ │ │ └─base::force(expr) 14. │ │ │ ├─shiny::captureStackTraces(...) 15. │ │ │ │ └─promises::with_promise_domain(...) 16. │ │ │ │ └─domain$wrapSync(expr) 17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack) 18. │ │ │ └─env$runWith(self, func) 19. │ │ │ └─shiny (local) contextFunc() 20. │ │ │ └─shiny::..stacktraceon..(expr) 21. │ │ ├─shiny::withReactiveDomain(...) 22. │ │ │ └─promises::with_promise_domain(...) 23. │ │ │ └─domain$wrapSync(expr) 24. │ │ │ └─base::force(expr) 25. │ │ └─withr::with_options(...) 26. │ │ └─base::force(code) 27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env()) 28. └─testthat::expect_identical(values$error, "token_exchange_error") at test-module-server.R:720:7 [ FAIL 1 | WARN 0 | SKIP 19 | PASS 1256 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.2.0
Check: tests
Result: ERROR Running ‘testthat.R’ [122s/260s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard devtools workflow. > # See `?devtools::test()` for more information. > > library(testthat) > library(shiny) > library(shinyOAuth) > > test_check("shinyOAuth") GET /base HTTP/1.1 accept: application/json authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-test: 1 GET /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 POST /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-test: 1 <0 bytes> GET /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-other: ok trace=wxZNcThllPQK class=shinyOAuth_pkce_error, shinyOAuth_error, rlang_error, error, condition [shinyOAuth] - PKCE validation failed ! x i Trace ID: wxZNcThllPQK Saving _problems/test-module-server-217.R [ FAIL 1 | WARN 0 | SKIP 19 | PASS 1256 ] ══ Skipped tests (19) ══════════════════════════════════════════════════════════ • On CRAN (19): 'test-audit-async-options.R:2:3', 'test-audit-async-options.R:200:3', 'test-audit-async-options.R:280:3', 'test-audit-async-session-context.R:2:3', 'test-constant-time-compare.R:53:3', 'test-introspect-token.R:117:3', 'test-module-server-async.R:2:3', 'test-module-server-async.R:70:3', 'test-module-server-async.R:133:3', 'test-refresh-races.R:2:3', 'test-refresh-races.R:110:3', 'test-revoke-on-session-end.R:63:3', 'test-revoke-token.R:80:3', 'test-state-fail-delay.R:3:3', 'test_chromote_cookie.R:106:3', 'test_chromote_cookie.R:149:3', 'test_chromote_cookie.R:183:3', 'test_state_store_single_use.R:2:3', 'test_state_store_single_use.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-module-server.R:217:7'): authenticated flips FALSE after expiry without poking reactive values ── Expected `values$authenticated` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Backtrace: ▆ 1. ├─shiny::testServer(...) at test-module-server.R:195:3 2. │ ├─shiny:::withMockContext(...) 3. │ │ ├─shiny::isolate(...) 4. │ │ │ ├─shiny::..stacktraceoff..(...) 5. │ │ │ └─ctx$run(...) 6. │ │ │ ├─promises::with_promise_domain(...) 7. │ │ │ │ └─domain$wrapSync(expr) 8. │ │ │ ├─shiny::withReactiveDomain(...) 9. │ │ │ │ └─promises::with_promise_domain(...) 10. │ │ │ │ └─domain$wrapSync(expr) 11. │ │ │ │ └─base::force(expr) 12. │ │ │ ├─shiny:::with_otel_span_context(...) 13. │ │ │ │ └─base::force(expr) 14. │ │ │ ├─shiny::captureStackTraces(...) 15. │ │ │ │ └─promises::with_promise_domain(...) 16. │ │ │ │ └─domain$wrapSync(expr) 17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack) 18. │ │ │ └─env$runWith(self, func) 19. │ │ │ └─shiny (local) contextFunc() 20. │ │ │ └─shiny::..stacktraceon..(expr) 21. │ │ ├─shiny::withReactiveDomain(...) 22. │ │ │ └─promises::with_promise_domain(...) 23. │ │ │ └─domain$wrapSync(expr) 24. │ │ │ └─base::force(expr) 25. │ │ └─withr::with_options(...) 26. │ │ └─base::force(code) 27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env()) 28. └─testthat::expect_true(values$authenticated) at test-module-server.R:217:7 [ FAIL 1 | WARN 0 | SKIP 19 | PASS 1256 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 0.2.0
Check: tests
Result: ERROR Running ‘testthat.R’ [120s/582s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard devtools workflow. > # See `?devtools::test()` for more information. > > library(testthat) > library(shiny) > library(shinyOAuth) > > test_check("shinyOAuth") GET /base HTTP/1.1 accept: application/json authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-test: 1 GET /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 POST /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-test: 1 <0 bytes> GET /base HTTP/1.1 accept: */* authorization: Bearer tok user-agent: shinyOAuth/0.2.0 R/4.6.0 httr2/1.2.2 x-other: ok stdout:] stderr:] Saving _problems/test-discovery-auth-methods-44.R Saving _problems/test-discovery-hardened-62.R webfakes process dead, exit code: -9 stdout:] stderr:] Saving _problems/test-discovery-hardened-152.R trace=-NTDxBrPgApN class=shinyOAuth_pkce_error, shinyOAuth_error, rlang_error, error, condition [shinyOAuth] - PKCE validation failed ! x i Trace ID: -NTDxBrPgApN Saving _problems/test-module-server-266.R Saving _problems/test-redirect-following-disabled-71.R webfakes process dead, exit code: -9 Saving _problems/test-redirect-following-disabled-145.R webfakes process dead, exit code: -9 Saving _problems/test-redirect-following-disabled-259.R webfakes process dead, exit code: -9 stdout:] stderr:] Saving _problems/test-redirect-following-disabled-322.R Saving _problems/test-redirect-following-disabled-393.R webfakes process dead, exit code: -9 stdout:] stderr:] Saving _problems/test-redirect-following-disabled-432.R stdout:] stderr:] Saving _problems/test-redirect-following-disabled-487.R [ FAIL 11 | WARN 0 | SKIP 19 | PASS 1235 ] ══ Skipped tests (19) ══════════════════════════════════════════════════════════ • On CRAN (19): 'test-audit-async-options.R:2:3', 'test-audit-async-options.R:200:3', 'test-audit-async-options.R:280:3', 'test-audit-async-session-context.R:2:3', 'test-constant-time-compare.R:53:3', 'test-introspect-token.R:117:3', 'test-module-server-async.R:2:3', 'test-module-server-async.R:70:3', 'test-module-server-async.R:133:3', 'test-refresh-races.R:2:3', 'test-refresh-races.R:110:3', 'test-revoke-on-session-end.R:63:3', 'test-revoke-token.R:80:3', 'test-state-fail-delay.R:3:3', 'test_chromote_cookie.R:106:3', 'test_chromote_cookie.R:149:3', 'test_chromote_cookie.R:183:3', 'test_state_store_single_use.R:2:3', 'test_state_store_single_use.R:38:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-discovery-auth-methods.R:44:3'): discovery returns body when only client_secret_post is advertised ── <rlib_error_3_0/rlib_error/error/condition> Error in `"rs_init(self, private, super, options, wait, wait_timeout)"`: ! Could not start R session, timed out Backtrace: ▆ 1. └─srv$url() at test-discovery-auth-methods.R:44:3 2. └─self$start() 3. └─callr::r_session$new(callr_opts, wait = TRUE) 4. └─callr (local) initialize(...) 5. └─callr:::rs_init(self, private, super, options, wait, wait_timeout) 6. └─throw(new_error("Could not start R session, timed out")) ── Error ('test-discovery-hardened.R:62:3'): discovery enforces absolute endpoints and host pinning; allows loopback HTTP via is_ok_host ── Error in `self$start()`: webfakes app subprocess did not start :( Backtrace: ▆ 1. └─srv3$url() at test-discovery-hardened.R:62:3 2. └─self$start() ── Error ('test-discovery-hardened.R:152:3'): PKCE advisory does not block provider when S256 not advertised ── <rlib_error_3_0/rlib_error/error/condition> Error in `"rs_init(self, private, super, options, wait, wait_timeout)"`: ! Could not start R session, timed out Backtrace: ▆ 1. └─srv$url() at test-discovery-hardened.R:152:3 2. └─self$start() 3. └─callr::r_session$new(callr_opts, wait = TRUE) 4. └─callr (local) initialize(...) 5. └─callr:::rs_init(self, private, super, options, wait, wait_timeout) 6. └─throw(new_error("Could not start R session, timed out")) ── Failure ('test-module-server.R:266:7'): authenticated flips FALSE after reauth_after_seconds without poking ── Expected `values$authenticated` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Backtrace: ▆ 1. ├─shiny::testServer(...) at test-module-server.R:244:3 2. │ ├─shiny:::withMockContext(...) 3. │ │ ├─shiny::isolate(...) 4. │ │ │ ├─shiny::..stacktraceoff..(...) 5. │ │ │ └─ctx$run(...) 6. │ │ │ ├─promises::with_promise_domain(...) 7. │ │ │ │ └─domain$wrapSync(expr) 8. │ │ │ ├─shiny::withReactiveDomain(...) 9. │ │ │ │ └─promises::with_promise_domain(...) 10. │ │ │ │ └─domain$wrapSync(expr) 11. │ │ │ │ └─base::force(expr) 12. │ │ │ ├─shiny:::with_otel_span_context(...) 13. │ │ │ │ └─base::force(expr) 14. │ │ │ ├─shiny::captureStackTraces(...) 15. │ │ │ │ └─promises::with_promise_domain(...) 16. │ │ │ │ └─domain$wrapSync(expr) 17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack) 18. │ │ │ └─env$runWith(self, func) 19. │ │ │ └─shiny (local) contextFunc() 20. │ │ │ └─shiny::..stacktraceon..(expr) 21. │ │ ├─shiny::withReactiveDomain(...) 22. │ │ │ └─promises::with_promise_domain(...) 23. │ │ │ └─domain$wrapSync(expr) 24. │ │ │ └─base::force(expr) 25. │ │ └─withr::with_options(...) 26. │ │ └─base::force(code) 27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env()) 28. └─testthat::expect_true(values$authenticated) at test-module-server.R:266:7 ── Error ('test-redirect-following-disabled.R:71:3'): token exchange does not follow redirects ── Error in `self$start()`: webfakes app subprocess did not start :( Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:71:3 2. └─self$start() ── Error ('test-redirect-following-disabled.R:145:3'): token refresh does not follow redirects ── Error in `self$start()`: webfakes app subprocess did not start :( Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:145:3 2. └─self$start() ── Error ('test-redirect-following-disabled.R:259:3'): token introspection does not follow redirects ── Error in `self$start()`: webfakes app subprocess did not start :( Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:259:3 2. └─self$start() ── Error ('test-redirect-following-disabled.R:322:3'): token revocation does not follow redirects ── <rlib_error_3_0/rlib_error/error/condition> Error in `"rs_init(self, private, super, options, wait, wait_timeout)"`: ! Could not start R session, timed out Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:322:3 2. └─self$start() 3. └─callr::r_session$new(callr_opts, wait = TRUE) 4. └─callr (local) initialize(...) 5. └─callr:::rs_init(self, private, super, options, wait, wait_timeout) 6. └─throw(new_error("Could not start R session, timed out")) ── Error ('test-redirect-following-disabled.R:393:3'): OIDC discovery does not follow redirects ── Error in `self$start()`: webfakes app subprocess did not start :( Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:393:3 2. └─self$start() ── Error ('test-redirect-following-disabled.R:432:3'): userinfo follows redirects when shinyOAuth.allow_redirect = TRUE ── <rlib_error_3_0/rlib_error/error/condition> Error in `"rs_init(self, private, super, options, wait, wait_timeout)"`: ! Could not start R session, timed out Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:432:3 2. └─self$start() 3. └─callr::r_session$new(callr_opts, wait = TRUE) 4. └─callr (local) initialize(...) 5. └─callr:::rs_init(self, private, super, options, wait, wait_timeout) 6. └─throw(new_error("Could not start R session, timed out")) ── Error ('test-redirect-following-disabled.R:487:3'): token revocation follows redirects when shinyOAuth.allow_redirect = TRUE ── <rlib_error_3_0/rlib_error/error/condition> Error in `"rs_init(self, private, super, options, wait, wait_timeout)"`: ! Could not start R session, timed out Backtrace: ▆ 1. └─srv$url() at test-redirect-following-disabled.R:487:3 2. └─self$start() 3. └─callr::r_session$new(callr_opts, wait = TRUE) 4. └─callr (local) initialize(...) 5. └─callr:::rs_init(self, private, super, options, wait, wait_timeout) 6. └─throw(new_error("Could not start R session, timed out")) [ FAIL 11 | WARN 0 | SKIP 19 | PASS 1235 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc