Last updated on 2026-10-27 22:57:46 CET.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 2.0.1 | 47.50 | 772.01 | 819.51 | OK | |
| r-devel-linux-x86_64-debian-gcc | 2.0.1 | 28.60 | 531.31 | 559.91 | OK | |
| r-devel-linux-x86_64-fedora-clang | 2.0.1 | 34.00 | 529.97 | 563.97 | OK | |
| r-devel-linux-x86_64-fedora-gcc | 2.0.1 | 32.00 | 508.54 | 540.54 | OK | |
| r-devel-windows-x86_64 | 2.0.1 | 50.00 | 649.00 | 699.00 | OK | |
| r-patched-linux-x86_64 | 2.0.1 | 49.02 | 738.67 | 787.69 | OK | |
| r-release-linux-x86_64 | 2.0.1 | 44.34 | 739.74 | 784.08 | OK | |
| r-release-macos-arm64 | 2.0.1 | 11.00 | 132.00 | 143.00 | OK | |
| r-release-macos-x86_64 | 2.0.1 | 36.00 | 551.00 | 587.00 | OK | |
| r-release-windows-x86_64 | 2.0.1 | 84.00 | 508.00 | 592.00 | ERROR | |
| r-oldrel-macos-arm64 | 2.0.1 | 12.00 | 143.00 | 155.00 | OK | |
| r-oldrel-macos-x86_64 | 2.0.1 | 37.00 | 654.00 | 691.00 | OK | |
| r-oldrel-windows-x86_64 | 2.0.1 | 73.00 | 800.00 | 873.00 | OK |
Version: 2.0.1
Check: tests
Result: ERROR
Running 'testthat.R' [102s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
> library(testthat)
> library(tabxplor)
>
> # Pin BLAS/OpenMP BEFORE the workers spawn: an OpenBLAS-pthread build fixes its thread count from
> # the environment at process startup. Without it each worker multi-threads on its own and the pool
> # oversubscribes the machine several-fold. setup.R re-pins at runtime; see CLAUDE.md § Testing.
> if (Sys.getenv("OMP_NUM_THREADS") == "") Sys.setenv(OMP_NUM_THREADS = "1")
>
> # PHYSICAL cores, not SMT siblings. `parallel::detectCores()` reports 12 on this 6-core box and
> # `parallelly::availableCores(logical = FALSE)` cannot tell either under WSL2, so read the kernel's
> # own topology: one entry per core, shared by its siblings. Measured here, 8 workers on 6 real
> # cores buy 6 % over 6 workers while oversubscribing a shared machine.
> tx_physical_cores <- function() {
+ sib <- Sys.glob("/sys/devices/system/cpu/cpu[0-9]*/topology/thread_siblings_list")
+ if (length(sib)) {
+ ids <- vapply(sib, function(f) tryCatch(readLines(f, warn = FALSE)[[1]],
+ error = function(e) NA_character_), character(1))
+ ids <- unique(ids[!is.na(ids)])
+ if (length(ids)) return(length(ids))
+ }
+ max(1L, parallel::detectCores() %/% 2L)
+ }
>
> # Respect an explicit TESTTHAT_CPUS; otherwise use the physical cores, but ONLY off-CRAN (on CRAN
> # both guards fail -> testthat's default 2 workers x 1 thread = policy-safe).
> if (Sys.getenv("TESTTHAT_CPUS") == "" &&
+ identical(Sys.getenv("NOT_CRAN"), "true") &&
+ Sys.getenv("_R_CHECK_LIMIT_CORES_") == "") {
+ Sys.setenv(TESTTHAT_CPUS = max(1L, min(8L, tx_physical_cores())))
+ }
>
> test_check("tabxplor")
Starting 2 test processes.
> test-tab-xl.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH/tab_xl_test.xlsx'
> test-tab-xl.R: i "married": binary outcome detected -> `family = "binomial"` (logit).
> test-tab-xl.R: This message is displayed once per session.
> test-tab-xl.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH\file608a45e814cf3.xlsx'
> test-tab-xl.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH\file608a459667417.xlsx'
> test-tab-xl.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH\file608a4988726d.xlsx'
> test-tab-classes.R: i year: one row per value.
> test-tab-classes.R: i Choose otherwise with `shape = c(year = "quintiles")`.
> test-tab-classes.R: This message is displayed once per session.
> test-tab-xl.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH\file608a44430937.xlsx'
> test-tab-xl.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH\file608a47c453a62.xlsx'
> test-tab-classes.R: ::: {.tabxplor-tab}
> test-tab-classes.R: | race | | No answer | Never married | Separated | Divorced | Widowed | Married | | Total |
> test-tab-classes.R: |:----------------|-|--------------:|----------------------:|-----------------:|------------:|-----------------:|------------------:|-|-------------------:|
> test-tab-classes.R: | | | *marital* | | | | | | | |
> test-tab-classes.R: | | | *<row%>* | | | | | | | *<row% (n)>* |
> test-tab-classes.R: | | | | | | | | | | |
> test-tab-classes.R: | Other | | [0%]{.o1} | [32%***]{.p1 } | [6%***]{.o1} | 11%*** | [4%***]{.u1} | 48% | | 100% ( 1 945) |
> test-tab-classes.R: | Black | | 0% | [42%***]{.p2 .o1} | [6%***]{.o1} | 16% | 8% | [28%***]{.m2} | | 100% ( 3 094) |
> test-tab-classes.R: | White | | 0% | 21%*** | 3%*** | 16% | 9%* | 51%*** | | 100% (16 261) |
> test-tab-classes.R: |**Total** | | **0%** | **25%** | **3%** | **16%** | **8%** | **47%** | | **100%** (21 300) |
> test-tab-classes.R: | pvalue (Chi2 !) | | <0.01% | | | | | | | |
> test-tab-classes.R: | Cramér's V | | 0.15 | | | | | | | |
> test-tab-classes.R:
> test-tab-classes.R: Percentage points (risk) difference: cell ≥ the Total row **[+5]{.p1}**; **[+10]{.p2}**; **[+20]{.p3}**; **[+30]{.p4}** points; cell ≤ the Total row **[-5]{.m1}**; **[-10]{.m2}**; **[-20]{.m3}**; **[-30]{.m4}** points. Background colour, relative risk (ratio): cell ≥ the Total row [×1.5]{.o1}; [×2]{.o3}; cell ≤ the Total row [÷2]{.u1}; [÷4]{.u3}.\
> test-tab-classes.R: \*\*\*: significantly different from the reference category (in bold) at the 99.9% confidence level; \*\*: at the 99% level; \*: at the 95% level; no star: not significant.\
> test-tab-classes.R: A note
> test-tab-classes.R: :::
> test-tab-classes.R:
> test-tab-classes.R: ::: {.tabxplor-tab}
> test-tab-classes.R: | race | | No answer | Never married | Separated | Divorced | Widowed | Married | | Total |
> test-tab-classes.R: |:----------------|-|--------------:|----------------------:|-----------------:|------------:|-----------------:|------------------:|-|-------------------:|
> test-tab-classes.R: | | | *marital* | | | | | | | |
> test-tab-classes.R: | | | *<row%>* | | | | | | | *<row% (n)>* |
> test-tab-classes.R: | | | | | | | | | | |
> test-tab-classes.R: | Other | | [0%]{.o1} | [32%***]{.p1 } | [6%***]{.o1} | 11%*** | [4%***]{.u1} | 48% | | 100% ( 1 945) |
> test-tab-classes.R: | Black | | 0% | [42%***]{.p2 .o1} | [6%***]{.o1} | 16% | 8% | [28%***]{.m2} | | 100% ( 3 094) |
> test-tab-classes.R: | White | | 0% | 21%*** | 3%*** | 16% | 9%* | 51%*** | | 100% (16 261) |
> test-tab-classes.R: |**Total** | | **0%** | **25%** | **3%** | **16%** | **8%** | **47%** | | **100%** (21 300) |
> test-tab-classes.R: | pvalue (Chi2 !) | | <0.01% | | | | | | | |
> test-tab-classes.R: | Cramér's V | | 0.15 | | | | | | | |
> test-tab-classes.R:
> test-tab-classes.R: Percentage points (risk) difference: cell ≥ the Total row **[+5]{.p1}**; **[+10]{.p2}**; **[+20]{.p3}**; **[+30]{.p4}** points; cell ≤ the Total row **[-5]{.m1}**; **[-10]{.m2}**; **[-20]{.m3}**; **[-30]{.m4}** points. Background colour, relative risk (ratio): cell ≥ the Total row [×1.5]{.o1}; [×2]{.o3}; cell ≤ the Total row [÷2]{.u1}; [÷4]{.u3}.\
> test-tab-classes.R: \*\*\*: significantly different from the reference category (in bold) at the 99.9% confidence level; \*\*: at the 99% level; \*: at the 95% level; no star: not significant.\
> test-tab-classes.R: A note
> test-tab-classes.R: :::
> test-tab-classes.R:
> test-tab-classes.R: ::: {.tabxplor-tab}
> test-tab-classes.R: | race | | No answer | Never married | Separated | Divorced | Widowed | Married | | Total |
> test-tab-classes.R: |:----------------|-|--------------:|----------------------:|-----------------:|------------:|-----------------:|------------------:|-|-------------------:|
> test-tab-classes.R: | | | *marital* | | | | | | | |
> test-tab-classes.R: | | | *<row%>* | | | | | | | *<row% (n)>* |
> test-tab-classes.R: | | | | | | | | | | |
> test-tab-classes.R: | Other | | [0%]{.o1} | [32%***]{.p1 } | [6%***]{.o1} | 11%*** | [4%***]{.u1} | 48% | | 100% ( 1 945) |
> test-tab-classes.R: | Black | | 0% | [42%***]{.p2 .o1} | [6%***]{.o1} | 16% | 8% | [28%***]{.m2} | | 100% ( 3 094) |
> test-tab-classes.R: | White | | 0% | 21%*** | 3%*** | 16% | 9%* | 51%*** | | 100% (16 261) |
> test-tab-classes.R: |**Total** | | **0%** | **25%** | **3%** | **16%** | **8%** | **47%** | | **100%** (21 300) |
> test-tab-classes.R: | pvalue (Chi2 !) | | <0.01% | | | | | | | |
> test-tab-classes.R: | Cramér's V | | 0.15 | | | | | | | |
> test-tab-classes.R:
> test-tab-classes.R: Percentage points (risk) difference: cell ≥ the Total row **[+5]{.p1}**; **[+10]{.p2}**; **[+20]{.p3}**; **[+30]{.p4}** points; cell ≤ the Total row **[-5]{.m1}**; **[-10]{.m2}**; **[-20]{.m3}**; **[-30]{.m4}** points. Background colour, relative risk (ratio): cell ≥ the Total row [×1.5]{.o1}; [×2]{.o3}; cell ≤ the Total row [÷2]{.u1}; [÷4]{.u3}.\
> test-tab-classes.R: \*\*\*: significantly different from the reference category (in bold) at the 99.9% confidence level; \*\*: at the 99% level; \*: at the 95% level; no star: not significant.\
> test-tab-classes.R: A note
> test-tab-classes.R: :::
> test-tab-classes.R:
> test-tab-classes.R: ::: {.tabxplor-tab}
> test-tab-classes.R: | race | |No answer |Never married |Separated |Divorced |Widowed | Married | | Total |
> test-tab-classes.R: |:--------|-|----------:|--------------:|----------:|---------:|--------:|-------------:|-|-------------------:|
> test-tab-classes.R: | | | *marital* | | | | | | | |
> test-tab-classes.R: | | | *<row%>* | | | | | | | *<row% (n)>* |
> test-tab-classes.R: | | | | | | | | | | |
> test-tab-classes.R: | Other | | 0% | [32%]{.p1} | 6% | 11% | 4% | 48% | | 100% ( 1 959) |
> test-tab-classes.R: | Black | | 0% | [42%]{.p2} | 6% | 16% | 8% | [28%]{.m2} | | 100% ( 3 129) |
> test-tab-classes.R: | White | | 0% | 21% | 3% | 16% | 9% | 51% | | 100% (16 395) |
> test-tab-classes.R: |**Total**| | **0%** | **25%** | **3%** | **16%** | **8%** | **47%** | | **100%** (21 483) |
> test-tab-classes.R:
> test-tab-classes.R: Percentage points (risk) difference: cell ≥ the Total row **[+5]{.p1}**; **[+10]{.p2}**; **[+20]{.p3}**; **[+30]{.p4}** points; cell ≤ the Total row **[-5]{.m1}**; **[-10]{.m2}**; **[-20]{.m3}**; **[-30]{.m4}** points.
> test-tab-classes.R: :::
> test-tab-classes.R:
> test-tab-classes.R: i year: one row per value.
> test-tab-classes.R: i Choose otherwise with `shape = c(year = "quintiles")`.
> test-tab-classes.R: This message is displayed once per session.
> test-tab-display.R: i "married": binary outcome detected -> `family = "binomial"` (logit).
> test-tab-display.R: This message is displayed once per session.
> test-tab-display.R: i A total line cannot become a column block: a full total table was added. Use `totaltab = "no"` for no overall column.
> test-tab-display.R: This message is displayed once per session.
> test-tab-display.R: i `display` field "ci" is empty here.
> test-tab.R: 28 rows with zero or NA weights were removed
> test-tab-transpose-render.R: i year: one row per value.
> test-tab-transpose-render.R: i Choose otherwise with `shape = c(year = "quintiles")`.
> test-tab-transpose-render.R: This message is displayed once per session.
> test-tab-transpose-render.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp447yvH\file608a411684bdd.xlsx'
> test-tab-export.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp8ksTxt\file4a598204c6c4f.xlsx'
> test-tab-export.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp8ksTxt\file4a59869da69a2.xlsx'
> test-survey-design.R: i "y": binary outcome detected -> `family = "binomial"` (logit).
> test-survey-design.R: This message is displayed once per session.
> test-survey-design.R: i The proportional-odds assumption is not tested here: the Brant test needs an unweighted fit.
> test-jmvtab.R: v Excel file written to 'D:\temp\2026_10_26_01_50_00_20015\Rtmp8ksTxt\file4a598457f6aba/t.xlsx'
> test-tab-export-prep.R: i A total line cannot become a column block: a full total table was added. Use `totaltab = "no"` for no overall column.
> test-tab-export-prep.R: This message is displayed once per session.
> test-tab-export-prep.R: i year: one row per value.
> test-tab-export-prep.R: i Choose otherwise with `shape = c(year = "quintiles")`.
> test-tab-export-prep.R: This message is displayed once per session.
> test-tab-args.R:
Error:
! testthat subprocess exited in file 'test-tab-args.R'.
Caused by error:
! R session crashed with exit code -1073741819
Backtrace:
▆
1. └─testthat::test_check("tabxplor")
2. └─testthat::test_dir(...)
3. └─testthat:::test_files(...)
4. └─testthat:::test_files_parallel(...)
5. ├─withr::with_dir(...)
6. │ └─base::force(code)
7. ├─testthat::with_reporter(...)
8. │ └─base::tryCatch(...)
9. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
10. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
11. │ └─base (local) doTryCatch(return(expr), name, parentenv, handler)
12. └─testthat:::parallel_event_loop_chunky(queue, reporters, ".")
13. └─queue$poll(Inf)
14. └─base::lapply(...)
15. └─testthat (local) FUN(X[[i]], ...)
16. └─private$handle_error(msg, i)
17. └─cli::cli_abort(...)
18. └─rlang::abort(...)
Execution halted
Flavor: r-release-windows-x86_64