* using log directory 'd:/Rcompile/CRANpkg/local/4.5/ellmer.Rcheck' * using R version 4.5.3 (2026-03-11 ucrt) * using platform: x86_64-w64-mingw32 * R was compiled by gcc.exe (GCC) 14.3.0 GNU Fortran (GCC) 14.3.0 * running under: Windows Server 2022 x64 (build 20348) * using session charset: UTF-8 * checking for file 'ellmer/DESCRIPTION' ... OK * this is package 'ellmer' version '0.4.1' * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking whether package 'ellmer' can be installed ... OK * checking installed package size ... OK * checking package directory ... OK * checking 'build' directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... [1s] OK * checking whether the package can be loaded with stated dependencies ... [1s] OK * checking whether the package can be unloaded cleanly ... [1s] OK * checking whether the namespace can be loaded with stated dependencies ... [1s] OK * checking whether the namespace can be unloaded cleanly ... [1s] OK * checking loading without being on the library search path ... [1s] OK * checking whether startup messages can be suppressed ... [1s] OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [20s] OK * checking Rd files ... [2s] OK * checking Rd metadata ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking R/sysdata.rda ... OK * checking installed files from 'inst/doc' ... OK * checking files in 'vignettes' ... OK * checking examples ... [20s] OK * checking for unstated dependencies in 'tests' ... OK * checking tests ... [111s] ERROR Running 'testthat.R' [110s] 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-aws.R:66: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-claude.R:26:1', 'test-provider-claude.R:59:3', 'test-provider-claude.R:73:3', 'test-provider-groq.R:3:1', '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-cat.R:77:1', 'test-utils.R:8:1', 'test-utils.R:22: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 * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [64s] OK * checking PDF version of manual ... [21s] OK * checking HTML version of manual ... [13s] OK * DONE Status: 1 ERROR