R Under development (unstable) (2026-02-25 r89481 ucrt) -- "Unsuffered Consequences" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # 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(riskdiff) > > test_check("riskdiff") Model did not converge Waiting for profiling to be done... Waiting for profiling to be done... Error in separation detection: no terms component nor attribute High condition number detected: 9.6008703031543e+19 Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Trying identity link... Using starting values: 1, 0, 0.56 Identity link error: cannot find valid starting values: please specify some Trying log link... log link error: no valid set of coefficients has been found: please supply starting values Trying logit link... Boundary detection results: Boundary detected: TRUE Boundary type: upper_boundary_near Probability range: [0.126172, 1] Note: Model converged but MLE is on parameter space boundary. Boundary type: upper_boundary_near ✓logit link converged Trying identity link... Using starting values: 1, 0, 0.56 Identity link error: cannot find valid starting values: please specify some Trying log link... log link error: no valid set of coefficients has been found: please supply starting values Trying logit link... Boundary detection results: Boundary detected: TRUE Boundary type: upper_boundary_near Probability range: [0.126172, 1] Note: Model converged but MLE is on parameter space boundary. Boundary type: upper_boundary_near ✓logit link converged Trying log link... log link error: no valid set of coefficients has been found: please supply starting values Trying identity link... Using starting values: 1, 0, 0.56 Identity link error: cannot find valid starting values: please specify some Trying logit link... Boundary detection results: Boundary detected: TRUE Boundary type: upper_boundary_near Probability range: [0.126172, 1] Note: Model converged but MLE is on parameter space boundary. Boundary type: upper_boundary_near ✓logit link converged Trying logit link... Boundary detection results: Boundary detected: TRUE Boundary type: upper_boundary_near Probability range: [0.126172, 1] Note: Model converged but MLE is on parameter space boundary. Boundary type: upper_boundary_near ✓logit link converged Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Formula: outcome ~ exposure + age Sample size: 100 Trying identity link... Using starting values: 0, 1, 0.496 Identity link error: cannot find valid starting values: please specify some Trying log link... Boundary detection results: Boundary detected: TRUE Boundary type: lower_boundary_near Probability range: [0, 0.682164] Note: Model converged but MLE is on parameter space boundary. Boundary type: lower_boundary_near ✓log link converged ⚠ Perfect or quasi-perfect separation detected. Results may be unreliable. ⚠ Boundary case detected: lower_boundary_near Using robust CI method: bootstrap Waiting for profiling to be done... Formula: outcome ~ exposure + age Sample size: 100 Trying identity link... Using starting values: 0.391, 0.492, 0.5 Identity link error: cannot find valid starting values: please specify some Trying log link... Boundary detection results: Boundary detected: FALSE Boundary type: none Probability range: [0.390771, 0.409964] ✓log link converged Insufficient data in stratum (n=5). Skipping. No variation in outcome in this stratum. Skipping. Error in separation detection: no terms component nor attribute High condition number detected: 39079478727571456 Error in separation detection: no terms component nor attribute Boundary detection results: Boundary detected: FALSE Boundary type: none Probability range: [0.27, 0.95] Extreme fitted probabilities detected Boundary detection results: Boundary detected: TRUE Boundary type: both_boundaries_with_separation Probability range: [0, 1] Separation detected: TRUE Boundary detection results: Boundary detected: TRUE Boundary type: lower_boundary_near Probability range: [0, 0.009259] Boundary detection behavior summary: high_risk : detected none perfect_separation : detected both_boundaries_with_separation very_low_risk : detected lower_boundary_near Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... ⚠ 1 of 3 analyses had MLE on parameter space boundary. Robust confidence intervals were used. Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Sample size: 100 Trying identity link... Using starting values: 0.239, 0.322 Boundary detection results: Boundary detected: FALSE Boundary type: none Probability range: [0.12963, 0.23913] ✓identity link converged Waiting for profiling to be done... Formula: outcome ~ exposure Trying identity link... Using starting values: 0.239, 0.322 Boundary detection results: Boundary detected: FALSE Boundary type: none Probability range: [0.12963, 0.23913] ✓identity link converged Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Enhanced test suite for calc_risk_diff completed successfully! Tests include: ✓ Basic functionality with standard and Cachar-inspired data ✓ Tobacco/areca nut combination exposures (tobacco_areca_both) ✓ Multiple stratification and adjustment scenarios ✓ Model convergence challenges and robustness ✓ Missing data handling ✓ Confidence interval validation ✓ Integration with package datasets ✓ Performance testing with larger datasets Total test scenarios: ~40 comprehensive test cases Waiting for profiling to be done... Waiting for profiling to be done... Sample size: 1000 Trying identity link... Using starting values: 0.194, 0.008 Boundary detection results: Boundary detected: FALSE Boundary type: none Probability range: [0.194175, 0.202062] ✓identity link converged Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Plots saved to: plots Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... Waiting for profiling to be done... [ FAIL 0 | WARN 160 | SKIP 3 | PASS 600 ] ══ Skipped tests (3) ═══════════════════════════════════════════════════════════ • Cannot modify locked namespace bindings (1): 'test-boundary-detection-enhanced.R:227:3' • Mocking failed, but basic functionality works (1): 'test-formatting-enhanced.R:59:5' • empty test (1): [ FAIL 0 | WARN 160 | SKIP 3 | PASS 600 ] > > proc.time() user system elapsed 37.82 4.29 42.39