* using log directory ‘/Users/ripley/R/packages/tests-devel/joinery.Rcheck’ * using R Under development (unstable) (2026-07-06 r90208) * using platform: aarch64-apple-darwin25.5.0 * R was compiled by Apple clang version 21.0.0 (clang-2100.1.1.101) GNU Fortran (GCC) 14.2.0 * running under: macOS Tahoe 26.5.2 * using session charset: UTF-8 * current time: 2026-07-07 09:33:31 UTC * using option ‘--no-stop-on-test-error’ * checking for file ‘joinery/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘joinery’ version ‘1.0.0’ * 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 executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘joinery’ 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 ... OK * checking whether the package can be loaded with stated dependencies ... OK * checking whether the package can be unloaded cleanly ... OK * checking whether the namespace can be loaded with stated dependencies ... OK * checking whether the namespace can be unloaded cleanly ... OK * checking loading without being on the library search path ... OK * checking whether startup messages can be suppressed ... 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 ... OK * checking Rd files ... 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 contents of ‘data’ directory ... OK * checking data for non-ASCII characters ... 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 ... OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘testthat.R’ [32s/31s] [32s/31s] ERROR 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(joinery) > > test_check("joinery") sh: sysctl: command not found Saving _problems/test-block-on-tokens-240.R sh: sysctl: command not found Saving _problems/test-block-on-tokens-272.R sh: sysctl: command not found Saving _problems/test-duckdb-dedup-block-aware-cc-36.R sh: sysctl: command not found Saving _problems/test-duckdb-dedup-block-aware-cc-79.R sh: sysctl: command not found Saving _problems/test-duckdb-dedup-empty-schema-31.R sh: sysctl: command not found Saving _problems/test-duckdb-dedup-empty-schema-68.R sh: sysctl: command not found Saving _problems/test-duckdb-filtered-input-38.R Saving _problems/test-duckdb-filtered-input-41.R sh: sysctl: command not found Saving _problems/test-duckdb-filtered-input-70.R sh: sysctl: command not found Saving _problems/test-exact-strategy-180.R sh: sysctl: command not found Saving _problems/test-exact-strategy-208.R sh: sysctl: command not found Saving _problems/test-exact-strategy-246.R sh: sysctl: command not found Saving _problems/test-exact-strategy-282.R sh: sysctl: command not found Saving _problems/test-exact-strategy-305.R sh: sysctl: command not found Saving _problems/test-exact-strategy-334.R sh: sysctl: command not found Saving _problems/test-exact-strategy-354.R sh: sysctl: command not found Saving _problems/test-fanout-guard-175.R sh: sysctl: command not found Saving _problems/test-fanout-guard-186.R sh: sysctl: command not found Saving _problems/test-fanout-guard-204.R sh: sysctl: command not found Saving _problems/test-find-stopwords-92.R sh: sysctl: command not found Saving _problems/test-max-token-df-85.R sh: sysctl: command not found Saving _problems/test-min-rarity-prejoin-96.R sh: sysctl: command not found Saving _problems/test-multi-stage-dedup-185.R sh: sysctl: command not found Saving _problems/test-multi-stage-search-181.R sh: sysctl: command not found Saving _problems/test-on-missing-renormalise-112.R sh: sysctl: command not found Saving _problems/test-preflight-guardrails-71.R sh: sysctl: command not found Saving _problems/test-rarity-scope-149.R sh: sysctl: command not found Saving _problems/test-score-token-set-semantics-43.R sh: sysctl: command not found Saving _problems/test-score-token-set-semantics-64.R sh: sysctl: command not found Saving _problems/test-search-chunking-54.R sh: sysctl: command not found Saving _problems/test-search-chunking-81.R sh: sysctl: command not found Saving _problems/test-search-chunking-119.R sh: sysctl: command not found Saving _problems/test-search-chunking-146.R sh: sysctl: command not found Saving _problems/test-search-chunking-191.R sh: sysctl: command not found Saving _problems/test-search-chunking-231.R sh: sysctl: command not found Saving _problems/test_aip-218.R sh: sysctl: command not found Saving _problems/test_aip-236.R sh: sysctl: command not found Saving _problems/test_methods_duckdb-29.R sh: sysctl: command not found Saving _problems/test_methods_duckdb-97.R sh: sysctl: command not found Saving _problems/test_methods_duckdb-135.R sh: sysctl: command not found Saving _problems/test_methods_duckdb-471.R sh: sysctl: command not found Saving _problems/test_methods_duckdb-506.R sh: sysctl: command not found Saving _problems/test_multi_stage_embedding-202.R Column: name Steps: - 1: normalize_text() Column: name Steps: - 1: word_tokens(min_nchar = 3) Column: name Steps: - 1: generate_ngrams(2) [ FAIL 43 | WARN 0 | SKIP 5 | PASS 2134 ] ══ Skipped tests (5) ═══════════════════════════════════════════════════════════ • On CRAN (4): 'test_audit_strategy.R:391:1', 'test_sample_matches.R:353:1', 'test_summarise_matches.R:290:1', 'test_summarise_matches.R:296:1' • recipes installed (1): 'test_tidymodels_shim.R:51:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-block-on-tokens.R:240:3'): DuckDB dedup matches data.table under token-blocking (region-free) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::suppressMessages(...) at test-block-on-tokens.R:240:3 2. │ └─base::withCallingHandlers(...) 3. ├─dplyr::collect(detect_duplicates(duck, "id", s)) 4. └─joinery::detect_duplicates(duck, "id", s) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 8. ├─S7::S7_dispatch() 9. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 10. └─joinery::duckdb_batch_plan(...) 11. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 12. └─joinery (local) get_total_ram() 13. ├─base::suppressWarnings(...) 14. │ └─base::withCallingHandlers(...) 15. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-block-on-tokens.R:270:3'): DuckDB search matches data.table under token-blocking ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::suppressMessages(...) at test-block-on-tokens.R:270:3 2. │ └─base::withCallingHandlers(...) 3. ├─dplyr::collect(...) 4. └─joinery::search_candidates(...) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 7. └─joinery (local) run_core(...) 8. └─joinery::prepare_search_data(base_table, base_id, strategy) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::duckdb_batch_plan(...) 12. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 13. └─joinery (local) get_total_ram() 14. ├─base::suppressWarnings(...) 15. │ └─base::withCallingHandlers(...) 16. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-duckdb-dedup-block-aware-cc.R:35:3'): CC iterates per block; group IDs are globally unique ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::detect_duplicates(...) at test-duckdb-dedup-block-aware-cc.R:35:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-duckdb-dedup-block-aware-cc.R:78:3'): wall_seconds attribute is attached to dedup results ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::detect_duplicates(...) at test-duckdb-dedup-block-aware-cc.R:78:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-duckdb-dedup-empty-schema.R:31:3'): detect_duplicates() returns full schema even when no pairs match ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::detect_duplicates(src, id = "id", strategy = strat) at test-duckdb-dedup-empty-schema.R:31:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-duckdb-dedup-empty-schema.R:66:3'): empty-pairs result can be UNIONed with a non-empty result ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::as.data.frame(...) at test-duckdb-dedup-empty-schema.R:66:3 2. └─joinery::detect_duplicates(...) 3. ├─S7::S7_dispatch() 4. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 5. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 6. ├─S7::S7_dispatch() 7. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 8. └─joinery::duckdb_batch_plan(...) 9. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 10. └─joinery (local) get_total_ram() 11. ├─base::suppressWarnings(...) 12. │ └─base::withCallingHandlers(...) 13. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Failure ('test-duckdb-filtered-input.R:35:3'): detect_duplicates() accepts a filtered lazy input ── Expected `{ ... }` not to throw any errors. Actually got a with message: error in running command ── Error ('test-duckdb-filtered-input.R:41:3'): detect_duplicates() accepts a filtered lazy input ── Error in `eval(code, test_env)`: object 'out' not found Backtrace: ▆ 1. └─testthat::expect_true(all(out$block == "X")) at test-duckdb-filtered-input.R:41:3 2. └─testthat::quasi_label(enquo(object), label) 3. └─rlang::eval_bare(expr, quo_get_env(quo)) ── Error ('test-duckdb-filtered-input.R:58:3'): filtered lazy result matches the CREATE TABLE AS slice ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::as.data.frame(...) at test-duckdb-filtered-input.R:58:3 2. └─joinery::detect_duplicates(...) 3. ├─S7::S7_dispatch() 4. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 5. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 6. ├─S7::S7_dispatch() 7. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 8. └─joinery::duckdb_batch_plan(...) 9. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 10. └─joinery (local) get_total_ram() 11. ├─base::suppressWarnings(...) 12. │ └─base::withCallingHandlers(...) 13. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:179:3'): min_containment_tokens stops a single-token hub chaining richer names ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-exact-strategy.R:179:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", gated_strat) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Exact_Strategy))`(...) 6. └─joinery:::.exact_links_duck(...) 7. └─joinery:::.exact_links_containment_duck(...) 8. ├─joinery::compute_rarity(...) 9. │ └─S7::S7_dispatch() 10. └─joinery::prepare_search_data(...) 11. ├─S7::S7_dispatch() 12. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 13. └─joinery::duckdb_batch_plan(...) 14. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 15. └─joinery (local) get_total_ram() 16. ├─base::suppressWarnings(...) 17. │ └─base::withCallingHandlers(...) 18. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:207:3'): min_containment_tokens gates PER COLUMN, not pooled across columns ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-exact-strategy.R:207:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d2"), "id", gated) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Exact_Strategy))`(...) 6. └─joinery:::.exact_links_duck(...) 7. └─joinery:::.exact_links_containment_duck(...) 8. ├─joinery::compute_rarity(...) 9. │ └─S7::S7_dispatch() 10. └─joinery::prepare_search_data(...) 11. ├─S7::S7_dispatch() 12. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 13. └─joinery::duckdb_batch_plan(...) 14. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 15. └─joinery (local) get_total_ram() 16. ├─base::suppressWarnings(...) 17. │ └─base::withCallingHandlers(...) 18. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:245:3'): exact dedup is identical on data.table and DuckDB (incl. Ü) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-exact-strategy.R:245:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", ex_strat) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Exact_Strategy))`(...) 6. └─joinery:::.exact_links_duck(...) 7. └─joinery:::.exact_links_off_duck(...) 8. └─joinery::prepare_search_data(...) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::duckdb_batch_plan(...) 12. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 13. └─joinery (local) get_total_ram() 14. ├─base::suppressWarnings(...) 15. │ └─base::withCallingHandlers(...) 16. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:281:3'): DuckDB exact dedup is empty-column robust and block-aware ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-exact-strategy.R:281:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", blk_strat) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Exact_Strategy))`(...) 6. └─joinery:::.exact_links_duck(...) 7. └─joinery:::.exact_links_off_duck(...) 8. └─joinery::prepare_search_data(...) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::duckdb_batch_plan(...) 12. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 13. └─joinery (local) get_total_ram() 14. ├─base::suppressWarnings(...) 15. │ └─base::withCallingHandlers(...) 16. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:304:3'): exact search + forward containment parity on DuckDB ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─dplyr::collect(...) at test-exact-strategy.R:304:3 2. └─joinery::search_candidates(...) 3. ├─S7::S7_dispatch() 4. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Exact_Strategy))`(...) 5. └─joinery:::.exact_links_duck(...) 6. └─joinery:::.exact_links_containment_duck(...) 7. ├─joinery::compute_rarity(...) 8. │ └─S7::S7_dispatch() 9. └─joinery::prepare_search_data(...) 10. ├─S7::S7_dispatch() 11. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 12. └─joinery::duckdb_batch_plan(...) 13. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 14. └─joinery (local) get_total_ram() 15. ├─base::suppressWarnings(...) 16. │ └─base::withCallingHandlers(...) 17. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:333:3'): a large identical-fingerprint clique collapses to one group (dt + DuckDB) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-exact-strategy.R:333:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", ex_strat) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Exact_Strategy))`(...) 6. └─joinery:::.exact_links_duck(...) 7. └─joinery:::.exact_links_off_duck(...) 8. └─joinery::prepare_search_data(...) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::duckdb_batch_plan(...) 12. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 13. └─joinery (local) get_total_ram() 14. ├─base::suppressWarnings(...) 15. │ └─base::withCallingHandlers(...) 16. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-exact-strategy.R:353:3'): fully-empty fingerprints stay singletons, never one spurious group (dt + DuckDB) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-exact-strategy.R:353:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", ex_strat) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Exact_Strategy))`(...) 6. └─joinery:::.exact_links_duck(...) 7. └─joinery:::.exact_links_off_duck(...) 8. └─joinery::prepare_search_data(...) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::duckdb_batch_plan(...) 12. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 13. └─joinery (local) get_total_ram() 14. ├─base::suppressWarnings(...) 15. │ └─base::withCallingHandlers(...) 16. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-fanout-guard.R:173:3'): DuckDB dedup cap matches the data.table backend ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::suppressMessages(...) at test-fanout-guard.R:173:3 2. │ └─base::withCallingHandlers(...) 3. ├─base::suppressWarnings(...) 4. │ └─base::withCallingHandlers(...) 5. ├─dplyr::collect(detect_duplicates(duck, "id", s)) 6. └─joinery::detect_duplicates(duck, "id", s) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 10. ├─S7::S7_dispatch() 11. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 12. └─joinery::duckdb_batch_plan(...) 13. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 14. └─joinery (local) get_total_ram() 15. ├─base::suppressWarnings(...) 16. │ └─base::withCallingHandlers(...) 17. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Failure ('test-fanout-guard.R:186:3'): DuckDB dedup also aborts under on_fanout = 'abort' ── `suppressMessages(detect_duplicates(duck, "id", s))` threw an error with unexpected message. Expected match: "exceeds" Actual message: "error in running command" Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-fanout-guard.R:186:3 2. │ └─testthat:::quasi_capture(...) 3. │ ├─testthat (local) .capture(...) 4. │ │ └─base::withCallingHandlers(...) 5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 6. ├─base::suppressMessages(detect_duplicates(duck, "id", s)) 7. │ └─base::withCallingHandlers(...) 8. └─joinery::detect_duplicates(duck, "id", s) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 12. ├─S7::S7_dispatch() 13. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 14. └─joinery::duckdb_batch_plan(...) 15. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 16. └─joinery (local) get_total_ram() 17. ├─base::suppressWarnings(...) 18. │ └─base::withCallingHandlers(...) 19. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-fanout-guard.R:202:3'): DuckDB search cap matches the data.table backend ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::suppressMessages(...) at test-fanout-guard.R:202:3 2. │ └─base::withCallingHandlers(...) 3. ├─base::suppressWarnings(...) 4. │ └─base::withCallingHandlers(...) 5. ├─dplyr::collect(...) 6. └─joinery::search_candidates(...) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 9. └─joinery (local) run_core(...) 10. └─joinery::prepare_search_data(base_table, base_id, strategy) 11. ├─S7::S7_dispatch() 12. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 13. └─joinery::duckdb_batch_plan(...) 14. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 15. └─joinery (local) get_total_ram() 16. ├─base::suppressWarnings(...) 17. │ └─base::withCallingHandlers(...) 18. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-find-stopwords.R:92:3'): data.table and DuckDB methods agree ─── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::prepare_search_data(dplyr::tbl(con, "raw"), "id", strat) at test-find-stopwords.R:92:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::duckdb_batch_plan(...) 5. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 6. └─joinery (local) get_total_ram() 7. ├─base::suppressWarnings(...) 8. │ └─base::withCallingHandlers(...) 9. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-max-token-df.R:84:3'): max_token_df is identical on data.table and DuckDB ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-max-token-df.R:84:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", s) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 6. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::duckdb_batch_plan(...) 10. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 11. └─joinery (local) get_total_ram() 12. ├─base::suppressWarnings(...) 13. │ └─base::withCallingHandlers(...) 14. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-min-rarity-prejoin.R:95:3'): min_rarity cut is identical on data.table and DuckDB ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-min-rarity-prejoin.R:95:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", s) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 6. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::duckdb_batch_plan(...) 10. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 11. └─joinery (local) get_total_ram() 12. ├─base::suppressWarnings(...) 13. │ └─base::withCallingHandlers(...) 14. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-multi-stage-dedup.R:184:3'): data.table and DuckDB produce the same entities ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-multi-stage-dedup.R:184:3 2. ├─dplyr::collect(...) 3. └─joinery::multi_stage_dedup(dplyr::tbl(con, "d"), "id", strategies) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(multi_stage_dedup, list(new_S3_class("tbl_duckdb_connection"), class_character, class_list))`(...) 6. └─joinery:::.run_staged_dedup(...) 7. └─joinery::detect_duplicates(...) 8. ├─S7::S7_dispatch() 9. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 10. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 11. ├─S7::S7_dispatch() 12. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 13. └─joinery::duckdb_batch_plan(...) 14. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 15. └─joinery (local) get_total_ram() 16. ├─base::suppressWarnings(...) 17. │ └─base::withCallingHandlers(...) 18. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-multi-stage-search.R:179:3'): data.table and DuckDB self-search produce the same entities ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::multi_stage_search(...) at test-multi-stage-search.R:179:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(multi_stage_search, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, class_list))`(...) 4. └─joinery:::.run_staged_search(...) 5. └─joinery (local) run_one(...) 6. └─joinery (local) orient(b_tbl, b_id, t_tbl, t_id, "forward") 7. └─joinery::search_candidates(...) 8. ├─S7::S7_dispatch() 9. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 10. └─joinery (local) run_core(...) 11. └─joinery::prepare_search_data(base_table, base_id, strategy) 12. ├─S7::S7_dispatch() 13. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 14. └─joinery::duckdb_batch_plan(...) 15. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 16. └─joinery (local) get_total_ram() 17. ├─base::suppressWarnings(...) 18. │ └─base::withCallingHandlers(...) 19. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-on-missing-renormalise.R:110:5'): DuckDB: penalise / renormalise match the data.table backend (dedup) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-on-missing-renormalise.R:110:5 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "toy"), "id", s) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 6. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::duckdb_batch_plan(...) 10. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 11. └─joinery (local) get_total_ram() 12. ├─base::suppressWarnings(...) 13. │ └─base::withCallingHandlers(...) 14. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-preflight-guardrails.R:66:3'): DuckDB detect_duplicates warns once globally (not per batch) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─base::withCallingHandlers(...) at test-preflight-guardrails.R:66:3 2. ├─base::suppressMessages(...) 3. │ └─base::withCallingHandlers(...) 4. ├─dplyr::collect(...) 5. └─joinery::detect_duplicates(dplyr::tbl(con, "t"), "id", s) 6. ├─S7::S7_dispatch() 7. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 8. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 9. ├─S7::S7_dispatch() 10. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 11. └─joinery::duckdb_batch_plan(...) 12. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 13. └─joinery (local) get_total_ram() 14. ├─base::suppressWarnings(...) 15. │ └─base::withCallingHandlers(...) 16. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-rarity-scope.R:148:3'): global-rarity dedup matches on data.table and DuckDB ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-rarity-scope.R:148:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(dplyr::tbl(con, "d"), "id", s) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 6. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::duckdb_batch_plan(...) 10. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 11. └─joinery (local) get_total_ram() 12. ├─base::suppressWarnings(...) 13. │ └─base::withCallingHandlers(...) 14. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-score-token-set-semantics.R:42:3'): DuckDB dedup: repeated tokens do not inflate score past sum(weights) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::detect_duplicates(...) at test-score-token-set-semantics.R:42:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-score-token-set-semantics.R:62:3'): backend parity: set-semantics scores agree on data.table and DuckDB ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-score-token-set-semantics.R:62:3 2. ├─dplyr::collect(...) 3. └─joinery::detect_duplicates(...) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 6. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::duckdb_batch_plan(...) 10. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 11. └─joinery (local) get_total_ram() 12. ├─base::suppressWarnings(...) 13. │ └─base::withCallingHandlers(...) 14. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-search-chunking.R:53:3'): duckdb_batch_plan(atomic_blocks=TRUE) keeps blocks whole ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::duckdb_batch_plan(...) at test-search-chunking.R:53:3 2. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 3. └─joinery (local) get_total_ram() 4. ├─base::suppressWarnings(...) 5. │ └─base::withCallingHandlers(...) 6. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-search-chunking.R:80:3'): atomic_blocks does not change the non-atomic plan schema ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::duckdb_batch_plan(...) at test-search-chunking.R:80:3 2. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 3. └─joinery (local) get_total_ram() 4. ├─base::suppressWarnings(...) 5. │ └─base::withCallingHandlers(...) 6. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-search-chunking.R:116:3'): chunked search_candidates is identical to monolithic ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─data.table::as.data.table(...) at test-search-chunking.R:116:3 2. ├─dplyr::collect(...) 3. └─joinery::search_candidates(...) 4. ├─S7::S7_dispatch() 5. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 6. └─joinery (local) run_core(...) 7. └─joinery::prepare_search_data(base_table, base_id, strategy) 8. ├─S7::S7_dispatch() 9. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 10. └─joinery::duckdb_batch_plan(...) 11. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 12. └─joinery (local) get_total_ram() 13. ├─base::suppressWarnings(...) 14. │ └─base::withCallingHandlers(...) 15. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-search-chunking.R:142:5'): chunked match_id is globally unique and stable across runs ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery (local) run() at test-search-chunking.R:148:3 2. ├─data.table::as.data.table(...) at test-search-chunking.R:142:5 3. ├─dplyr::collect(...) 4. └─joinery::search_candidates(...) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-search-chunking.R:189:3'): no block_by: auto degrades to monolithic, explicit chunk_by aborts ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─dplyr::collect(...) at test-search-chunking.R:189:3 2. └─joinery::search_candidates(...) 3. ├─S7::S7_dispatch() 4. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 5. └─joinery (local) run_core(...) 6. └─joinery::prepare_search_data(base_table, base_id, strategy) 7. ├─S7::S7_dispatch() 8. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 9. └─joinery::duckdb_batch_plan(...) 10. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 11. └─joinery (local) get_total_ram() 12. ├─base::suppressWarnings(...) 13. │ └─base::withCallingHandlers(...) 14. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test-search-chunking.R:222:3'): a failing chunk is isolated; good blocks survive; recorded in failed_chunks ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─testthat::expect_warning(...) at test-search-chunking.R:222:3 2. │ └─testthat:::quasi_capture(...) 3. │ ├─testthat (local) .capture(...) 4. │ │ └─base::withCallingHandlers(...) 5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 6. ├─testthat::with_mocked_bindings(...) 7. └─joinery::search_candidates(...) 8. ├─S7::S7_dispatch() 9. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 10. └─joinery::duckdb_batch_plan(...) 11. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 12. └─joinery (local) get_total_ram() 13. ├─base::suppressWarnings(...) 14. │ └─base::withCallingHandlers(...) 15. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_aip.R:218:3'): DuckDB and data.table backends produce identical registries ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery:::prepare_auxiliary_registry(duck, "id", simple_strategy()) at test_aip.R:218:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(prepare_auxiliary_registry, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(data, id, aux_strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_aip.R:236:3'): compute_aip works with mixed DuckDB and data.table inputs ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery:::prepare_auxiliary_registry(duck, "id", simple_strategy()) at test_aip.R:236:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(prepare_auxiliary_registry, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(data, id, aux_strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_methods_duckdb.R:25:3'): compute_rarity() works for DuckDB backend ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::prepare_search_data(data = db_tbl, id = "id_base", strategy = yp_strategy) at test_methods_duckdb.R:25:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::duckdb_batch_plan(...) 5. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 6. └─joinery (local) get_total_ram() 7. ├─base::suppressWarnings(...) 8. │ └─base::withCallingHandlers(...) 9. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_methods_duckdb.R:95:3'): DuckDB backend matches data.table backend for duplicate detection ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. ├─dplyr::collect(detect_duplicates(duck_tbl, "id_base", strategy)) at test_methods_duckdb.R:95:3 2. └─joinery::detect_duplicates(duck_tbl, "id_base", strategy) 3. ├─S7::S7_dispatch() 4. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 5. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 6. ├─S7::S7_dispatch() 7. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 8. └─joinery::duckdb_batch_plan(...) 9. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 10. └─joinery (local) get_total_ram() 11. ├─base::suppressWarnings(...) 12. │ └─base::withCallingHandlers(...) 13. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_methods_duckdb.R:135:3'): deduplicate_table() works and matches data.table backend ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::detect_duplicates(duck_tbl, "id_base", strategy) at test_methods_duckdb.R:135:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(detect_duplicates, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::prepare_search_data(base_table, id, strategy, control = control) 5. ├─S7::S7_dispatch() 6. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 7. └─joinery::duckdb_batch_plan(...) 8. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 9. └─joinery (local) get_total_ram() 10. ├─base::suppressWarnings(...) 11. │ └─base::withCallingHandlers(...) 12. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_methods_duckdb.R:471:3'): prepare_search_data() works on a 3-row DuckDB table ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::prepare_search_data(duck_tbl, "id", strat) at test_methods_duckdb.R:471:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 4. └─joinery::duckdb_batch_plan(...) 5. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 6. └─joinery (local) get_total_ram() 7. ├─base::suppressWarnings(...) 8. │ └─base::withCallingHandlers(...) 9. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_methods_duckdb.R:506:3'): search_candidates() works on small DuckDB tables (token strategy) ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::search_candidates(...) at test_methods_duckdb.R:506:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 4. └─joinery (local) run_core(...) 5. └─joinery::prepare_search_data(base_table, base_id, strategy) 6. ├─S7::S7_dispatch() 7. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 8. └─joinery::duckdb_batch_plan(...) 9. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 10. └─joinery (local) get_total_ram() 11. ├─base::suppressWarnings(...) 12. │ └─base::withCallingHandlers(...) 13. └─base::system("sysctl -n hw.memsize", intern = TRUE) ── Error ('test_multi_stage_embedding.R:194:3'): DuckDB multi_stage_search() runs token → embedding end-to-end on small tables ── Error in `system("sysctl -n hw.memsize", intern = TRUE)`: error in running command Backtrace: ▆ 1. └─joinery::multi_stage_search(...) at test_multi_stage_embedding.R:194:3 2. ├─S7::S7_dispatch() 3. └─joinery (local) `method(multi_stage_search, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, class_list))`(...) 4. └─joinery:::.run_staged_search(...) 5. └─joinery (local) run_one(...) 6. └─joinery (local) orient(b_tbl, b_id, t_tbl, t_id, "forward") 7. └─joinery::search_candidates(...) 8. ├─S7::S7_dispatch() 9. └─joinery (local) `method(search_candidates, list(new_S3_class("tbl_duckdb_connection"), new_S3_class("tbl_duckdb_connection"), class_character, class_character, joinery::Search_Strategy))`(...) 10. └─joinery (local) run_core(...) 11. └─joinery::prepare_search_data(base_table, base_id, strategy) 12. ├─S7::S7_dispatch() 13. └─joinery (local) `method(prepare_search_data, list(new_S3_class("tbl_duckdb_connection"), class_character, joinery::Search_Strategy))`(...) 14. └─joinery::duckdb_batch_plan(...) 15. └─joinery:::suggest_batch_params(con = con, table = tbl_name, block_by = block_by) 16. └─joinery (local) get_total_ram() 17. ├─base::suppressWarnings(...) 18. │ └─base::withCallingHandlers(...) 19. └─base::system("sysctl -n hw.memsize", intern = TRUE) [ FAIL 43 | WARN 0 | SKIP 5 | PASS 2134 ] Error: ! Test failures. Execution halted * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [11s/11s] OK * checking PDF version of manual ... OK * checking HTML version of manual ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR See ‘/Users/ripley/R/packages/tests-devel/joinery.Rcheck/00check.log’ for details. 86.03 real 72.42 user 12.09 sys