CRAN Package Check Results for Package dataganger

Last updated on 2026-07-23 08:49:34 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-gcc 0.6.1 7.39 122.15 129.54 ERROR
r-devel-linux-x86_64-fedora-clang 0.6.1 18.00 290.25 308.25 OK
r-devel-linux-x86_64-fedora-gcc 0.6.1 129.14 OK
r-devel-windows-x86_64 0.6.1 15.00 219.00 234.00 OK
r-patched-linux-x86_64 0.6.1 10.57 164.01 174.58 ERROR
r-release-macos-arm64 0.6.1 2.00 54.00 56.00 OK
r-release-macos-x86_64 0.6.1 8.00 301.00 309.00 OK
r-release-windows-x86_64 0.6.1 17.00 224.00 241.00 OK
r-oldrel-macos-arm64 0.6.1 OK
r-oldrel-macos-x86_64 0.6.1 7.00 284.00 291.00 OK

Check Details

Version: 0.6.1
Check: tests
Result: 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 Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.6.1
Check: tests
Result: ERROR Running ‘testthat.R’ [100s/137s] 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/RtmplaPIWR/file10842813ceb375/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. [12:56:58] synthesize_synthpop: building synthpop args [12:56:58] 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'. [12:56:59] 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. [12:56:59] synthesize_synthpop: building synthpop args [12:56:59] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [12:57:00] synthesize_synthpop: synthpop done [12:57:00] synthesize_synthpop: building synthpop args [12:57:00] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [12:57:00] 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. [12:57:00] synthesize_synthpop: building synthpop args [12:57:00] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [12:57:00] 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. [12:57:06] synthesize_synthpop: building synthpop args [12:57:06] 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'. [12:57:06] 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. [12:57:08] synthesize_synthpop: building synthpop args [12:57:08] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8 [12:57:09] 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. [12:57:09] synthesize_synthpop: building synthpop args [12:57:09] 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'. [12:57:09] 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. [12:57:13] synthesize_synthpop: building synthpop args [12:57:13] 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'. [12:57: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 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. [12:57:17] synthesize_synthpop: building synthpop args [12:57:17] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12 [12:57:17] 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. [12:57:19] synthesize_synthpop: building synthpop args [12:57:19] 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'. [12:57:19] 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. [12:57:21] synthesize_synthpop: building synthpop args [12:57:21] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [12:57:21] 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. [12:57:23] synthesize_synthpop: building synthpop args [12:57:23] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [12:57:23] 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. [12:57:24] synthesize_synthpop: building synthpop args [12:57:24] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [12:57:24] 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. [12:57:25] synthesize_synthpop: building synthpop args [12:57:25] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [12:57:25] 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. [12:57:25] synthesize_synthpop: building synthpop args [12:57:25] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:25] 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. [12:57:26] synthesize_synthpop: building synthpop args [12:57:26] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:26] 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. [12:57:26] synthesize_synthpop: building synthpop args [12:57:26] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:26] 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. [12:57:27] synthesize_synthpop: building synthpop args [12:57:27] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:27] 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. [12:57:28] synthesize_synthpop: building synthpop args [12:57:28] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:28] 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. [12:57:28] synthesize_synthpop: building synthpop args [12:57:28] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:28] 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. [12:57:29] synthesize_synthpop: building synthpop args [12:57:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:29] 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. [12:57:29] synthesize_synthpop: building synthpop args [12:57:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:29] 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. [12:57:29] synthesize_synthpop: building synthpop args [12:57:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:29] 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. [12:57:30] synthesize_synthpop: building synthpop args [12:57:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:30] 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. [12:57:31] synthesize_synthpop: building synthpop args [12:57:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:57:31] 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. [12:57:32] synthesize_synthpop: building synthpop args [12:57:32] 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'. [12:57:32] 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. [12:57:44] synthesize_synthpop: building synthpop args [12:57:44] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25 Variable(s): grp have been changed for synthesis from character to factor. [12:57:44] 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. [12:57:47] generate: starting on 200 row(s) x 10 column(s), engine=auto [12:57:47] generate: pipeline ... [12:57:47] synthesize_synthpop: building synthpop args [12:57:47] 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'. [12:57: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 [12:57:48] generate: pipeline done: 1.28s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:49] generate: starting on 200 row(s) x 10 column(s), engine=auto [12:57:49] generate: pipeline ... [12:57:49] synthesize_synthpop: building synthpop args [12:57:49] 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'. [12:57: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 [12:57:50] generate: pipeline done: 1.26s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:51] generate: starting on 200 row(s) x 10 column(s), engine=auto [12:57:51] generate: pipeline ... i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:51] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:51] generate: pipeline ... [12:57:51] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:52] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:52] generate: pipeline ... [12:57:52] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:53] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:53] generate: pipeline ... [12:57:53] 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. [12:57:54] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:54] generate: pipeline ... [12:57:54] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:55] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:55] generate: pipeline ... [12:57:55] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:55] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:55] generate: pipeline ... [12:57:55] generate: pipeline done: 0.00s [12:57:56] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:57:56] generate: pipeline ... [12:57:56] 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. [12:57:57] generate: starting on 10 row(s) x 2 column(s), engine=auto [12:57:57] generate: pipeline ... [12:57:57] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:58] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:57:58] generate: pipeline ... [12:57:58] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:57:59] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:57:59] generate: pipeline ... [12:57:59] generate: pipeline done: 0.00s [12:57:59] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:57:59] generate: pipeline ... [12:57:59] generate: pipeline done: 0.05s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:00] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:58:00] generate: pipeline ... [12:58:00] generate: pipeline done: 0.00s [12:58:00] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:58:00] generate: pipeline ... [12:58:00] generate: pipeline done: 0.03s [12:58:01] upload: profile_data ... [12:58:01] upload: profile_data done: 0.05s [12:58:02] upload: profile_data ... [12:58:02] upload: profile_data done: 0.05s [12:58:04] upload: profile_data ... [12:58:04] upload: profile_data done: 0.06s [12:58:06] upload: profile_data ... [12:58:06] upload: profile_data done: 0.05s [12:58:07] upload: profile_data ... [12:58:07] upload: profile_data done: 0.05s [12:58:09] upload: profile_data ... [12:58:09] upload: profile_data done: 0.05s [12:58:10] upload: profile_data ... [12:58:10] upload: profile_data done: 0.06s [12:58:15] upload: profile_data ... [12:58:15] upload: profile_data done: 0.01s [12:58:17] upload: profile_data ... [12:58:17] upload: profile_data done: 0.05s 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. [12:58:27] upload: profile_data ... [12:58:27] upload: profile_data done: 0.06s [12:58:28] upload: profile_data ... [12:58:28] upload: profile_data done: 0.10s [12:58:29] upload: profile_data ... [12:58:29] upload: profile_data done: 0.03s [12:58:29] upload: profile_data ... [12:58:29] upload: profile_data done: 0.04s [12:58:29] upload: profile_data ... [12:58:29] upload: profile_data done: 0.02s [12:58:30] upload: profile_data ... [12:58:30] upload: profile_data done: 0.03s 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. [12:58:34] synthesize_synthpop: building synthpop args [12:58:34] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): city, group have been changed for synthesis from character to factor. [12:58:34] 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. [12:58:34] synthesize_synthpop: building synthpop args [12:58:34] 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'. [12:58:34] 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 12:58:35.716073 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. [12:58:37] synthesize_synthpop: building synthpop args [12:58:37] 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'. [12:58:37] 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. [12:58:41] synthesize_synthpop: building synthpop args [12:58:41] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): y have been changed for synthesis from character to factor. [12:58:41] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:41] synthesize_synthpop: building synthpop args [12:58:41] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:58:41] synthesize_synthpop: synthpop done [12:58:41] synthesize_synthpop: building synthpop args [12:58:41] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:58:41] 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. [12:58:41] synthesize_synthpop: building synthpop args [12:58:41] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:58:41] 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" [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] 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'. [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] 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'. [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: marginal bridge for 1 column(s) i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=50 Variable(s): month, region have been changed for synthesis from character to factor. [12:58:43] synthesize_synthpop: synthpop done [12:58:43] synthesize_synthpop: marginal bridge for 1 column(s) i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:43] synthesize_synthpop: building synthpop args [12:58:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [12:58:43] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:44] synthesize_synthpop: building synthpop args [12:58:44] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400 [12:58:44] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:44] synthesize_synthpop: building synthpop args [12:58:44] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200 Variable(s): arm have been changed for synthesis from character to factor. [12:58:44] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:44] synthesize_synthpop: building synthpop args [12:58:44] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300 [12:58:44] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:58:44] synthesize_synthpop: building synthpop args [12:58:44] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [12:58:44] synthesize_synthpop: synthpop done [12:58:44] synthesize_synthpop: building synthpop args [12:58:44] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [12:58:44] 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/RtmplaPIWR/file108428807b6dd/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/RtmplaPIWR/file1084286908b46e/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmplaPIWR/file1084286908b46e/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/RtmplaPIWR/file1084286908b46e/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/RtmplaPIWR/file1084281b4ba216/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmplaPIWR/file1084281b4ba216/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/RtmplaPIWR/file1084281b4ba216/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 Flavor: r-patched-linux-x86_64