Running ‘testthat.R’ [59s/35s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(httr2)
  
  Attaching package: 'httr2'
  
  The following objects are masked from 'package:testthat':
  
      local_mock, with_mock
  
  > 
  > test_check("httr2")
  Starting 2 test processes
  [ FAIL 13 | WARN 0 | SKIP 89 | PASS 595 ]
  
  ══ Skipped tests (89) ══════════════════════════════════════════════════════════
  • Can't find envvar HTTR2_KEY (2): 'test-oauth-client.R:74:3',
    'test-oauth-flow-jwt.R:7:3'
  • On CRAN (87): 'test-req-perform.R:14:3', 'test-req-perform.R:25:3',
    'test-req-perform.R:185:3', 'test-content-type.R:16:3',
    'test-content-type.R:24:3', 'test-content-type.R:55:3', 'test-curl.R:2:3',
    'test-curl.R:6:3', 'test-curl.R:76:3', 'test-curl.R:114:3',
    'test-curl.R:127:3', 'test-curl.R:135:3', 'test-curl.R:164:3',
    'test-curl.R:201:3', 'test-headers.R:11:3', 'test-headers.R:15:3',
    'test-headers.R:37:3', 'test-resp-stream.R:24:3',
    'test-iterate-helpers.R:4:3', 'test-iterate-helpers.R:63:3',
    'test-iterate-helpers.R:85:3', 'test-iterate.R:40:3', 'test-iterate.R:83:3',
    'test-oauth-client.R:3:3', 'test-oauth-client.R:11:3',
    'test-oauth-client.R:20:3', 'test-oauth-flow-auth-code.R:6:3',
    'test-oauth-flow-auth-code.R:98:3', 'test-oauth-flow-auth-code.R:127:3',
    'test-oauth-flow-jwt.R:37:3', 'test-oauth-flow-refresh.R:37:3',
    'test-oauth-flow.R:9:3', 'test-oauth-flow.R:18:3', 'test-oauth-flow.R:32:3',
    'test-multi-req.R:3:3', 'test-multi-req.R:93:3', 'test-multi-req.R:139:3',
    'test-multi-req.R:143:3', 'test-oauth-token.R:9:3', 'test-oauth.R:109:3',
    'test-req-body.R:33:3', 'test-req-body.R:79:3', 'test-req-body.R:165:3',
    'test-req-cache.R:80:3', 'test-req-cache.R:203:3', 'test-req-cache.R:217:3',
    'test-req-cache.R:233:3', 'test-req-cookies.R:13:3', 'test-req-error.R:21:3',
    'test-req-headers.R:33:3', 'test-req-mock.R:19:3', 'test-req-mock.R:38:3',
    'test-req-options.R:39:3', 'test-req-options.R:54:3',
    'test-req-options.R:63:3', 'test-req-perform-stream.R:3:3',
    'test-req-perform-stream.R:100:3', 'test-req-perform-stream.R:109:3',
    'test-req-policy.R:2:3', 'test-req-perform-connection.R:2:3',
    'test-req-retries.R:66:3', 'test-req-retries.R:72:3',
    'test-req-throttle.R:2:3', 'test-req-throttle.R:19:3',
    'test-req-template.R:29:3', 'test-req-template.R:45:3',
    'test-req-url.R:62:3', 'test-req-url.R:72:3', 'test-req.R:2:3',
    'test-req.R:11:3', 'test-req.R:26:3', 'test-resp-status.R:3:3',
    'test-resp-body.R:15:3', 'test-resp-body.R:73:3', 'test-resp-body.R:80:3',
    'test-resp.R:10:3', 'test-resp.R:26:3', 'test-secret.R:40:3',
    'test-secret.R:67:3', 'test-sequential.R:3:3', 'test-url.R:35:3',
    'test-url.R:50:3', 'test-url.R:72:3', 'test-url.R:109:3',
    'test-utils-multi.R:45:3', 'test-utils.R:9:3', 'test-utils.R:33:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-req-perform.R:196:3'): req_dry_run() returns useful data ───────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_dry_run(., quiet = TRUE)`: The package "httpuv" is required.
  Backtrace:
      ▆
   1. ├─request("http://example.com") %>% req_dry_run(quiet = TRUE) at test-req-perform.R:196:3
   2. └─httr2::req_dry_run(., quiet = TRUE)
   3.   └─rlang::check_installed("httpuv")
  ── Error ('test-req-perform.R:206:3'): req_dry_run() shows body ────────────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_dry_run(.)`: The package "httpuv" is required.
  Backtrace:
      ▆
   1. └─testthat::expect_snapshot(...) at test-req-perform.R:206:3
   2.   └─rlang::cnd_signal(state$error)
  ── Error ('test-req-perform.R:216:3'): authorization headers are redacted ──────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_dry_run(.)`: The package "httpuv" is required.
  Backtrace:
      ▆
   1. └─testthat::expect_snapshot(...) at test-req-perform.R:216:3
   2.   └─rlang::cnd_signal(state$error)
  ── Error ('test-oauth-flow-auth-code.R:64:3'): adds port to localhost url ──────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `normalize_redirect_uri("http://localhost")`: The package "httpuv" is required desktop OAuth
  Backtrace:
      ▆
   1. └─httr2:::normalize_redirect_uri("http://localhost") at test-oauth-flow-auth-code.R:64:3
   2.   └─rlang::check_installed("httpuv", "desktop OAuth")
  ── Error ('test-oauth-flow-auth-code.R:75:3'): old args are deprecated ─────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `normalize_redirect_uri("http://localhost", port = 1234)`: The package "httpuv" is required desktop OAuth
  Backtrace:
      ▆
   1. └─testthat::expect_snapshot(...) at test-oauth-flow-auth-code.R:75:3
   2.   └─rlang::cnd_signal(state$error)
  ── Error ('test-req-headers.R:16:3'): can add repeated headers ─────────────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_dry_run(., quiet = TRUE)`: The package "httpuv" is required.
  Backtrace:
      ▆
   1. ├─request_test() %>% req_headers(a = c("a", "b")) %>% ... at test-req-headers.R:16:3
   2. └─httr2::req_dry_run(., quiet = TRUE)
   3.   └─rlang::check_installed("httpuv")
  ── Error ('test-req-promise.R:29:3'): returns a promise that resolves ──────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_perform_promise(request_test("/delay/:secs", secs = 0.25))`: The packages "promises" and "later" are required.
  Backtrace:
      ▆
   1. └─httr2::req_perform_promise(request_test("/delay/:secs", secs = 0.25)) at test-req-promise.R:29:3
   2.   └─rlang::check_installed(c("promises", "later"))
  ── Error ('test-req-promise.R:41:3'): correctly prepares request ───────────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_perform_promise(req)`: The packages "promises" and "later" are required.
  Backtrace:
      ▆
   1. └─httr2::req_perform_promise(req) at test-req-promise.R:41:3
   2.   └─rlang::check_installed(c("promises", "later"))
  ── Error ('test-req-promise.R:48:3'): can promise to download files ────────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_perform_promise(req, path)`: The packages "promises" and "later" are required.
  Backtrace:
      ▆
   1. └─httr2::req_perform_promise(req, path) at test-req-promise.R:48:3
   2.   └─rlang::check_installed(c("promises", "later"))
  ── Error ('test-req-promise.R:65:3'): promises can retrieve from cache ─────────
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_perform_promise(req)`: The packages "promises" and "later" are required.
  Backtrace:
      ▆
   1. └─httr2::req_perform_promise(req) at test-req-promise.R:65:3
   2.   └─rlang::check_installed(c("promises", "later"))
  ── Error ('test-req-promise.R:72:3'): both curl and HTTP errors in promises are rejected ──
  <packageNotFoundError/error/condition>
  Error in `loadNamespace(x)`: there is no package called 'promises'
  Backtrace:
       ▆
    1. ├─testthat::expect_error(...) at test-req-promise.R:72:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. ├─httr2 (local) extract_promise(...)
    8. └─base::loadNamespace(x) at test-req-promise.R:5:3
    9.   └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL)
   10.     └─base (local) withOneRestart(expr, restarts[[1L]])
   11.       └─base (local) doWithOneRestart(return(expr), restart)
  ── Error ('test-req-promise.R:93:3'): req_perform_promise doesn't leave behind poller ──
  <packageNotFoundError/error/condition>
  Error in `loadNamespace(x)`: there is no package called 'later'
  Backtrace:
      ▆
   1. ├─testthat::skip_if_not(later::loop_empty(), "later::global_loop not empty when test started") at test-req-promise.R:93:3
   2. │ └─base::isTRUE(condition)
   3. └─base::loadNamespace(x)
   4.   └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL)
   5.     └─base (local) withOneRestart(expr, restarts[[1L]])
   6.       └─base (local) doWithOneRestart(return(expr), restart)
  ── Error ('test-req-promise.R:105:3'): req_perform_promise can use non-default pool ──
  <rlib_error_package_not_found/rlang_error/error/condition>
  Error in `req_perform_promise(request_test("/delay/:secs", secs = 0.25))`: The packages "promises" and "later" are required.
  Backtrace:
      ▆
   1. └─httr2::req_perform_promise(request_test("/delay/:secs", secs = 0.25)) at test-req-promise.R:105:3
   2.   └─rlang::check_installed(c("promises", "later"))
  
  [ FAIL 13 | WARN 0 | SKIP 89 | PASS 595 ]
  Error: Test failures
  Execution halted