* using log directory ‘/home/hornik/tmp/CRAN_pretest/acro.Rcheck’ * using R Under development (unstable) (2026-09-07 r90504) * using platform: x86_64-pc-linux-gnu * R was compiled by Debian clang version 23.1.0 (2) Debian flang version 23.1.0 (2) * running under: Debian GNU/Linux forky/sid * using session charset: UTF-8 * current time: 2026-09-08 18:09:04 UTC * checking for file ‘acro/DESCRIPTION’ ... OK * this is package ‘acro’ version ‘1.0.0’ * package encoding: UTF-8 * checking CRAN incoming feasibility ... [4s/7s] OK * 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 executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking serialization versions ... OK * checking whether package ‘acro’ can be installed ... [1s/1s] OK * checking package directory ... OK * checking for future file timestamps ... 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 ... [0s/0s] OK * checking whether the package can be loaded with stated dependencies ... [0s/0s] OK * checking whether the package can be unloaded cleanly ... [0s/0s] OK * checking whether the namespace can be loaded with stated dependencies ... [0s/0s] OK * checking whether the namespace can be unloaded cleanly ... [0s/0s] OK * checking loading without being on the library search path ... [0s/0s] OK * checking whether startup messages can be suppressed ... [0s/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/2s] OK * checking Rd files ... [0s/0s] OK * checking Rd metadata ... OK * checking Rd line widths ... 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 contents of ‘data’ directory ... OK * checking data for non-ASCII characters ... [0s/0s] OK * checking LazyData ... OK * checking data for ASCII and uncompressed saves ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... [0s/0s] OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... [4s/4s] ERROR Running ‘spelling.R’ [0s/0s] Running ‘testthat.R’ [3s/3s] 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(acro) > > test_check("acro") Saving _problems/test-acro_crosstab-23.R Saving _problems/test-acro_crosstab-63.R Saving _problems/test-acro_hist-26.R Saving _problems/test-acro_hist-46.R Saving _problems/test-acro_hist-65.R Saving _problems/test-acro_hist-84.R Saving _problems/test-acro_pie-14.R Saving _problems/test-acro_pie-22.R Saving _problems/test-acro_pie-33.R Saving _problems/test-acro_summarise-13.R Saving _problems/test-acro_summarise-25.R Saving _problems/test-acro_summarise-36.R Saving _problems/test-acro_summarise-50.R Saving _problems/test-acro_summarise-59.R Saving _problems/test-acro_summarise-71.R Saving _problems/test-acro_summarise-89.R Saving _problems/test-acro_summarise-106.R Saving _problems/test-acro_summarise-123.R Saving _problems/test-acro_summarise-140.R Saving _problems/test-acro_summarise-155.R Saving _problems/test-acro_summarise-168.R Saving _problems/test-acro_summarise-183.R Saving _problems/test-acro_summarise-193.R Saving _problems/test-acro_summarise-207.R Saving _problems/test-acro_summarise-216.R Saving _problems/test-acro_summarise-225.R Saving _problems/test-acro_summarise-234.R Saving _problems/test-acro_summarise-238.R Saving _problems/test-acro_summarise-251.R Saving _problems/test-acro_summarise-264.R Saving _problems/test-acro_table-201.R [ FAIL 31 | WARN 1 | SKIP 34 | PASS 19 ] ══ Skipped tests (34) ══════════════════════════════════════════════════════════ • On CRAN (34): 'test-acro_add_comments.R:7:3', 'test-acro_add_exception.R:7:3', 'test-acro_crosstab.R:8:3', 'test-acro_crosstab.R:34:3', 'test-acro_custom_output.R:7:3', 'test-acro_disable_suppression.R:7:3', 'test-acro_enable_suppression.R:7:3', 'test-acro_finalise.R:7:3', 'test-acro_glm.R:26:3', 'test-acro_glm.R:33:3', 'test-acro_glm.R:40:3', 'test-acro_hist.R:7:3', 'test-acro_init.R:2:3', 'test-acro_lm.R:22:3', 'test-acro_pie.R:7:3', 'test-acro_pivot_table.R:7:3', 'test-acro_print_outputs.R:7:3', 'test-acro_remove_output.R:7:3', 'test-acro_rename_output.R:7:3', 'test-acro_rounding.R:7:3', 'test-acro_rounding.R:19:3', 'test-acro_surv_func.R:9:3', 'test-acro_surv_func.R:16:3', 'test-acro_table.R:7:3', 'test-acro_table.R:38:3', 'test-acro_table.R:70:3', 'test-acro_table.R:102:3', 'test-acro_table.R:136:3', 'test-acro_table.R:167:3', 'test-acro_table.R:173:3', 'test-acro_table.R:210:3', 'test-acro_table.R:242:3', 'test-acro_table.R:274:3', 'test-install_acro.R:2:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-acro_crosstab.R:23:3'): acro_crosstab works with margins ─────── Error: Python module acro was not found. Detected Python configuration: python: /tmp/check-CRAN-incoming-hornik/.virtualenvs/r-acro/bin/python libpython: /usr/lib/python3.14/config-3.14-x86_64-linux-gnu/libpython3.14.so pythonhome: /tmp/check-CRAN-incoming-hornik/.virtualenvs/r-acro:/tmp/check-CRAN-incoming-hornik/.virtualenvs/r-acro version: 3.14.7 (main, Aug 11 2026, 08:48:35) [GCC 16.2.0] numpy: [NOT FOUND] acro: [NOT FOUND] NOTE: Python version was forced by use_python() function Backtrace: ▆ 1. ├─acro::acro_init() at test-acro_crosstab.R:23:3 2. │ ├─acro$ACRO 3. │ └─reticulate:::`$.python.builtin.module`(acro, "ACRO") 4. │ └─reticulate::py_get_attr(x, name, TRUE) 5. └─reticulate (local) ``(``) ── Error ('test-acro_crosstab.R:63:3'): acro_crosstab throws an error for missing values ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_crosstab.R:63:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_hist.R:26:3'): Python and R counts mismatch when using raw breaks (proving why the offset is needed) ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'numpy' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─reticulate::import("numpy") at test-acro_hist.R:26:3 2. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_hist.R:46:3'): NumPy histogram counts match R counts when using the offset breaks ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'numpy' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─reticulate::import("numpy") at test-acro_hist.R:46:3 2. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_hist.R:65:3'): NumPy histogram counts match R counts with offset breaks using float data ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'numpy' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─reticulate::import("numpy") at test-acro_hist.R:65:3 2. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_hist.R:84:3'): NumPy histogram counts match R counts with offset breaks when breaks are the default (sturges) ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'numpy' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─reticulate::import("numpy") at test-acro_hist.R:84:3 2. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_pie.R:14:3'): acro_pie gives a warning on unused arguments ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_pie.R:14:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_pie.R:22:3'): acro_pie handles the border parameter ─────── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_pie.R:22:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_pie.R:33:3'): acro_pie handles the line (lty) parameter ─── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_pie.R:33:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:13:3'): acro_summarise works with one grouping parameter ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:13:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:25:3'): acro_summarise works with two grouping parameters ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:25:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:36:3'): acro_summarise works with no grouping parameter calculate the summary function for the whole dataset ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:36:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:50:3'): acro_summarise works with two summary functions for the same variable ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:50:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:59:3'): acro_summarise throws an error when different aggreagtion functions used for different values ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:59:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:71:3'): acro_summarise works with piping ────── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:71:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:89:3'): acro_summarise works with .groups = drop_last ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:89:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:106:3'): acro_summarise works with .groups = drop ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:106:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:123:3'): acro_summarise works with .groups = drop ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:123:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:140:3'): acro_summarise works with .groups = keep ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:140:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:155:3'): acro_summarise works with .groups = keep when there is no grouping provided ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:155:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:168:3'): acro_summarise works with .groups = rowwise when there is no grouping provided ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:168:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:183:3'): acro_summarise works with .groups = rowwise ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:183:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:193:3'): acro_summarise throws an error with .groups is assigned to a not valid option ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:193:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:203:3'): acro_summarise gives error when both .by and .groups are provided ── Error in `acro_summarise(., mean_children = mean(children), .by = parents, .groups = "drop")`: ACRO has not been initialised. Please first call acro_init() Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-acro_summarise.R:203: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. ├─nursery_data %>% ... 8. └─acro::acro_summarise(...) ── Error ('test-acro_summarise.R:211:3'): acro_summarise gives error when .by is provided on a grouped dataframe ── Error in `acro_summarise(., mean_children = mean(children), .by = parents)`: ACRO has not been initialised. Please first call acro_init() Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-acro_summarise.R:211: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. ├─nursery_data %>% dplyr::group_by(recommend) %>% ... 8. └─acro::acro_summarise(., mean_children = mean(children), .by = parents) ── Error ('test-acro_summarise.R:220:3'): acro_summarise gives error when aggregation function is n() ── Error in `acro_summarise(., count_children = n())`: ACRO has not been initialised. Please first call acro_init() Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-acro_summarise.R:220: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. ├─nursery_data %>% dplyr::group_by(recommend) %>% ... 8. └─acro::acro_summarise(., count_children = n()) ── Error ('test-acro_summarise.R:229:3'): acro_summarise gives error when aggregation function is not provided ── Error in `acro_summarise(., max_children = max())`: ACRO has not been initialised. Please first call acro_init() Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-acro_summarise.R:229: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. ├─nursery_data %>% dplyr::group_by(recommend) %>% ... 8. └─acro::acro_summarise(., max_children = max()) ── Error ('test-acro_summarise.R:238:3'): acro_summarise returns the status of the SDC checks as pass when the output is safe ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:238:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:251:3'): acro_summarise returns the status of the SDC checks as fail when the output is unsafe ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:251:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_summarise.R:264:3'): acro_summarise returns the summary as review when suppression is enabled ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_summarise.R:264:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) ── Error ('test-acro_table.R:201:3'): warning is triggered and NAs are removed from exclude list ── Error in `py_module_import(module, convert = convert)`: ModuleNotFoundError: No module named 'acro' Run `reticulate::py_last_error()` for details. Backtrace: ▆ 1. └─acro::acro_init() at test-acro_table.R:201:3 2. └─reticulate::import("acro", delay_load = TRUE, convert = FALSE) 3. └─reticulate:::py_module_import(module, convert = convert) [ FAIL 31 | WARN 1 | SKIP 34 | PASS 19 ] Error: ! Test failures. Execution halted * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [4s/5s] OK * checking PDF version of manual ... [3s/2s] OK * checking HTML version of manual ... [0s/0s] OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR