- using R Under development (unstable) (2026-07-21 r90286)
- using platform: x86_64-pc-linux-gnu
- R was compiled by
gcc-16 (Debian 16.1.0-2) 16.1.0
GNU Fortran (Debian 16.1.0-2) 16.1.0
- running under: Debian GNU/Linux forky/sid
- using session charset: UTF-8
* current time: 2026-07-22 14:11:23 UTC
- checking for file ‘dataganger/DESCRIPTION’ ... OK
- this is package ‘dataganger’ version ‘0.6.1’
- package encoding: UTF-8
- checking CRAN incoming feasibility ... [2s/3s] 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 whether package ‘dataganger’ can be installed ... OK
See the install log for details.
- 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 ... [17s/22s] OK
- checking Rd files ... [0s/1s] 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 ... [3s/5s] OK
- checking for unstated dependencies in ‘tests’ ... OK
- checking tests ... [71s/94s] ERROR
Running ‘testthat.R’ [71s/93s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(dataganger)
dataganger 0.6.1
Start the app: dataganger::run_app()
>
> test_check("dataganger")
Loading required package: shiny
Saving _problems/test-cli-execution-81.R
Saving _problems/test-cli-execution-82.R
Saving _problems/test-cli-execution-84.R
i `remove_ids` is TRUE: masking 1 ID column
"id"
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
x cannot open the connection
Saving _problems/test-cli-execution-107.R
x Input file does not exist: /home/hornik/tmp/scratch/Rtmp3LfRfp/file175b008522722/synthetic_bundle.zip
Saving _problems/test-cli-execution-111.R
Saving _problems/test-cli-execution-112.R
Saving _problems/test-cli-execution-113.R
Saving _problems/test-cli-execution-114.R
Saving _problems/test-cli-execution-205.R
Saving _problems/test-cli-execution-206.R
Saving _problems/test-cli-execution-234.R
Saving _problems/test-cli-execution-235.R
Saving _problems/test-cli-execution-241.R
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
Saving _problems/test-cli-execution-309.R
Saving _problems/test-cli-execution-313.R
Saving _problems/test-cli-execution-330.R
Saving _problems/test-cli-execution-334.R
Saving _problems/test-cli-execution-348.R
Saving _problems/test-cli-execution-353.R
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
Saving _problems/test-cli-execution-406.R
Saving _problems/test-cli-execution-411.R
Saving _problems/test-cli-execution-442.R
Saving _problems/test-cli-execution-447.R
Saving _problems/test-cli-execution-477.R
Saving _problems/test-cli-execution-481.R
-- DataGangeR Code Readiness ---------------------------------------------------
6 pass, 0 warn, 0 fail
v Ready: no blocking issues found
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
-- DataGangeR Comparison -------------------------------------------------------
-- Dataset --
* Rows: 5 (original) -> 5 (synthetic)
* Columns: 2 (original) -> 2 (synthetic)
* Type match: 50%
* Missing: 0% (original) -> 0% (synthetic)
-- Numeric -- top 3 by |standardized difference| --
* x: std diff = 0.632
Orig mean (SD): 3 (1.58)
-- Categorical -- top 3 by distributional difference --
* y: p = 0.00794, TVD = 1
Levels: 5 (orig) -> 1 (syn)
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:42] synthesize_synthpop: building synthpop args
[16:12:42] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=200
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:12:42] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:42] synthesize_synthpop: building synthpop args
[16:12:42] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40
Variable(s): group have been changed for synthesis from character to factor.
[16:12:42] synthesize_synthpop: synthpop done
[16:12:42] synthesize_synthpop: building synthpop args
[16:12:42] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40
Variable(s): group have been changed for synthesis from character to factor.
[16:12:42] synthesize_synthpop: synthpop done
Variables changed from character to factor x 1 in syn and 1 in orig
age changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
Variables changed from character to factor x 1 in syn and 1 in orig
age changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:43] synthesize_synthpop: building synthpop args
[16:12:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60
[16:12:43] synthesize_synthpop: synthpop done
-- DataGangeR Roles ------------------------------------------------------------
1 column analysed; 0 user overrides active
-- x (numeric) -> categorical candidate
* Reason: Only a few distinct values appear, so this looks like a coded
category rather than a measurement.
# A tibble: 2 x 2
variable identifies
<chr> <chr>
1 age "none"
2 city ""
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:45] synthesize_synthpop: building synthpop args
[16:12:45] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=40
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:12:45] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:46] synthesize_synthpop: building synthpop args
[16:12:46] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8
[16:12:46] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Synthetic and original data checked with synorig.compare,
looks like no adjustment needed
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:47] synthesize_synthpop: building synthpop args
[16:12:47] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=40
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:12:47] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:49] synthesize_synthpop: building synthpop args
[16:12:49] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=30
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:12:49] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:52] synthesize_synthpop: building synthpop args
[16:12:52] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12
[16:12:52] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
score changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:54] synthesize_synthpop: building synthpop args
[16:12:54] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=200
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:12:54] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:55] synthesize_synthpop: building synthpop args
[16:12:55] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10
Variable(s): name, group have been changed for synthesis from character to factor.
[16:12:55] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 2 in syn and 2 in orig
Factor levels don't match for name levels combined
syn levels a b d e h i j
orig levels a b c d e f g h i j
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i `remove_ids` is TRUE: masking 1 ID column
"id"
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:56] synthesize_synthpop: building synthpop args
[16:12:56] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10
Variable(s): name, group have been changed for synthesis from character to factor.
[16:12:56] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 2 in syn and 2 in orig
Factor levels don't match for name levels combined
syn levels a b c d e g i
orig levels a b c d e f g h i j
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:57] synthesize_synthpop: building synthpop args
[16:12:57] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10
Variable(s): name, group have been changed for synthesis from character to factor.
[16:12:57] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 2 in syn and 2 in orig
Factor levels don't match for name levels combined
syn levels a b c e f h i
orig levels a b c d e f g h i j
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:57] synthesize_synthpop: building synthpop args
[16:12:57] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10
Variable(s): name, group have been changed for synthesis from character to factor.
[16:12:57] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 2 in syn and 2 in orig
Factor levels don't match for name levels combined
syn levels a b c d e g i
orig levels a b c d e f g h i j
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:58] synthesize_synthpop: building synthpop args
[16:12:58] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:12:58] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:58] synthesize_synthpop: building synthpop args
[16:12:58] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:12:58] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:58] synthesize_synthpop: building synthpop args
[16:12:58] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:12:58] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:59] synthesize_synthpop: building synthpop args
[16:12:59] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:12:59] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:59] synthesize_synthpop: building synthpop args
[16:12:59] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:12:59] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:12:59] synthesize_synthpop: building synthpop args
[16:12:59] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:12:59] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:00] synthesize_synthpop: building synthpop args
[16:13:00] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:00] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:00] synthesize_synthpop: building synthpop args
[16:13:00] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:00] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:00] synthesize_synthpop: building synthpop args
[16:13:00] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:00] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Not enough numeric columns (0) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:01] synthesize_synthpop: building synthpop args
[16:13:01] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:01] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:01] synthesize_synthpop: building synthpop args
[16:13:01] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:01] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Variables changed from character to factor x 1 in syn and 1 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:02] synthesize_synthpop: building synthpop args
[16:13:02] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=200
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:02] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Saving _problems/test-mod-export-30.R
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Saving _problems/test-mod-export-40.R
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:10] synthesize_synthpop: building synthpop args
[16:13:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:10] synthesize_synthpop: synthpop done
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:12] generate: starting on 200 row(s) x 10 column(s), engine=auto
[16:13:12] generate: pipeline ...
[16:13:12] synthesize_synthpop: building synthpop args
[16:13:12] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=200
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:12] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
[16:13:12] generate: pipeline done: 0.62s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:13] generate: starting on 200 row(s) x 10 column(s), engine=auto
[16:13:13] generate: pipeline ...
[16:13:13] synthesize_synthpop: building synthpop args
[16:13:13] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=200
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:13] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
[16:13:14] generate: pipeline done: 0.77s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:14] generate: starting on 200 row(s) x 10 column(s), engine=auto
[16:13:14] generate: pipeline ...
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:14] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:14] generate: pipeline ...
[16:13:14] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:15] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:15] generate: pipeline ...
[16:13:15] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:15] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:15] generate: pipeline ...
[16:13:15] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:16] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:16] generate: pipeline ...
[16:13:16] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:16] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:16] generate: pipeline ...
[16:13:16] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:17] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:17] generate: pipeline ...
[16:13:17] generate: pipeline done: 0.00s
[16:13:17] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:13:17] generate: pipeline ...
[16:13:17] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:19] generate: starting on 10 row(s) x 2 column(s), engine=auto
[16:13:19] generate: pipeline ...
[16:13:19] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:20] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:13:20] generate: pipeline ...
[16:13:20] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:20] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:13:20] generate: pipeline ...
[16:13:20] generate: pipeline done: 0.00s
[16:13:21] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:13:21] generate: pipeline ...
[16:13:21] generate: pipeline done: 0.02s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:21] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:13:21] generate: pipeline ...
[16:13:21] generate: pipeline done: 0.00s
[16:13:21] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:13:21] generate: pipeline ...
[16:13:21] generate: pipeline done: 0.04s
[16:13:22] upload: profile_data ...
[16:13:22] upload: profile_data done: 0.03s
[16:13:23] upload: profile_data ...
[16:13:24] upload: profile_data done: 0.10s
[16:13:25] upload: profile_data ...
[16:13:25] upload: profile_data done: 0.03s
[16:13:28] upload: profile_data ...
[16:13:28] upload: profile_data done: 0.05s
[16:13:29] upload: profile_data ...
[16:13:29] upload: profile_data done: 0.03s
[16:13:30] upload: profile_data ...
[16:13:30] upload: profile_data done: 0.04s
[16:13:31] upload: profile_data ...
[16:13:31] upload: profile_data done: 0.03s
[16:13:35] upload: profile_data ...
[16:13:35] upload: profile_data done: 0.02s
[16:13:36] upload: profile_data ...
[16:13:36] upload: profile_data done: 0.03s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"analytics"
-- Level
"hifi"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: FALSE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "redact"
* Preserve correlations: "high"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
! Risk acknowledged by user
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"demo"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: TRUE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "none"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"analytics"
-- Level
"hifi"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: FALSE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "redact"
* Preserve correlations: "high"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
! Risk acknowledged by user
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"development"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: FALSE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "moderate"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Relationship-aware synthesis uses synthpop when installed.
[16:13:44] upload: profile_data ...
[16:13:44] upload: profile_data done: 0.07s
[16:13:44] upload: profile_data ...
[16:13:44] upload: profile_data done: 0.03s
[16:13:45] upload: profile_data ...
[16:13:45] upload: profile_data done: 0.03s
[16:13:45] upload: profile_data ...
[16:13:45] upload: profile_data done: 0.02s
[16:13:46] upload: profile_data ...
[16:13:46] upload: profile_data done: 0.02s
[16:13:46] upload: profile_data ...
[16:13:46] upload: profile_data done: 0.01s
Tracing function "url" in package "namespace:base"
Tracing function "socketConnection" in package "namespace:base"
Tracing function "download.file" in package "namespace:utils"
Untracing function "download.file" in package "namespace:utils"
Untracing function "socketConnection" in package "namespace:base"
Untracing function "url" in package "namespace:base"
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
Attaching package: 'bslib'
The following object is masked from 'package:utils':
page
i `remove_ids` is TRUE: masking 1 ID column
"record_id"
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:49] synthesize_synthpop: building synthpop args
[16:13:49] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30
Variable(s): city, group have been changed for synthesis from character to factor.
[16:13:49] synthesize_synthpop: synthpop done
Variables changed from character to factor x 2 in syn and 2 in orig
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
-- DataGangeR Privacy Check (pre stage) ----------------------------------------
-- x HIGH severity (1) --
* patient_id: ID column detected
Recommendation: Review whether this column should be excluded from synthetic
output
-- DataGangeR Privacy Check (pre stage) ----------------------------------------
v No flags raised.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:49] synthesize_synthpop: building synthpop args
[16:13:49] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=50
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:49] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
-- DataGangeR Profile ----------------------------------------------------------
3 rows x 1 column
-- Column types --
* numeric: 1
-- Missingness summary --
Total missing: 0 / 3 (0%)
-- Per-column details --
-- x (numeric)
* Missing: 0 (0%)
* Distinct values: 3
* Range: [1, 3]
* Mean (SD): 2 (1)
* Median (IQR): 2 (1.5 -- 2.5)
i Generated at 2026-07-22 16:13:49.960636
Tracing function "browseURL" in package "namespace:utils"
-- Pre-filled GitHub issue --
GitHub issue URL:
Issue body:
Untracing function "browseURL" in package "namespace:utils"
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:51] synthesize_synthpop: building synthpop args
[16:13:51] synthesize_synthpop: calling synthpop::syn() on 8 column(s), k=200
Warning: In your synthesis there are numeric variables with 5 or fewer levels: smoking_status.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:51] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"demo"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: TRUE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "none"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:53] synthesize_synthpop: building synthpop args
[16:13:53] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30
Variable(s): y have been changed for synthesis from character to factor.
[16:13:53] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:53] synthesize_synthpop: building synthpop args
[16:13:53] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:13:53] synthesize_synthpop: synthpop done
[16:13:53] synthesize_synthpop: building synthpop args
[16:13:53] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:13:53] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:53] synthesize_synthpop: building synthpop args
[16:13:53] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:13:53] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i `remove_ids` is TRUE: masking 1 ID column
"id"
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25
Variable(s): group have been changed for synthesis from character to factor.
Warning: In your synthesis there are numeric variables with 5 or fewer levels: score.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): group have been changed for synthesis from character to factor.
Warning: In your synthesis there are numeric variables with 5 or fewer levels: score.
Consider changing them to factors. You can do it using parameter 'minnumlevels'.
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: marginal bridge for 1 column(s)
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:54] synthesize_synthpop: building synthpop args
[16:13:54] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=50
Variable(s): month, region have been changed for synthesis from character to factor.
[16:13:54] synthesize_synthpop: synthpop done
[16:13:54] synthesize_synthpop: marginal bridge for 1 column(s)
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:55] synthesize_synthpop: building synthpop args
[16:13:55] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60
[16:13:55] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:55] synthesize_synthpop: building synthpop args
[16:13:55] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400
[16:13:55] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:55] synthesize_synthpop: building synthpop args
[16:13:55] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200
Variable(s): arm have been changed for synthesis from character to factor.
[16:13:55] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:55] synthesize_synthpop: building synthpop args
[16:13:55] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300
[16:13:55] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:13:55] synthesize_synthpop: building synthpop args
[16:13:55] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:55] synthesize_synthpop: synthpop done
[16:13:55] synthesize_synthpop: building synthpop args
[16:13:55] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80
Variable(s): grp have been changed for synthesis from character to factor.
[16:13:55] synthesize_synthpop: synthpop done
[ FAIL 46 | WARN 42 | SKIP 11 | PASS 1251 ]
══ Skipped tests (11) ══════════════════════════════════════════════════════════
• CLI shim subprocess is covered by source tests and manual smoke tests (1):
'test-cli-execution.R:118:3'
• On CRAN (2): 'test-app-css.R:13:3', 'test-run-synthesis-async.R:22:3'
• R/ source not available (installed package) (1): 'test-no-network.R:61:3'
• ggplot2 is installed (1): 'test-compare-synthetic.R:191:3'
• shiny, bslib, and DT are installed — skipping absent-package test (1):
'test-run-app.R:4:3'
• synthpop is installed (4): 'test-synthesize-data.R:163:3',
'test-synthesize-data.R:192:3', 'test-synthpop-fidelity.R:71:3',
'test-synthpop-fidelity.R:83:3'
• write_sas did not preserve labelling on this platform (1):
'test-read-input.R:70:5'
══ Failed tests ════════════════════════════════════════════════════════════════
── Failure ('test-cli-execution.R:81:3'): synthesize command writes the restructured bundle zip ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Failure ('test-cli-execution.R:82:3'): synthesize command writes the restructured bundle zip ──
Expected `file.exists(out_path)` to be TRUE.
Differences:
`actual`: FALSE
`expected`: TRUE
── Error ('test-cli-execution.R:84:3'): synthesize command writes the restructured bundle zip ──
Error in `utils::unzip(out_path, list = TRUE)`: zip file '/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b001a6dc5af/synthetic_bundle.zip' cannot be opened
Backtrace:
▆
1. └─utils::unzip(out_path, list = TRUE) at test-cli-execution.R:84:3
── Failure ('test-cli-execution.R:104:3'): inspect command summarizes bundle without original data ──
Expected `dataganger_cli(...)` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Failure ('test-cli-execution.R:111:3'): inspect command summarizes bundle without original data ──
Expected `code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Failure ('test-cli-execution.R:112:3'): inspect command summarizes bundle without original data ──
Expected `any(grepl("Synthetic bundle", out, fixed = TRUE))` to be TRUE.
Differences:
`actual`: FALSE
`expected`: TRUE
── Failure ('test-cli-execution.R:113:3'): inspect command summarizes bundle without original data ──
Expected `any(grepl("Variables:", out, fixed = TRUE))` to be TRUE.
Differences:
`actual`: FALSE
`expected`: TRUE
── Failure ('test-cli-execution.R:114:3'): inspect command summarizes bundle without original data ──
Expected `any(grepl("Privacy", out, fixed = TRUE))` to be TRUE.
Differences:
`actual`: FALSE
`expected`: TRUE
── Failure ('test-cli-execution.R:205:3'): synthesize --engine internal works (explicit flag) ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Failure ('test-cli-execution.R:206:3'): synthesize --engine internal works (explicit flag) ──
Expected `file.exists(out_path)` to be TRUE.
Differences:
`actual`: FALSE
`expected`: TRUE
── Failure ('test-cli-execution.R:234:3'): synthesize routes development to synthpop and records provenance (no --engine) ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Failure ('test-cli-execution.R:235:3'): synthesize routes development to synthpop and records provenance (no --engine) ──
Expected `file.exists(out_path)` to be TRUE.
Differences:
`actual`: FALSE
`expected`: TRUE
── Error ('test-cli-execution.R:241:3'): synthesize routes development to synthpop and records provenance (no --engine) ──
Error in `open.connection(con, "rb")`: cannot open the connection
Backtrace:
▆
1. └─jsonlite::read_json(file.path(extract_dir, "agent", "manifest.json")) at test-cli-execution.R:241:3
2. └─jsonlite::parse_json(...)
3. └─jsonlite:::parse_and_simplify(...)
4. └─jsonlite:::parseJSON(txt, bigint_as_char)
5. └─jsonlite:::parse_con(txt, bigint_as_char)
6. ├─base::open(con, "rb")
7. └─base::open.connection(con, "rb")
── Failure ('test-cli-execution.R:309:3'): synthesize with YAML engine auto keeps demo on internal ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Error ('test-cli-execution.R:313:3'): synthesize with YAML engine auto keeps demo on internal ──
Error in `open.connection(con, "rb")`: cannot open the connection
Backtrace:
▆
1. └─jsonlite::read_json(file.path(extract_dir, "agent", "manifest.json")) at test-cli-execution.R:313:3
2. └─jsonlite::parse_json(...)
3. └─jsonlite:::parse_and_simplify(...)
4. └─jsonlite:::parseJSON(txt, bigint_as_char)
5. └─jsonlite:::parse_con(txt, bigint_as_char)
6. ├─base::open(con, "rb")
7. └─base::open.connection(con, "rb")
── Failure ('test-cli-execution.R:330:3'): synthesize with YAML engine auto uses synthpop for development when available ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Error ('test-cli-execution.R:334:3'): synthesize with YAML engine auto uses synthpop for development when available ──
Error in `open.connection(con, "rb")`: cannot open the connection
Backtrace:
▆
1. └─jsonlite::read_json(file.path(extract_dir, "agent", "manifest.json")) at test-cli-execution.R:334:3
2. └─jsonlite::parse_json(...)
3. └─jsonlite:::parse_and_simplify(...)
4. └─jsonlite:::parseJSON(txt, bigint_as_char)
5. └─jsonlite:::parse_con(txt, bigint_as_char)
6. ├─base::open(con, "rb")
7. └─base::open.connection(con, "rb")
── Failure ('test-cli-execution.R:348:3'): synthesize records internal engine and no synthpop citation for demo ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Error ('test-cli-execution.R:353:3'): synthesize records internal engine and no synthpop citation for demo ──
Error in `open.connection(con, "rb")`: cannot open the connection
Backtrace:
▆
1. └─jsonlite::read_json(file.path(extract_dir, "agent", "manifest.json")) at test-cli-execution.R:353:3
2. └─jsonlite::parse_json(...)
3. └─jsonlite:::parse_and_simplify(...)
4. └─jsonlite:::parseJSON(txt, bigint_as_char)
5. └─jsonlite:::parse_con(txt, bigint_as_char)
6. ├─base::open(con, "rb")
7. └─base::open.connection(con, "rb")
── Failure ('test-cli-execution.R:406:3'): yaml engine is honored unless CLI --engine overrides it ──
Expected `result$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Error ('test-cli-execution.R:411:3'): yaml engine is honored unless CLI --engine overrides it ──
Error in `open.connection(con, "rb")`: cannot open the connection
Backtrace:
▆
1. └─jsonlite::read_json(file.path(extract_dir, "agent", "manifest.json")) at test-cli-execution.R:411:3
2. └─jsonlite::parse_json(...)
3. └─jsonlite:::parse_and_simplify(...)
4. └─jsonlite:::parseJSON(txt, bigint_as_char)
5. └─jsonlite:::parse_con(txt, bigint_as_char)
6. ├─base::open(con, "rb")
7. └─base::open.connection(con, "rb")
── Failure ('test-cli-execution.R:442:3'): synthesize --recipe reads combined spec and roles ──
Expected `res$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Error ('test-cli-execution.R:447:3'): synthesize --recipe reads combined spec and roles ──
Error in `(function (path, write = FALSE, call = caller_env()) { if (is.raw(path)) { return(rawConnection(path, "rb")) } if (!is.character(path)) { return(path) } if (is_url(path)) { ext <- tolower(tools::file_ext(path)) if (ext %in% c("gz", "bz2", "xz", "zip")) { cli::cli_abort("Remote compressed files must be handled upstream of this function.", .internal = TRUE) } if (requireNamespace("curl", quietly = TRUE)) { con <- curl::curl(path) } else { inform("`curl` package not installed, falling back to using `url()`") con <- url(path) } return(con) } path <- enc2utf8(path) if (write) { path <- normalizePath_utf8(path, mustWork = FALSE) } else { path <- check_path(path) } p <- split_path_ext(basename_utf8(path)) extension <- p$extension formats <- archive_formats(extension) while (is.null(formats) && nzchar(extension)) { extension <- split_path_ext(extension)$extension formats <- archive_formats(extension) } needs_archive <- !is.null(formats) && (write || extension != "zip") if (needs_archive) { reason <- glue("to {if (write) 'write' else 'read'} `.{p$extension}` files.") rlang::check_installed("archive", reason = reason, call = call) if (write) { if (is.null(formats[[1]])) { return(archive::file_write(path, filter = formats[[2]])) } return(archive::archive_write(path, p$path, format = formats[[1]], filter = formats[[2]])) } if (is.null(formats[[1]])) { return(archive::file_read(path, filter = formats[[2]])) } return(archive::archive_read(path, format = formats[[1]], filter = formats[[2]])) } if (!write) { compression <- detect_compression(path) } else { compression <- NA } if (is.na(compression)) { compression <- tools::file_ext(path) } if (write && compression == "zip") { cli::cli_abort(c("Can only read from, not write to, {.val .zip} files.", i = "Install the {.pkg archive} package to write {.val .zip} files."), call = call) } switch(compression, gz = gzfile(path), bz2 = bzfile(path), xz = xzfile(path), zip = zipfile(path), if (!has_trailing_newline(path)) { file(path) } else { path }) })("/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b005092d858/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b005092d858/ex/synthetic_data.csv' does not exist.
Backtrace:
▆
1. ├─readr::read_csv(file.path(ex, "synthetic_data.csv"), show_col_types = FALSE) at test-cli-execution.R:447:3
2. │ └─vroom::vroom(...)
3. │ └─vroom:::vroom_(...)
4. └─vroom (local) `<fn>`("/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b005092d858/ex/synthetic_data.csv")
5. └─vroom:::check_path(path)
6. └─cli::cli_abort(msg, call = call)
7. └─rlang::abort(...)
── Failure ('test-cli-execution.R:477:3'): synthesize --roles reproduces the supplied roles (drops a column marked direct) ──
Expected `res$code` to be identical to 0L.
Differences:
`actual`: 1
`expected`: 0
── Error ('test-cli-execution.R:481:3'): synthesize --roles reproduces the supplied roles (drops a column marked direct) ──
Error in `(function (path, write = FALSE, call = caller_env()) { if (is.raw(path)) { return(rawConnection(path, "rb")) } if (!is.character(path)) { return(path) } if (is_url(path)) { ext <- tolower(tools::file_ext(path)) if (ext %in% c("gz", "bz2", "xz", "zip")) { cli::cli_abort("Remote compressed files must be handled upstream of this function.", .internal = TRUE) } if (requireNamespace("curl", quietly = TRUE)) { con <- curl::curl(path) } else { inform("`curl` package not installed, falling back to using `url()`") con <- url(path) } return(con) } path <- enc2utf8(path) if (write) { path <- normalizePath_utf8(path, mustWork = FALSE) } else { path <- check_path(path) } p <- split_path_ext(basename_utf8(path)) extension <- p$extension formats <- archive_formats(extension) while (is.null(formats) && nzchar(extension)) { extension <- split_path_ext(extension)$extension formats <- archive_formats(extension) } needs_archive <- !is.null(formats) && (write || extension != "zip") if (needs_archive) { reason <- glue("to {if (write) 'write' else 'read'} `.{p$extension}` files.") rlang::check_installed("archive", reason = reason, call = call) if (write) { if (is.null(formats[[1]])) { return(archive::file_write(path, filter = formats[[2]])) } return(archive::archive_write(path, p$path, format = formats[[1]], filter = formats[[2]])) } if (is.null(formats[[1]])) { return(archive::file_read(path, filter = formats[[2]])) } return(archive::archive_read(path, format = formats[[1]], filter = formats[[2]])) } if (!write) { compression <- detect_compression(path) } else { compression <- NA } if (is.na(compression)) { compression <- tools::file_ext(path) } if (write && compression == "zip") { cli::cli_abort(c("Can only read from, not write to, {.val .zip} files.", i = "Install the {.pkg archive} package to write {.val .zip} files."), call = call) } switch(compression, gz = gzfile(path), bz2 = bzfile(path), xz = xzfile(path), zip = zipfile(path), if (!has_trailing_newline(path)) { file(path) } else { path }) })("/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b0034014995/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b0034014995/ex/synthetic_data.csv' does not exist.
Backtrace:
▆
1. ├─readr::read_csv(file.path(ex, "synthetic_data.csv"), show_col_types = FALSE) at test-cli-execution.R:481:3
2. │ └─vroom::vroom(...)
3. │ └─vroom:::vroom_(...)
4. └─vroom (local) `<fn>`("/home/hornik/tmp/scratch/Rtmp3LfRfp/file175b0034014995/ex/synthetic_data.csv")
5. └─vroom:::check_path(path)
6. └─cli::cli_abort(msg, call = call)
7. └─rlang::abort(...)
── Error ('test-export-synthetic.R:23:3'): export_synthetic() writes the full bundle file set ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger::export_synthetic(...) at test-export-synthetic.R:23:3
2. └─dataganger:::render_comparison_report(...)
3. └─rmarkdown::render(...)
4. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
5. └─xfun::write_utf8(res, output)
6. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
7. └─base::file(con, "w")
── Error ('test-export-synthetic.R:112:3'): export_synthetic() folds guidance and privacy text into human/human.md ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger::export_synthetic(...) at test-export-synthetic.R:112:3
2. └─dataganger:::render_comparison_report(...)
3. └─rmarkdown::render(...)
4. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
5. └─xfun::write_utf8(res, output)
6. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
7. └─base::file(con, "w")
── Error ('test-export-synthetic.R:253:3'): export_synthetic() sanitizes spreadsheet-dangerous cells ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger::export_synthetic(syn, path = out_dir, format = "dir") at test-export-synthetic.R:253:3
2. └─dataganger:::render_comparison_report(...)
3. └─rmarkdown::render(...)
4. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
5. └─xfun::write_utf8(res, output)
6. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
7. └─base::file(con, "w")
── Error ('test-export-synthetic.R:274:3'): export_synthetic() warns but succeeds on exact-row matches by default ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. ├─testthat::expect_warning(...) at test-export-synthetic.R:274: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. └─dataganger::export_synthetic(...)
8. └─dataganger:::render_comparison_report(...)
9. └─rmarkdown::render(...)
10. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
11. └─xfun::write_utf8(res, output)
12. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
13. └─base::file(con, "w")
── Error ('test-export-synthetic.R:334:3'): export_synthetic() writes zip output ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger::export_synthetic(...) at test-export-synthetic.R:334:3
2. └─dataganger:::render_comparison_report(...)
3. └─rmarkdown::render(...)
4. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
5. └─xfun::write_utf8(res, output)
6. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
7. └─base::file(con, "w")
── Error ('test-manifest-lens.R:24:3'): manifest.json contains Lens source field ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test() at test-manifest-lens.R:24:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:29:3'): manifest.json contains original_rows_bucket when original is supplied ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test(n = 10L) at test-manifest-lens.R:29:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:35:3'): manifest.json contains original_columns_count when original is supplied ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test(n = 10L) at test-manifest-lens.R:35:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:40:3'): manifest.json raw_rows_included is always false ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test() at test-manifest-lens.R:40:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:45:3'): manifest.json free_text_included is always false ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test() at test-manifest-lens.R:45:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:50:3'): manifest.json ids_included is always false ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test() at test-manifest-lens.R:50:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:62:3'): manifest.json plots_included is true when the comparison report is written ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test(include_report = TRUE) at test-manifest-lens.R:62:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:67:3'): manifest.json factor_levels_included is true for marginal synthesis ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test(purpose = "development") at test-manifest-lens.R:67:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:77:3'): manifest.json factor_levels_included is false for schema synthesis ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger::export_synthetic(...) at test-manifest-lens.R:77:3
2. └─dataganger:::render_comparison_report(...)
3. └─rmarkdown::render(...)
4. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
5. └─xfun::write_utf8(res, output)
6. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
7. └─base::file(con, "w")
── Error ('test-manifest-lens.R:87:3'): manifest.json numeric_ranges_included is always false ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test() at test-manifest-lens.R:87:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:92:3'): manifest.json policy_file is null ──────
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger (local) make_manifest_for_test() at test-manifest-lens.R:92:3
2. └─dataganger::export_synthetic(...) at test-manifest-lens.R:14:3
3. └─dataganger:::render_comparison_report(...)
4. └─rmarkdown::render(...)
5. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
6. └─xfun::write_utf8(res, output)
7. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
8. └─base::file(con, "w")
── Error ('test-manifest-lens.R:102:3'): manifest.json original_rows_bucket is null when original not supplied ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. └─dataganger::export_synthetic(synthetic, path = out, format = "zip") at test-manifest-lens.R:102:3
2. └─dataganger:::render_comparison_report(...)
3. └─rmarkdown::render(...)
4. └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
5. └─xfun::write_utf8(res, output)
6. └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
7. └─base::file(con, "w")
── Error ('test-mod-export.R:30:5'): download filename is a seeded bundle zip ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. ├─shiny::testServer(...) at test-mod-export.R:29:3
2. │ ├─shiny:::withMockContext(...)
3. │ │ ├─shiny::isolate(...)
4. │ │ │ ├─shiny::..stacktraceoff..(...)
5. │ │ │ └─ctx$run(...)
6. │ │ │ ├─promises::with_promise_domain(...)
7. │ │ │ │ └─domain$wrapSync(expr)
8. │ │ │ ├─shiny::withReactiveDomain(...)
9. │ │ │ │ └─promises::with_promise_domain(...)
10. │ │ │ │ └─domain$wrapSync(expr)
11. │ │ │ │ └─base::force(expr)
12. │ │ │ ├─shiny:::with_otel_span_context(...)
13. │ │ │ │ └─base::force(expr)
14. │ │ │ ├─shiny::captureStackTraces(...)
15. │ │ │ │ └─promises::with_promise_domain(...)
16. │ │ │ │ └─domain$wrapSync(expr)
17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack)
18. │ │ │ └─env$runWith(self, func)
19. │ │ │ └─shiny (local) contextFunc()
20. │ │ │ └─shiny::..stacktraceon..(expr)
21. │ │ ├─shiny::withReactiveDomain(...)
22. │ │ │ └─promises::with_promise_domain(...)
23. │ │ │ └─domain$wrapSync(expr)
24. │ │ │ └─base::force(expr)
25. │ │ └─withr::with_options(...)
26. │ │ └─base::force(code)
27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env())
28. ├─testthat::expect_match(output$download, "synthetic_data_seed1_bundle\\.zip$") at test-mod-export.R:30:5
29. │ └─testthat::quasi_label(enquo(object), label)
30. │ └─rlang::eval_bare(expr, quo_get_env(quo))
31. ├─output$download
32. ├─shiny:::`$.shinyoutput`(output, download)
33. │ └─.subset2(x, "impl")$getOutput(name)
34. │ └─private$renderFile(self$ns(name), download)
35. │ └─download$content(file)
36. │ └─base::tryCatch(...)
37. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
38. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
39. │ └─value[[3L]](cond)
40. │ └─base::stop(e)
41. └─shiny (local) `<fn>`(`<smplErrr>`)
── Error ('test-mod-export.R:40:5'): download filename reflects state$seed_used ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. ├─shiny::testServer(...) at test-mod-export.R:39:3
2. │ ├─shiny:::withMockContext(...)
3. │ │ ├─shiny::isolate(...)
4. │ │ │ ├─shiny::..stacktraceoff..(...)
5. │ │ │ └─ctx$run(...)
6. │ │ │ ├─promises::with_promise_domain(...)
7. │ │ │ │ └─domain$wrapSync(expr)
8. │ │ │ ├─shiny::withReactiveDomain(...)
9. │ │ │ │ └─promises::with_promise_domain(...)
10. │ │ │ │ └─domain$wrapSync(expr)
11. │ │ │ │ └─base::force(expr)
12. │ │ │ ├─shiny:::with_otel_span_context(...)
13. │ │ │ │ └─base::force(expr)
14. │ │ │ ├─shiny::captureStackTraces(...)
15. │ │ │ │ └─promises::with_promise_domain(...)
16. │ │ │ │ └─domain$wrapSync(expr)
17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack)
18. │ │ │ └─env$runWith(self, func)
19. │ │ │ └─shiny (local) contextFunc()
20. │ │ │ └─shiny::..stacktraceon..(expr)
21. │ │ ├─shiny::withReactiveDomain(...)
22. │ │ │ └─promises::with_promise_domain(...)
23. │ │ │ └─domain$wrapSync(expr)
24. │ │ │ └─base::force(expr)
25. │ │ └─withr::with_options(...)
26. │ │ └─base::force(code)
27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env())
28. ├─testthat::expect_match(output$download, "synthetic_data_seed12345_bundle\\.zip$") at test-mod-export.R:40:5
29. │ └─testthat::quasi_label(enquo(object), label)
30. │ └─rlang::eval_bare(expr, quo_get_env(quo))
31. ├─output$download
32. ├─shiny:::`$.shinyoutput`(output, download)
33. │ └─.subset2(x, "impl")$getOutput(name)
34. │ └─private$renderFile(self$ns(name), download)
35. │ └─download$content(file)
36. │ └─base::tryCatch(...)
37. │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
38. │ └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
39. │ └─value[[3L]](cond)
40. │ └─base::stop(e)
41. └─shiny (local) `<fn>`(`<smplErrr>`)
── Error ('test-mod-export.R:156:5'): module export manifest hashes match after post-generation spec edits ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. ├─shiny::testServer(...) at test-mod-export.R:155:3
2. │ ├─shiny:::withMockContext(...)
3. │ │ ├─shiny::isolate(...)
4. │ │ │ ├─shiny::..stacktraceoff..(...)
5. │ │ │ └─ctx$run(...)
6. │ │ │ ├─promises::with_promise_domain(...)
7. │ │ │ │ └─domain$wrapSync(expr)
8. │ │ │ ├─shiny::withReactiveDomain(...)
9. │ │ │ │ └─promises::with_promise_domain(...)
10. │ │ │ │ └─domain$wrapSync(expr)
11. │ │ │ │ └─base::force(expr)
12. │ │ │ ├─shiny:::with_otel_span_context(...)
13. │ │ │ │ └─base::force(expr)
14. │ │ │ ├─shiny::captureStackTraces(...)
15. │ │ │ │ └─promises::with_promise_domain(...)
16. │ │ │ │ └─domain$wrapSync(expr)
17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack)
18. │ │ │ └─env$runWith(self, func)
19. │ │ │ └─shiny (local) contextFunc()
20. │ │ │ └─shiny::..stacktraceon..(expr)
21. │ │ ├─shiny::withReactiveDomain(...)
22. │ │ │ └─promises::with_promise_domain(...)
23. │ │ │ └─domain$wrapSync(expr)
24. │ │ │ └─base::force(expr)
25. │ │ └─withr::with_options(...)
26. │ │ └─base::force(code)
27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env())
28. ├─dataganger (local) build_export(out_dir) at test-mod-export.R:156:5
29. │ └─dataganger::export_synthetic(...)
30. │ └─dataganger:::render_comparison_report(...)
31. │ └─rmarkdown::render(...)
32. │ └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
33. │ └─xfun::write_utf8(res, output)
34. │ └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
35. │ └─base::file(con, "w")
36. └─base::.handleSimpleError(...)
37. └─shiny (local) h(simpleError(msg, call))
── Error ('test-mod-export.R:215:5'): export module records acknowledgment and clears blockers once approved ──
Error in `file(con, "w")`: cannot open the connection
Backtrace:
▆
1. ├─shiny::testServer(...) at test-mod-export.R:213:3
2. │ ├─shiny:::withMockContext(...)
3. │ │ ├─shiny::isolate(...)
4. │ │ │ ├─shiny::..stacktraceoff..(...)
5. │ │ │ └─ctx$run(...)
6. │ │ │ ├─promises::with_promise_domain(...)
7. │ │ │ │ └─domain$wrapSync(expr)
8. │ │ │ ├─shiny::withReactiveDomain(...)
9. │ │ │ │ └─promises::with_promise_domain(...)
10. │ │ │ │ └─domain$wrapSync(expr)
11. │ │ │ │ └─base::force(expr)
12. │ │ │ ├─shiny:::with_otel_span_context(...)
13. │ │ │ │ └─base::force(expr)
14. │ │ │ ├─shiny::captureStackTraces(...)
15. │ │ │ │ └─promises::with_promise_domain(...)
16. │ │ │ │ └─domain$wrapSync(expr)
17. │ │ │ │ └─base::withCallingHandlers(expr, error = doCaptureStack)
18. │ │ │ └─env$runWith(self, func)
19. │ │ │ └─shiny (local) contextFunc()
20. │ │ │ └─shiny::..stacktraceon..(expr)
21. │ │ ├─shiny::withReactiveDomain(...)
22. │ │ │ └─promises::with_promise_domain(...)
23. │ │ │ └─domain$wrapSync(expr)
24. │ │ │ └─base::force(expr)
25. │ │ └─withr::with_options(...)
26. │ │ └─base::force(code)
27. │ └─rlang::eval_tidy(quosure, mask, rlang::caller_env())
28. ├─dataganger (local) build_export(out_dir) at test-mod-export.R:215:5
29. │ └─dataganger::export_synthetic(...)
30. │ └─dataganger:::render_comparison_report(...)
31. │ └─rmarkdown::render(...)
32. │ └─knitr::knit(knit_input, knit_output, envir = envir, quiet = quiet)
33. │ └─xfun::write_utf8(res, output)
34. │ └─base::writeLines(enc2utf8(text), con, ..., useBytes = TRUE)
35. │ └─base::file(con, "w")
36. └─base::.handleSimpleError(...)
37. └─shiny (local) h(simpleError(msg, call))
[ FAIL 46 | WARN 42 | SKIP 11 | PASS 1251 ]
Error:
! Test failures.
Execution halted
- checking for unstated dependencies in vignettes ... OK
- checking package vignettes ... OK
- checking re-building of vignette outputs ... [2s/3s] OK
- checking PDF version of manual ... [4s/7s] OK
- checking HTML version of manual ... [1s/1s] OK
- checking for non-standard things in the check directory ... OK
- DONE
Status: 1 ERROR