Running 'testthat.R' [83s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > library(ellmer)
  > 
  > test_check("ellmer")
  Starting 2 test processes.
  Saving _problems/test-provider-claude-143.R
  Saving _problems/test-batch-chat-14.R
  [ FAIL 2 | WARN 0 | SKIP 241 | PASS 727 ]
  
  ══ Skipped tests (241) ═════════════════════════════════════════════════════════
  • ANTHROPIC_API_KEY env var is not configured (3):
    'test-provider-claude.R:14:3', 'test-provider-claude.R:88:3',
    'test-otel.R:145:5'
  • AZURE_OPENAI_API_KEY env var is not configured (5):
    'test-provider-azure.R:4:3', 'test-provider-azure.R:11:3',
    'test-provider-azure.R:26:3', 'test-provider-azure.R:32:3',
    'test-provider-azure.R:38:3'
  • CLOUDFLARE_ACCOUNT_ID env var is not configured (4):
    'test-provider-cloudflare.R:4:3', 'test-provider-cloudflare.R:11:3',
    'test-provider-cloudflare.R:19:3', 'test-provider-cloudflare.R:44:3'
  • DEEPSEEK_API_KEY env var is not configured (3):
    'test-provider-deepseek.R:5:3', 'test-provider-deepseek.R:12:3',
    'test-provider-deepseek.R:25:3'
  • Failed to locate AWS credentials (12): 'test-provider-aws.R:2:3',
    'test-provider-aws.R:9:3', 'test-provider-aws.R:15:3',
    'test-provider-aws.R:19:3', 'test-provider-aws.R:27:3',
    'test-provider-aws.R:36:3', 'test-provider-aws.R:48:3',
    'test-provider-aws.R:54:3', 'test-provider-aws.R:60:3',
    'test-provider-aws.R:73:3', 'test-provider-aws.R:200:3',
    'test-provider-aws.R:221:3'
  • GROQ_API_KEY env var is not configured (2): 'test-provider-groq.R:9:3',
    'test-provider-groq.R:17:3'
  • HUGGINGFACE_API_KEY env var is not configured (5):
    'test-provider-huggingface.R:3:3', 'test-provider-huggingface.R:10:3',
    'test-provider-huggingface.R:22:3', 'test-provider-huggingface.R:27:3',
    'test-provider-huggingface.R:32:3'
  • LM Studio not found (6): 'test-provider-lmstudio.R:4:3',
    'test-provider-lmstudio.R:11:3', 'test-provider-lmstudio.R:17:3',
    'test-provider-lmstudio.R:22:3', 'test-provider-lmstudio.R:34:3',
    'test-provider-lmstudio.R:48:3'
  • MISTRAL_API_KEY env var is not configured (6): 'test-provider-mistral.R:5:3',
    'test-provider-mistral.R:12:3', 'test-provider-mistral.R:18:3',
    'test-provider-mistral.R:22:3', 'test-provider-mistral.R:34:3',
    'test-provider-mistral.R:47:3'
  • OPENAI_API_KEY env var is not configured (35): 'test-chat.R:76:3',
    'test-chat.R:83:3', 'test-chat.R:97:3', 'test-chat.R:110:3',
    'test-chat.R:130:3', 'test-chat.R:153:3', 'test-chat.R:161:3',
    'test-chat.R:170:3', 'test-chat.R:244:3', 'test-chat.R:257:3',
    'test-chat.R:266:3', 'test-provider-openai-compatible.R:5:3',
    'test-provider-openai-compatible.R:12:3',
    'test-provider-openai-compatible.R:17:3',
    'test-provider-openai-compatible.R:26:3',
    'test-provider-openai-compatible.R:39:3',
    'test-provider-openai-compatible.R:69:3',
    'test-provider-openai-compatible.R:80:3', 'test-provider-openai.R:5:3',
    'test-provider-openai.R:15:3', 'test-provider-openai.R:20:3',
    'test-provider-openai.R:52:3', 'test-provider-openai.R:92:3',
    'test-provider-openai.R:98:3', 'test-chat-structured.R:3:3',
    'test-otel.R:7:5', 'test-otel.R:88:5', 'test-otel.R:269:5',
    'test-otel.R:303:5', 'test-chat-tools.R:187:3', 'test-chat-tools.R:257:3',
    'test-chat-tools.R:284:3', 'test-chat-tools.R:303:3',
    'test-chat-tools.R:336:3', 'test-chat-tools.R:380:3'
  • OPENROUTER_API_KEY env var is not configured (5):
    'test-provider-openrouter.R:5:3', 'test-provider-openrouter.R:12:3',
    'test-provider-openrouter.R:18:3', 'test-provider-openrouter.R:29:3',
    'test-provider-openrouter.R:35:3'
  • On CRAN (114): 'test-provider-any.R:1:1', 'test-chat.R:32:1',
    'test-chat.R:86:1', 'test-chat.R:181:1', 'test-chat.R:190:1',
    'test-chat.R:201:1', 'test-chat.R:210:1', 'test-chat.R:221:1',
    'test-chat.R:325:1', 'test-chat.R:332:1', 'test-provider-azure.R:18:1',
    'test-provider-azure.R:51:1', 'test-provider-azure.R:73:1',
    'test-provider-claude.R:26:1', 'test-provider-claude.R:59:3',
    'test-provider-claude.R:73:3', 'test-provider-databricks.R:50:3',
    'test-provider-databricks.R:131:1', 'test-provider-deepseek.R:18:1',
    'test-provider-google.R:66:3', 'test-provider-groq.R:3:1',
    'test-provider-aws.R:66:3', 'test-provider-huggingface.R:16:1',
    'test-provider-huggingface.R:41:3', 'test-provider-mistral.R:27:1',
    'test-provider-mistral.R:53:3', 'test-provider-ollama.R:57:1',
    'test-provider-openai-compatible.R:47:3',
    'test-provider-openai-compatible.R:232:1', 'test-provider-openrouter.R:41:3',
    'test-provider-portkey.R:32:3', 'test-provider-portkey.R:38:1',
    'test-provider-snowflake.R:19:1', 'test-provider-openai.R:25:1',
    'test-provider-openai.R:46:3', 'test-provider-openai.R:70:3',
    'test-batch-chat.R:55:1', 'test-batch-chat.R:67:1',
    'test-batch-chat.R:150:1', 'test-chat-structured.R:15:1',
    'test-chat-structured.R:39:1', 'test-chat-tools-content.R:31:1',
    'test-chat-utils.R:1:1', 'test-content-image.R:13:1',
    'test-content-image.R:39:1', 'test-content-image.R:59:1',
    'test-content-replay.R:88:1', 'test-content-replay.R:99:1',
    'test-content-replay.R:146:1', 'test-content-replay.R:163:1',
    'test-content.R:1:1', 'test-content.R:17:1', 'test-content.R:45:1',
    'test-content.R:56:1', 'test-content.R:85:1', 'test-interpolate.R:1:1',
    'test-interpolate.R:15:1', 'test-interpolate.R:19:1',
    'test-interpolate.R:41:1', 'test-interpolate.R:63:1',
    'test-interpolate.R:73:1', 'test-parallel-chat.R:203:1', 'test-params.R:7:1',
    'test-params.R:23:1', 'test-schema.R:3:1', 'test-schema.R:8:1',
    'test-schema.R:16:1', 'test-schema.R:22:1', 'test-schema.R:29:1',
    'test-schema.R:33:1', 'test-schema.R:41:1', 'test-schema.R:51:1',
    'test-schema.R:65:1', 'test-schema.R:76:1', 'test-schema.R:81:1',
    'test-schema.R:86:1', 'test-schema.R:91:1', 'test-schema.R:99:1',
    'test-schema.R:107:1', 'test-tokens.R:1:1', 'test-tokens.R:7:1',
    'test-tokens.R:58:1', 'test-tokens.R:75:1', 'test-tokens.R:93:1',
    'test-tools-def-auto.R:9:1', 'test-tools-def-auto.R:19:1',
    'test-tools-def-auto.R:24:1', 'test-tools-def.R:6:1',
    'test-tools-def.R:46:1', 'test-tools-def.R:65:1', 'test-tools-def.R:76:1',
    'test-tools-def.R:117:1', 'test-tools-def.R:132:1', 'test-turns.R:1:1',
    'test-turns.R:39:1', 'test-turns.R:53:1', 'test-turns.R:66:1',
    'test-turns.R:85:1', 'test-utils-S7.R:1:1', 'test-utils-S7.R:19:1',
    'test-utils-auth.R:3:1', 'test-utils-auth.R:8:1', 'test-utils-auth.R:15:1',
    'test-utils-callbacks.R:1:1', 'test-chat-tools.R:3:1',
    'test-chat-tools.R:13:1', 'test-chat-tools.R:112:1',
    'test-chat-tools.R:194:1', 'test-chat-tools.R:576:1',
    'test-chat-tools.R:599:1', 'test-chat-tools.R:750:1', 'test-utils.R:8:1',
    'test-utils.R:22:1', 'test-utils-cat.R:77:1'
  • PORTKEY_API_KEY env var is not configured (4): 'test-provider-portkey.R:5:3',
    'test-provider-portkey.R:12:3', 'test-provider-portkey.R:20:3',
    'test-provider-portkey.R:25:3'
  • Run manually; 24 hour rate limit (1): 'test-provider-azure.R:42:3'
  • SNOWFLAKE_ACCOUNT env var is not configured (4):
    'test-provider-snowflake.R:4:3', 'test-provider-snowflake.R:11:3',
    'test-provider-snowflake.R:30:3', 'test-provider-snowflake.R:34:3'
  • VLLM_API_KEY env var is not configured (3): 'test-provider-vllm.R:4:3',
    'test-provider-vllm.R:11:3', 'test-provider-vllm.R:17:15'
  • empty test (1): 'test-provider-snowflake.R:37:1'
  • no Databricks credentials available (2): 'test-provider-databricks.R:24:3',
    'test-provider-databricks.R:103:3'
  • no Databricks workspace configured (5): 'test-provider-databricks.R:2:3',
    'test-provider-databricks.R:11:3', 'test-provider-databricks.R:28:3',
    'test-provider-databricks.R:36:3', 'test-provider-databricks.R:46:3'
  • no Google credentials available (15): 'test-provider-google-upload.R:3:3',
    'test-provider-google.R:4:3', 'test-provider-google.R:11:3',
    'test-provider-google.R:17:3', 'test-provider-google.R:22:3',
    'test-provider-google.R:28:3', 'test-provider-google.R:34:3',
    'test-provider-google.R:41:3', 'test-provider-google.R:47:3',
    'test-provider-google.R:53:3', 'test-provider-google.R:59:3',
    'test-provider-google.R:73:3', 'test-provider-google.R:77:3',
    'test-provider-google.R:86:3', 'test-provider-google.R:149:3'
  • ollama not found (6): 'test-provider-ollama.R:4:3',
    'test-provider-ollama.R:11:3', 'test-provider-ollama.R:17:3',
    'test-provider-ollama.R:22:3', 'test-provider-ollama.R:32:3',
    'test-provider-ollama.R:46:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-provider-claude.R:139:3'): batch chat works ────────────────────
  Error in `batch_chat(chat, prompts, path, wait = wait, ignore_hash = ignore_hash)`: provider, prompts, and user_turns don't match stored values.
  i Do you need to pick a different `path`?
  i Or set `ignore_hash = TRUE` to ignore this check?
  Backtrace:
      ▆
   1. └─ellmer::batch_chat_text(chat, prompts, path = test_path("batch/state-capitals-anthropic.json")) at test-provider-claude.R:139:3
   2.   └─ellmer::batch_chat(chat, prompts, path, wait = wait, ignore_hash = ignore_hash)
   3.     └─BatchJob$new(...)
   4.       └─ellmer (local) initialize(...)
   5.         └─self$check_hash(state$hash, call = call)
   6.           └─cli::cli_abort(...)
   7.             └─rlang::abort(...)
  ── Error ('test-batch-chat.R:10:3'): can get chats/data from completed request ──
  Error in `batch_chat(chat, prompts, path = test_path("batch/state-capitals.json"))`: provider, prompts, and user_turns don't match stored values.
  i Do you need to pick a different `path`?
  i Or set `ignore_hash = TRUE` to ignore this check?
  Backtrace:
      ▆
   1. └─ellmer::batch_chat(chat, prompts, path = test_path("batch/state-capitals.json")) at test-batch-chat.R:10:3
   2.   └─BatchJob$new(...)
   3.     └─ellmer (local) initialize(...)
   4.       └─self$check_hash(state$hash, call = call)
   5.         └─cli::cli_abort(...)
   6.           └─rlang::abort(...)
  
  [ FAIL 2 | WARN 0 | SKIP 241 | PASS 727 ]
  Error:
  ! Test failures.
  Execution halted