* using log directory 'd:/Rcompile/CRANpkg/local/4.5/air.Rcheck' * using R version 4.5.1 (2025-06-13 ucrt) * using platform: x86_64-w64-mingw32 * R was compiled by gcc.exe (GCC) 14.2.0 GNU Fortran (GCC) 14.2.0 * running under: Windows Server 2022 x64 (build 20348) * using session charset: UTF-8 * checking for file 'air/DESCRIPTION' ... OK * checking extension type ... Package * this is package 'air' version '0.2.2' * 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 'air' can be installed ... OK * checking installed package size ... OK * checking package directory ... OK * checking DESCRIPTION meta-information ... NOTE Missing dependency on R >= 4.1.0 because package code uses the pipe |> or function shorthand \(...) syntax added in R 4.1.0. File(s) using such syntax: 'gateway_keyring.R' 'gateway_openai.R' * 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 ... [0s] OK * checking whether the package can be loaded with stated dependencies ... [0s] OK * checking whether the package can be unloaded cleanly ... [0s] OK * checking whether the namespace can be loaded with stated dependencies ... [0s] OK * checking whether the namespace can be unloaded cleanly ... [0s] OK * checking loading without being on the library search path ... [0s] 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 ... [2s] OK * checking Rd files ... [0s] 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 examples ... [0s] OK * checking for unstated dependencies in 'tests' ... OK * checking tests ... [3s] ERROR Running 'testthat.R' [2s] 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/tests.html > # * https://testthat.r-lib.org/reference/test_package.html#special-files > > library(testthat) > library(air) > > test_check("air") [ FAIL 5 | WARN 0 | SKIP 0 | PASS 2 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-credentials.R:7:9'): BAD: catches an invalid API key ─────────── Error in `rjson::fromJSON(json_body)`: attempt to set index 1/1 in SET_STRING_ELT Backtrace: ▆ 1. ├─testthat::expect_error(bad_invalid_api_key(), "Incorrect") at test-credentials.R:13: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. └─air (local) bad_invalid_api_key() 8. ├─vcr::use_cassette(...) at test-credentials.R:5:5 9. │ └─cassette$call_block(...) 10. ├─air:::with_stubbed_credentials(...) at test-credentials.R:6:7 11. └─air::howto("How do I get the first element of a list?") at test-credentials.R:7:9 12. └─air:::api_answer_or_stop(do, creds, context, call_api) 13. └─air:::parse_response_message(value(res)) 14. └─rjson::fromJSON(json_body) ── Error ('test-howto.R:4:7'): HAPPY: howto returns results ──────────────────── Error in `rjson::fromJSON(json_body)`: attempt to set index 1/1 in SET_STRING_ELT Backtrace: ▆ 1. ├─vcr::use_cassette(...) at test-howto.R:2:3 2. │ └─cassette$call_block(...) 3. ├─air:::with_stubbed_credentials(...) at test-howto.R:3:5 4. ├─base::suppressMessages(air::howto("How do I get the first element of a list?")) at test-howto.R:4:7 5. │ └─base::withCallingHandlers(...) 6. └─air::howto("How do I get the first element of a list?") 7. └─air:::api_answer_or_stop(do, creds, context, call_api) 8. └─air:::parse_response_message(value(res)) 9. └─rjson::fromJSON(json_body) ── Error ('test-howto.R:19:9'): HAPPY: howto prints result message ───────────── Error in `rjson::fromJSON(json_body)`: attempt to set index 1/1 in SET_STRING_ELT Backtrace: ▆ 1. ├─vcr::use_cassette(...) at test-howto.R:16:3 2. │ └─cassette$call_block(...) 3. ├─testthat::expect_message(happy_results(), ".*\n+") at test-howto.R:22:5 4. │ └─testthat:::expect_condition_matching(...) 5. │ └─testthat:::quasi_capture(...) 6. │ ├─testthat (local) .capture(...) 7. │ │ └─base::withCallingHandlers(...) 8. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 9. └─air (local) happy_results() 10. ├─air:::with_stubbed_credentials(...) at test-howto.R:18:7 11. └─air::howto("How do I get the first element of a list?") at test-howto.R:19:9 12. └─air:::api_answer_or_stop(do, creds, context, call_api) 13. └─air:::parse_response_message(value(res)) 14. └─rjson::fromJSON(json_body) ── Error ('test-whatis.R:5:9'): HAPPY: whatis returns results ────────────────── Error in `rjson::fromJSON(json_body)`: attempt to set index 1/1 in SET_STRING_ELT Backtrace: ▆ 1. ├─vcr::use_cassette(...) at test-whatis.R:2:3 2. │ └─cassette$call_block(...) 3. ├─air:::with_stubbed_credentials(...) at test-whatis.R:3:5 4. ├─air:::with_stubbed_credentials(...) at test-whatis.R:4:7 5. ├─base::suppressMessages(air::whatis("paste0(vector1, vector2)")) at test-whatis.R:5:9 6. │ └─base::withCallingHandlers(...) 7. └─air::whatis("paste0(vector1, vector2)") 8. └─air:::api_answer_or_stop(this, creds, context, call_api) 9. └─air:::parse_response_message(value(res)) 10. └─rjson::fromJSON(json_body) ── Error ('test-whatis.R:16:9'): HAPPY: whatis prints result message ─────────── Error in `rjson::fromJSON(json_body)`: attempt to set index 1/1 in SET_STRING_ELT Backtrace: ▆ 1. ├─testthat::expect_message(good(), ".*\n+") at test-whatis.R:21: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. └─air (local) good() 8. ├─vcr::use_cassette(...) at test-whatis.R:14:5 9. │ └─cassette$call_block(...) 10. ├─air:::with_stubbed_credentials(...) at test-whatis.R:15:7 11. └─air::whatis("paste0(vector1, vector2)") at test-whatis.R:16:9 12. └─air:::api_answer_or_stop(this, creds, context, call_api) 13. └─air:::parse_response_message(value(res)) 14. └─rjson::fromJSON(json_body) [ FAIL 5 | WARN 0 | SKIP 0 | PASS 2 ] Error: Test failures Execution halted * checking PDF version of manual ... [20s] OK * checking HTML version of manual ... [1s] OK * DONE Status: 1 ERROR, 1 NOTE