R version 4.6.0 RC (2026-04-17 r89914 ucrt) -- "Because it was There" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # 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(tidyprompt) > > test_check("tidyprompt") trying URL 'https://upload.wikimedia.org/wikipedia/commons/3/3a/Cat03.jpg' Content type 'image/jpeg' length 279603 bytes (273 KB) ================================================== downloaded 273 KB ! `answer_as_json()`: ellmer type not available; falling back. ! `tidyprompt::answer_as_json()`: * Automatically determining type based on 'llm_provider$api_type' (or 'llm_provider$json_type' if set); this may not consider model compatibility * Manually set 'type' or 'llm_provider$json_type' if errors occur ("text-based" always works) * Use `options(tidyprompt.warn.auto.json = FALSE)` to suppress this warning ! `answer_using_tools()`, `tools_docs_to_text()`: * Argument 'x' has an unknown type. Defaulting to 'string' ! `answer_using_tools()`, `tools_docs_to_text()`: * Argument 'x' has an unknown type. Defaulting to 'string' ! `answer_using_tools()`: * Automatically determining type based on 'llm_provider$api_type'; (or 'llm_provider$tool_type' if set); this does not consider model compatability * Manually set argument 'type' if errors occur ("text-based" always works) * Use `options(tidyprompt.warn.auto.tools = FALSE)` to suppress this warning ! `answer_using_tools()`: * Automatically determining type based on 'llm_provider$api_type'; (or 'llm_provider$tool_type' if set); this does not consider model compatability * Manually set argument 'type' if errors occur ("text-based" always works) * Use `options(tidyprompt.warn.auto.tools = FALSE)` to suppress this warning --- Sending request to LLM provider (llama3.1:8b): --- Hi! --- Receiving response from LLM provider: --- I'm a fake LLM! This is my default response. --- Sending request to LLM provider (llama3.1:8b): --- Hi --- Receiving response from LLM provider: --- I'm a fake LLM! This is my default response. --- Sending request to LLM provider (llama3.1:8b): --- Hi How are you? --- Receiving response from LLM provider: --- I'm a fake LLM! This is my default response. --- Sending request to LLM provider (llama3.1:8b): --- Hi What is 2 + 2? You must answer with only an integer (use no other characters). --- Receiving response from LLM provider: --- 4 --- Sending request to LLM provider (llama3.1:8b): --- You are given a user's prompt. To answer the user's prompt, you need to think step by step to arrive at a final answer. ----- START OF USER'S PROMPT ----- What is 2 + 2? You must answer with only an integer (use no other characters). ----- END OF USER'S PROMPT ----- What are the steps you would take to answer the user's prompt? Describe your thought process in the following format: >> step 1: >> step 2: (etc.) When you are done, you must type: FINISH[] Make sure your final answer follows the logical conclusion of your thought process. --- Receiving response from LLM provider: --- >> step 1: Identify the mathematical operation in the prompt, which is a simple addition problem. >> step 2: Recall the basic arithmetic fact that 2 + 2 equals a specific numerical value. >> step 3: Apply this knowledge to determine the result of the addition problem, using the known facts about numbers and their operations. >> step 4: Conclude that based on this mathematical understanding, the solution to the prompt "What is 2 + 2?" is a fixed numerical quantity. FINISH[4] --- Sending request to LLM provider (no model specified): --- Hello NA Hello! --- Sending request to LLM provider (llama3.1:8b): --- Hi --- Receiving response from LLM provider: --- beepido boop ba --- Sending request to LLM provider (llama3.1:8b): --- Hi --- Receiving response from LLM provider: --- I'm a fake LLM! This is my default response. --- Sending request to LLM provider (llama3.1:8b): --- You are given a user's prompt. To answer the user's prompt, you need to think step by step to arrive at a final answer. ----- START OF USER'S PROMPT ----- What is 2 + 2? You must answer with only an integer (use no other characters). ----- END OF USER'S PROMPT ----- What are the steps you would take to answer the user's prompt? Describe your thought process in the following format: >> step 1: >> step 2: (etc.) When you are done, you must type: FINISH[] Make sure your final answer follows the logical conclusion of your thought process. --- Receiving response from LLM provider: --- >> step 1: Identify the mathematical operation in the prompt, which is a simple addition problem. >> step 2: Recall the basic arithmetic fact that 2 + 2 equals a specific numerical value. >> step 3: Apply this knowledge to determine the result of the addition problem, using the known facts about numbers and their operations. >> step 4: Conclude that based on this mathematical understanding, the solution to the prompt "What is 2 + 2?" is a fixed numerical quantity. FINISH[4] --- Sending request to LLM provider (llama3.1:8b): --- hi --- Receiving response from LLM provider: --- I'm a fake LLM! This is my default response. [ FAIL 0 | WARN 0 | SKIP 38 | PASS 440 ] ══ Skipped tests (38) ══════════════════════════════════════════════════════════ • OPENAI_API_KEY not set; skipping OpenAI tests (1): 'test-openai_request.R:14:1' • OPENAI_API_KEY not set; skipping stream_callback test (1): 'test-stream_callback.R:14:3' • On CRAN (2): 'test-add-image.R:27:3', 'test-add-image.R:72:3' • skip test: Ollama not available (10): 'test-add-image-integration.R:98:3', 'test-add-image-integration.R:112:3', 'test-answer-as-boolean.R:2:3', 'test-answer-as-json.R:180:3', 'test-answer_as_integer.R:2:3', 'test-answer_as_key_value.R:32:3', 'test-answer_as_list.R:27:3', 'test-answer_using_r.R:2:3', 'test-answer_using_tools.R:88:3', 'test-quit-if.R:2:3' • skip test: OpenAI API key not found (24): 'test-add-image-integration.R:40:3', 'test-add-image-integration.R:54:3', 'test-add-image-integration.R:67:3', 'test-add-image-integration.R:83:3', 'test-answer-as-json.R:2:3', 'test-answer-as-json.R:16:3', 'test-answer-as-json.R:142:3', 'test-answer-as-json.R:218:3', 'test-answer-as-json.R:301:3', 'test-answer-as-json.R:345:3', 'test-answer-as-json.R:360:3', 'test-answer-as-json.R:396:3', 'test-answer-as-json.R:431:3', 'test-answer-as-json.R:467:3', 'test-answer_using_tools.R:30:3', 'test-answer_using_tools.R:42:3', 'test-answer_using_tools.R:98:3', 'test-answer_using_tools.R:113:3', 'test-answer_using_tools.R:128:3', 'test-answer_using_tools.R:146:3', 'test-answer_using_tools.R:161:3', 'test-answer_using_tools.R:176:3', 'test-answer_using_tools.R:190:3', 'test-ellmer_streaming.R:3:3' [ FAIL 0 | WARN 0 | SKIP 38 | PASS 440 ] > > proc.time() user system elapsed 7.51 0.90 31.40