Last updated on 2025-12-04 07:51:07 CET.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-gcc | 0.2.0 | 2.80 | 42.41 | 45.21 | OK | |
| r-devel-linux-x86_64-fedora-clang | 0.2.0 | 28.00 | 68.08 | 96.08 | ERROR | |
| r-devel-linux-x86_64-fedora-gcc | 0.2.0 | 17.00 | 71.25 | 88.25 | OK | |
| r-patched-linux-x86_64 | 0.2.0 | 5.15 | 48.36 | 53.51 | OK | |
| r-release-macos-arm64 | 0.2.0 | 1.00 | 22.00 | 23.00 | OK | |
| r-release-macos-x86_64 | 0.2.0 | 4.00 | 64.00 | 68.00 | OK | |
| r-release-windows-x86_64 | 0.2.0 | 4.00 | 88.00 | 92.00 | OK | |
| r-oldrel-macos-arm64 | 0.2.0 | 1.00 | 28.00 | 29.00 | OK | |
| r-oldrel-macos-x86_64 | 0.2.0 | 3.00 | 63.00 | 66.00 | OK | |
| r-oldrel-windows-x86_64 | 0.2.0 | 6.00 | 96.00 | 102.00 | OK |
Version: 0.2.0
Check: tests
Result: ERROR
Running ‘testthat.R’ [30s/80s]
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(motherduck)
> library(DBI)
> library(openxlsx)
>
> test_check("motherduck")
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 0
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 0
* # Tables in this catalog & schema you have access to: 0
-- Action Report: --
v Inserted into existing database "memory"
v Created new schema "test_schema"
> Current role: `duckdb`
-- Status: ---------------------------------------------------------------------
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "test_schema"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 0
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 0
* # Tables in this catalog & schema you have access to: 0
> Current role: `duckdb`
> Current role: `duckdb`
> Current role: `duckdb`
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 1
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 1
* # Tables in this catalog & schema you have access to: 1
-- Action Report: --
v Inserted into existing database "memory"
v Using existing schema "main"
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 1
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 1
* # Tables in this catalog & schema you have access to: 1
-- Action Report: --
v Inserted into existing database "memory"
v Using existing schema "main"
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 1
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 1
* # Tables in this catalog & schema you have access to: 1
-- Action Report: --
v Inserted into existing database "memory"
v Using existing schema "main"
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 3
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 3
* # Tables in this catalog & schema you have access to: 3
-- Action Report: --
v Inserted into existing database "memory"
v Using existing schema "main"
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 3
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 3
* # Tables in this catalog & schema you have access to: 3
-- Action Report: --
v Inserted into existing database "memory"
v Using existing schema "main"
Note: method with signature 'DBIConnection#Id' chosen for function 'dbExistsTable',
target signature 'duckdb_connection#Id'.
"duckdb_connection#ANY" would also be valid
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 0
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 0
* # Tables in this catalog & schema you have access to: 0
-- Action Report:
* Deleted "delete_table" from "[database_name]" in "main"
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 0
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 0
* # Tables in this catalog & schema you have access to: 0
-- Action Report: --
v Inserted into existing database "memory"
v Created new schema "test_schema"
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 1
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 1
* # Tables in this catalog & schema you have access to: 0
-- Action Report: --
* Deleted "test_schema" schema and 1 tables
-- Status: ---------------------------------------------------------------------
-- Connection Status Report: --
! You are not connected to MotherDuck
-- User Report: --
* User Name: "duckdb"
* Role: "duckdb"
-- Catalog Report: --
* Current Database: "memory"
* Current Schema: "main"
* # Total Catalogs you have access to: 3
* # Total Tables you have access to: 0
* # Total Shares you have access to: 0
* # Tables in this catalog you have access to: 0
* # Tables in this catalog & schema you have access to: 0
-- Action Report: --
* Deleted "test_schema" schema and 1 tables
-- Action Report: --
v Inserted into existing database "memory"
v Using existing schema "main"
v Overwrite existing table "mtcars_csv"
*** caught segfault ***
address 0x1c11000119, cause 'memory not mapped'
Traceback:
1: rapi_execute(stmt, convert_opts)
2: withCallingHandlers(expr, condition = function(cnd) { { .__handler_frame__. <- TRUE .__setup_frame__. <- frame if (inherits(cnd, "message")) { except <- c("warning", "error") } else if (inherits(cnd, "warning")) { except <- "error" } else { except <- "" } } while (!is_null(cnd)) { if (inherits(cnd, "error")) { out <- handlers[[1L]](cnd) if (!inherits(out, "rlang_zap")) throw(out) } inherit <- .subset2(.subset2(cnd, "rlang"), "inherit") if (is_false(inherit)) { return() } cnd <- .subset2(cnd, "parent") }})
3: doTryCatch(return(expr), name, parentenv, handler)
4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
5: tryCatchList(expr, classes, parentenv, handlers)
6: tryCatch(withCallingHandlers(expr, condition = function(cnd) { { .__handler_frame__. <- TRUE .__setup_frame__. <- frame if (inherits(cnd, "message")) { except <- c("warning", "error") } else if (inherits(cnd, "warning")) { except <- "error" } else { except <- "" } } while (!is_null(cnd)) { if (inherits(cnd, "error")) { out <- handlers[[1L]](cnd) if (!inherits(out, "rlang_zap")) throw(out) } inherit <- .subset2(.subset2(cnd, "rlang"), "inherit") if (is_false(inherit)) { return() } cnd <- .subset2(cnd, "parent") }}), stackOverflowError = handlers[[1L]])
7: rlang::try_fetch(rapi_execute(stmt, convert_opts), error = function(e) { rethrow_error_from_rapi(e, call)})
8: rethrow_rapi_execute(res@stmt_lst$ref, duckdb_convert_opts_impl(res@connection@convert_opts, arrow = res@arrow))
9: duckdb_execute(res)
10: duckdb_result(connection = conn, stmt_lst = stmt_lst, arrow = arrow)
11: .local(conn, statement, ...)
12: dbSendQuery(conn, statement, ...)
13: dbSendQuery(conn, statement, ...)
14: dbSendStatement(conn, statement, ...)
15: dbSendStatement(conn, statement, ...)
16: DBI::dbExecute(.con, glue::glue("LOAD {x};"))
17: DBI::dbExecute(.con, glue::glue("LOAD {x};"))
18: .f(.x[[i]], ...)
19: .Primitive(".Call")(list(name = "map_impl", address = <pointer: 0x559393cc7eb0>, dll = list(name = "purrr", path = "/data/gannet/ripley/R/test-clang/purrr/libs/purrr.so", dynamicLookup = FALSE, handle = <pointer: 0x559393d4e850>, info = <pointer: 0x559391c76340>, forceSymbols = FALSE), numParameters = 6L), <environment>, "list", FALSE, 1L, NULL, 1L)
20: call_with_cleanup(map_impl, environment(), .type, .progress, n, names, i)
21: withCallingHandlers(expr, error = function(cnd) { if (i == 0L) { } else { message <- c(i = "In index: {i}.") if (!is.null(names) && !is.na(names[[i]]) && names[[i]] != "") { name <- names[[i]] message <- c(message, i = "With name: {name}.") } else { name <- NULL } cli::cli_abort(message, location = i, name = name, parent = cnd, call = error_call, class = "purrr_error_indexed") }})
22: with_indexed_errors(i = i, names = names, error_call = .purrr_error_call, call_with_cleanup(map_impl, environment(), .type, .progress, n, names, i))
23: map_("list", .x, .f, ..., .progress = .progress)
24: purrr::map(ext_lst$valid_ext, function(x) DBI::dbExecute(.con, glue::glue("LOAD {x};")))
25: load_extensions(.con, "excel")
26: read_excel(.con = con_db, to_database_name = "memory", to_schema_name = "main", to_table_name = "mtcars_excel", file_path = file_name, write_type = "overwrite")
27: eval(code, test_env)
28: eval(code, test_env)
29: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
30: doTryCatch(return(expr), name, parentenv, handler)
31: tryCatchOne(expr, names, parentenv, handlers[[1L]])
32: tryCatchList(expr, classes, parentenv, handlers)
33: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
34: doWithOneRestart(return(expr), restart)
35: withOneRestart(expr, restarts[[1L]])
36: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
37: test_code(code, parent.frame())
38: it("successfully reads a excel and copies table to database", { file_name <- tempfile() openxlsx::write.xlsx(mtcars, file_name) con_db <- DBI::dbConnect(duckdb::duckdb()) read_excel(.con = con_db, to_database_name = "memory", to_schema_name = "main", to_table_name = "mtcars_excel", file_path = file_name, write_type = "overwrite") list_of_tables <- dplyr::collect(list_all_tables(con_db)) testthat::expect_true(all(list_of_tables[["table_name"]] %in% "mtcars_excel")) DBI::dbDisconnect(con_db) })
39: eval(code, test_env)
40: eval(code, test_env)
41: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
42: doTryCatch(return(expr), name, parentenv, handler)
43: tryCatchOne(expr, names, parentenv, handlers[[1L]])
44: tryCatchList(expr, classes, parentenv, handlers)
45: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
46: doWithOneRestart(return(expr), restart)
47: withOneRestart(expr, restarts[[1L]])
48: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
49: test_code(code, parent.frame())
50: describe("read_excel", { it("successfully reads a excel and copies table to database", { file_name <- tempfile() openxlsx::write.xlsx(mtcars, file_name) con_db <- DBI::dbConnect(duckdb::duckdb()) read_excel(.con = con_db, to_database_name = "memory", to_schema_name = "main", to_table_name = "mtcars_excel", file_path = file_name, write_type = "overwrite") list_of_tables <- dplyr::collect(list_all_tables(con_db)) testthat::expect_true(all(list_of_tables[["table_name"]] %in% "mtcars_excel")) DBI::dbDisconnect(con_db) })})
51: eval(code, test_env)
52: eval(code, test_env)
53: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)
54: doTryCatch(return(expr), name, parentenv, handler)
55: tryCatchOne(expr, names, parentenv, handlers[[1L]])
56: tryCatchList(expr, classes, parentenv, handlers)
57: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal)
58: doWithOneRestart(return(expr), restart)
59: withOneRestart(expr, restarts[[1L]])
60: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { })
61: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new())
62: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call)
63: FUN(X[[i]], ...)
64: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)
65: doTryCatch(return(expr), name, parentenv, handler)
66: tryCatchOne(expr, names, parentenv, handlers[[1L]])
67: tryCatchList(expr, classes, parentenv, handlers)
68: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL})
69: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call))
70: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call)
71: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle)
72: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed")
73: test_check("motherduck")
An irrecoverable exception occurred. R is aborting now ...
Flavor: r-devel-linux-x86_64-fedora-clang
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.