CRAN Package Check Results for Package dataganger

Last updated on 2026-07-31 23:54:51 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.6.1 9.86 177.76 187.62 ERROR
r-devel-linux-x86_64-debian-gcc 0.6.1 5.88 126.92 132.80 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 14.00 203.00 217.00 OK
r-patched-linux-x86_64 0.6.1 11.03 163.98 175.01 ERROR
r-release-linux-x86_64 0.6.1 7.88 164.22 172.10 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 12.00 200.00 212.00 OK
r-oldrel-macos-arm64 0.6.1 2.00 56.00 58.00 OK
r-oldrel-macos-x86_64 0.6.1 7.00 284.00 291.00 OK
r-oldrel-windows-x86_64 0.6.1 19.00 249.00 268.00 OK

Additional issues

ATLAS

Check Details

Version: 0.6.1
Check: tests
Result: ERROR Running ‘testthat.R’ [106s/139s] 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/RtmpDp5wBt/file2ad945b0c7c57/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. [01:17:25] synthesize_synthpop: building synthpop args [01:17:25] 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'. [01:17:25] 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. [01:17:26] synthesize_synthpop: building synthpop args [01:17:26] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [01:17:26] synthesize_synthpop: synthpop done [01:17:26] synthesize_synthpop: building synthpop args [01:17:26] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [01:17:26] 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. [01:17:27] synthesize_synthpop: building synthpop args [01:17:27] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [01:17:27] 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. [01:17:31] synthesize_synthpop: building synthpop args [01:17:31] 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'. [01:17:31] 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. [01:17:33] synthesize_synthpop: building synthpop args [01:17:33] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8 [01:17:33] 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. [01:17:34] synthesize_synthpop: building synthpop args [01:17:34] 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'. [01:17: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 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. [01:17:37] synthesize_synthpop: building synthpop args [01:17:37] 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'. [01:17:37] 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. [01:17:41] synthesize_synthpop: building synthpop args [01:17:41] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12 [01:17:41] 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. [01:17:43] synthesize_synthpop: building synthpop args [01:17:43] 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'. [01:17:44] 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. [01:17:45] synthesize_synthpop: building synthpop args [01:17:45] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [01:17:45] 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. [01:17:46] synthesize_synthpop: building synthpop args [01:17:46] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [01:17:46] 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. [01:17:47] synthesize_synthpop: building synthpop args [01:17:47] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [01:17:47] 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. [01:17:48] synthesize_synthpop: building synthpop args [01:17:48] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [01:17:48] 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. [01:17:48] synthesize_synthpop: building synthpop args [01:17:48] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:48] 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. [01:17:49] synthesize_synthpop: building synthpop args [01:17:49] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:49] 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. [01:17:49] synthesize_synthpop: building synthpop args [01:17:49] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:49] 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. [01:17:50] synthesize_synthpop: building synthpop args [01:17:50] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:50] 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. [01:17:50] synthesize_synthpop: building synthpop args [01:17:50] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:50] 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. [01:17:51] synthesize_synthpop: building synthpop args [01:17:51] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:51] 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. [01:17:51] synthesize_synthpop: building synthpop args [01:17:51] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:51] 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. [01:17:51] synthesize_synthpop: building synthpop args [01:17:51] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:51] 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. [01:17:52] synthesize_synthpop: building synthpop args [01:17:52] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:52] 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. [01:17:53] synthesize_synthpop: building synthpop args [01:17:53] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:53] 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. [01:17:53] synthesize_synthpop: building synthpop args [01:17:53] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [01:17:53] 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. [01:17:55] synthesize_synthpop: building synthpop args [01:17:55] 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'. [01:17:56] 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. [01:18:07] synthesize_synthpop: building synthpop args [01:18:07] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25 Variable(s): grp have been changed for synthesis from character to factor. [01:18:07] 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. [01:18:10] generate: starting on 200 row(s) x 10 column(s), engine=auto [01:18:10] generate: pipeline ... [01:18:10] synthesize_synthpop: building synthpop args [01:18:10] 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'. [01:18:10] 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 [01:18:11] generate: pipeline done: 1.29s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:12] generate: starting on 200 row(s) x 10 column(s), engine=auto [01:18:12] generate: pipeline ... [01:18:12] synthesize_synthpop: building synthpop args [01:18: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'. [01:18: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 [01:18:13] generate: pipeline done: 1.14s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:14] generate: starting on 200 row(s) x 10 column(s), engine=auto [01:18:14] generate: pipeline ... i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:15] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:15] generate: pipeline ... [01:18:15] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:16] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:16] generate: pipeline ... [01:18:16] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:17] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:17] generate: pipeline ... [01:18: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. [01:18:18] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:18] generate: pipeline ... [01:18:18] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:19] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:19] generate: pipeline ... [01:18:19] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:20] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:20] generate: pipeline ... [01:18:20] generate: pipeline done: 0.00s [01:18:20] generate: starting on 3 row(s) x 1 column(s), engine=auto [01:18:20] generate: pipeline ... [01:18:20] 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. [01:18:22] generate: starting on 10 row(s) x 2 column(s), engine=auto [01:18:22] generate: pipeline ... [01:18:22] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:23] generate: starting on 3 row(s) x 4 column(s), engine=auto [01:18:23] generate: pipeline ... [01:18:23] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:24] generate: starting on 3 row(s) x 4 column(s), engine=auto [01:18:24] generate: pipeline ... [01:18:24] generate: pipeline done: 0.01s [01:18:24] generate: starting on 3 row(s) x 4 column(s), engine=auto [01:18:24] generate: pipeline ... [01:18:24] generate: pipeline done: 0.02s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:18:25] generate: starting on 3 row(s) x 4 column(s), engine=auto [01:18:25] generate: pipeline ... [01:18:25] generate: pipeline done: 0.00s [01:18:25] generate: starting on 3 row(s) x 4 column(s), engine=auto [01:18:25] generate: pipeline ... [01:18:25] generate: pipeline done: 0.03s [01:18:26] upload: profile_data ... [01:18:26] upload: profile_data done: 0.06s [01:18:27] upload: profile_data ... [01:18:27] upload: profile_data done: 0.09s [01:18:30] upload: profile_data ... [01:18:30] upload: profile_data done: 0.07s [01:18:33] upload: profile_data ... [01:18:33] upload: profile_data done: 0.07s [01:18:35] upload: profile_data ... [01:18:35] upload: profile_data done: 0.05s [01:18:37] upload: profile_data ... [01:18:37] upload: profile_data done: 0.08s [01:18:38] upload: profile_data ... [01:18:38] upload: profile_data done: 0.05s [01:18:44] upload: profile_data ... [01:18:44] upload: profile_data done: 0.02s [01:18:45] upload: profile_data ... [01:18:46] 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. [01:18:58] upload: profile_data ... [01:18:58] upload: profile_data done: 0.05s [01:18:58] upload: profile_data ... [01:18:59] upload: profile_data done: 0.06s [01:18:59] upload: profile_data ... [01:18:59] upload: profile_data done: 0.06s [01:19:00] upload: profile_data ... [01:19:00] upload: profile_data done: 0.08s [01:19:01] upload: profile_data ... [01:19:01] upload: profile_data done: 0.03s [01:19:01] upload: profile_data ... [01:19:01] upload: profile_data done: 0.02s 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. [01:19:05] synthesize_synthpop: building synthpop args [01:19:05] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): city, group have been changed for synthesis from character to factor. [01:19:05] 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. [01:19:05] synthesize_synthpop: building synthpop args [01:19:05] 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'. [01:19: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 -- 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-31 01:19:06.8237 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. [01:19:08] synthesize_synthpop: building synthpop args [01:19:08] 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'. [01:19:08] 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. [01:19:12] synthesize_synthpop: building synthpop args [01:19:12] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): y have been changed for synthesis from character to factor. [01:19:12] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:12] synthesize_synthpop: building synthpop args [01:19:12] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [01:19:12] synthesize_synthpop: synthpop done [01:19:12] synthesize_synthpop: building synthpop args [01:19:12] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [01:19:12] 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. [01:19:12] synthesize_synthpop: building synthpop args [01:19:12] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [01:19:12] 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" [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] 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'. [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] 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'. [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: marginal bridge for 1 column(s) i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=50 Variable(s): month, region have been changed for synthesis from character to factor. [01:19:14] synthesize_synthpop: synthpop done [01:19:14] synthesize_synthpop: marginal bridge for 1 column(s) i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:14] synthesize_synthpop: building synthpop args [01:19:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [01:19:14] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:15] synthesize_synthpop: building synthpop args [01:19:15] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400 [01:19:15] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:15] synthesize_synthpop: building synthpop args [01:19:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200 Variable(s): arm have been changed for synthesis from character to factor. [01:19:15] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:15] synthesize_synthpop: building synthpop args [01:19:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300 [01:19:15] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [01:19:15] synthesize_synthpop: building synthpop args [01:19:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [01:19:15] synthesize_synthpop: synthpop done [01:19:15] synthesize_synthpop: building synthpop args [01:19:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [01:19:15] 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/RtmpDp5wBt/file2ad9456ec70ea3/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/RtmpDp5wBt/file2ad945716200e4/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpDp5wBt/file2ad945716200e4/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/RtmpDp5wBt/file2ad945716200e4/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/RtmpDp5wBt/file2ad9457272b231/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpDp5wBt/file2ad9457272b231/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/RtmpDp5wBt/file2ad9457272b231/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-clang

Version: 0.6.1
Check: tests
Result: ERROR Running ‘testthat.R’ [75s/98s] 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/Rtmpz3RKdh/file35569f3087bdf8/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:17:15] synthesize_synthpop: building synthpop args [16:17:15] 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:17:15] 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:17:15] synthesize_synthpop: building synthpop args [16:17:15] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [16:17:15] synthesize_synthpop: synthpop done [16:17:15] synthesize_synthpop: building synthpop args [16:17:15] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [16:17:15] 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:17:16] synthesize_synthpop: building synthpop args [16:17:16] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [16:17:16] 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:17:19] synthesize_synthpop: building synthpop args [16:17:19] 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:17: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. [16:17:20] synthesize_synthpop: building synthpop args [16:17:20] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8 [16:17:20] 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:17:20] synthesize_synthpop: building synthpop args [16:17:20] 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:17:20] 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:17:22] synthesize_synthpop: building synthpop args [16:17:22] 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:17:22] 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:17:24] synthesize_synthpop: building synthpop args [16:17:24] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12 [16:17:24] 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:17:26] synthesize_synthpop: building synthpop args [16:17:26] 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:17:26] 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:17:27] synthesize_synthpop: building synthpop args [16:17:27] 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:17: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 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:17:28] synthesize_synthpop: building synthpop args [16:17:28] 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:17: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 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:17:29] synthesize_synthpop: building synthpop args [16:17:29] 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:17: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 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:17:29] synthesize_synthpop: building synthpop args [16:17:29] 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:17: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 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:17:30] synthesize_synthpop: building synthpop args [16:17:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17: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. [16:17:30] synthesize_synthpop: building synthpop args [16:17:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17: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. [16:17:30] synthesize_synthpop: building synthpop args [16:17:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17: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. [16:17:31] synthesize_synthpop: building synthpop args [16:17:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17: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. [16:17:31] synthesize_synthpop: building synthpop args [16:17:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17: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. [16:17:32] synthesize_synthpop: building synthpop args [16:17:32] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17:32] 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:17:32] synthesize_synthpop: building synthpop args [16:17:32] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17:32] 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:17:32] synthesize_synthpop: building synthpop args [16:17:32] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17:32] 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:17:33] synthesize_synthpop: building synthpop args [16:17:33] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17:33] 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:17:33] synthesize_synthpop: building synthpop args [16:17:33] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17:33] 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:17:34] synthesize_synthpop: building synthpop args [16:17:34] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [16:17:34] 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:17:35] synthesize_synthpop: building synthpop args [16:17:35] 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:17:35] 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:17:43] synthesize_synthpop: building synthpop args [16:17:43] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25 Variable(s): grp have been changed for synthesis from character to factor. [16:17:43] 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:17:44] generate: starting on 200 row(s) x 10 column(s), engine=auto [16:17:44] generate: pipeline ... [16:17:44] synthesize_synthpop: building synthpop args [16:17:44] 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:17:44] 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:17:45] generate: pipeline done: 0.93s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:46] generate: starting on 200 row(s) x 10 column(s), engine=auto [16:17:46] generate: pipeline ... [16:17:46] synthesize_synthpop: building synthpop args [16:17:46] 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:17:46] 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:17:46] generate: pipeline done: 0.70s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:47] generate: starting on 200 row(s) x 10 column(s), engine=auto [16:17:47] generate: pipeline ... i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:47] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:47] generate: pipeline ... [16:17:47] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:48] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:48] generate: pipeline ... [16:17:48] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:48] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:48] generate: pipeline ... [16:17:48] 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:17:49] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:49] generate: pipeline ... [16:17:49] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:49] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:49] generate: pipeline ... [16:17:49] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:50] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:50] generate: pipeline ... [16:17:50] generate: pipeline done: 0.00s [16:17:50] generate: starting on 3 row(s) x 1 column(s), engine=auto [16:17:50] generate: pipeline ... [16:17:50] 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:17:51] generate: starting on 10 row(s) x 2 column(s), engine=auto [16:17:51] generate: pipeline ... [16:17:51] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:52] generate: starting on 3 row(s) x 4 column(s), engine=auto [16:17:52] generate: pipeline ... [16:17:52] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:52] generate: starting on 3 row(s) x 4 column(s), engine=auto [16:17:52] generate: pipeline ... [16:17:52] generate: pipeline done: 0.00s [16:17:52] generate: starting on 3 row(s) x 4 column(s), engine=auto [16:17:52] generate: pipeline ... [16:17:52] generate: pipeline done: 0.03s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:17:53] generate: starting on 3 row(s) x 4 column(s), engine=auto [16:17:53] generate: pipeline ... [16:17:53] generate: pipeline done: 0.00s [16:17:53] generate: starting on 3 row(s) x 4 column(s), engine=auto [16:17:53] generate: pipeline ... [16:17:53] generate: pipeline done: 0.02s [16:17:54] upload: profile_data ... [16:17:54] upload: profile_data done: 0.03s [16:17:55] upload: profile_data ... [16:17:55] upload: profile_data done: 0.06s [16:17:57] upload: profile_data ... [16:17:57] upload: profile_data done: 0.05s [16:17:59] upload: profile_data ... [16:18:00] upload: profile_data done: 0.04s [16:18:01] upload: profile_data ... [16:18:01] upload: profile_data done: 0.03s [16:18:02] upload: profile_data ... [16:18:02] upload: profile_data done: 0.03s [16:18:04] upload: profile_data ... [16:18:04] upload: profile_data done: 0.03s [16:18:08] upload: profile_data ... [16:18:08] upload: profile_data done: 0.01s [16:18:09] upload: profile_data ... [16:18:09] upload: profile_data done: 0.04s 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:18:18] upload: profile_data ... [16:18:18] upload: profile_data done: 0.03s [16:18:18] upload: profile_data ... [16:18:18] upload: profile_data done: 0.05s [16:18:19] upload: profile_data ... [16:18:19] upload: profile_data done: 0.02s [16:18:19] upload: profile_data ... [16:18:19] upload: profile_data done: 0.03s [16:18:20] upload: profile_data ... [16:18:20] upload: profile_data done: 0.03s [16:18:20] upload: profile_data ... [16:18:20] upload: profile_data done: 0.02s 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:18:24] synthesize_synthpop: building synthpop args [16:18:24] 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:18:24] 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:18:24] synthesize_synthpop: building synthpop args [16:18:24] 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:18:24] 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-31 16:18:24.999535 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:18:26] synthesize_synthpop: building synthpop args [16:18:26] 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:18:26] 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:18:29] synthesize_synthpop: building synthpop args [16:18:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): y have been changed for synthesis from character to factor. [16:18:29] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:18:29] synthesize_synthpop: building synthpop args [16:18:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [16:18:29] synthesize_synthpop: synthpop done [16:18:29] synthesize_synthpop: building synthpop args [16:18:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [16:18:29] 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:18:29] synthesize_synthpop: building synthpop args [16:18:29] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [16:18:29] 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:18:30] synthesize_synthpop: building synthpop args [16:18:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [16:18:30] synthesize_synthpop: synthpop done [16:18:30] synthesize_synthpop: building synthpop args [16:18:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 [16:18:30] synthesize_synthpop: synthpop done [16:18:30] synthesize_synthpop: building synthpop args [16:18:30] 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:18:30] synthesize_synthpop: synthpop done [16:18:30] synthesize_synthpop: building synthpop args [16:18:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [16:18:30] synthesize_synthpop: synthpop done [16:18:30] synthesize_synthpop: building synthpop args [16:18:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [16:18:30] synthesize_synthpop: synthpop done [16:18:30] synthesize_synthpop: building synthpop args [16:18:30] synthesize_synthpop: building synthpop args [16:18:30] 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:18:30] synthesize_synthpop: synthpop done [16:18:30] 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:18:30] synthesize_synthpop: building synthpop args [16:18:30] 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:18:30] synthesize_synthpop: synthpop done [16:18:30] 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:18:30] synthesize_synthpop: building synthpop args [16:18:30] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [16:18:30] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:18:31] synthesize_synthpop: building synthpop args [16:18:31] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400 [16:18:31] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:18:31] synthesize_synthpop: building synthpop args [16:18:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200 Variable(s): arm have been changed for synthesis from character to factor. [16:18:31] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:18:31] synthesize_synthpop: building synthpop args [16:18:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300 [16:18:31] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [16:18:31] synthesize_synthpop: building synthpop args [16:18:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [16:18:31] synthesize_synthpop: synthpop done [16:18:31] synthesize_synthpop: building synthpop args [16:18:31] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [16:18:31] 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/Rtmpz3RKdh/file35569f5d7036ea/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/Rtmpz3RKdh/file35569f49bb6425/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/Rtmpz3RKdh/file35569f49bb6425/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/Rtmpz3RKdh/file35569f49bb6425/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/Rtmpz3RKdh/file35569f36ee5fda/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/Rtmpz3RKdh/file35569f36ee5fda/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/Rtmpz3RKdh/file35569f36ee5fda/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: for new files in some other directories
Result: NOTE Found the following files/directories: ‘~/tmp/scratch/Rtmp0MX8c4’ ‘~/tmp/scratch/Rtmp0xHafn’ ‘~/tmp/scratch/Rtmp0zCKlA’ ‘~/tmp/scratch/Rtmp1Ll5ql’ ‘~/tmp/scratch/Rtmp1VDIBv’ ‘~/tmp/scratch/Rtmp20Kqud’ ‘~/tmp/scratch/Rtmp3feSUl’ ‘~/tmp/scratch/Rtmp412Mni’ ‘~/tmp/scratch/Rtmp4lCiJn’ ‘~/tmp/scratch/Rtmp4rt3KE’ ‘~/tmp/scratch/Rtmp4xNX2D’ ‘~/tmp/scratch/Rtmp54Dtj6’ ‘~/tmp/scratch/Rtmp5AYwlY’ ‘~/tmp/scratch/Rtmp5Ow3YF’ ‘~/tmp/scratch/Rtmp62Ukw5’ ‘~/tmp/scratch/Rtmp686huN’ ‘~/tmp/scratch/Rtmp6KHUOH’ ‘~/tmp/scratch/Rtmp6Zx1fh’ ‘~/tmp/scratch/Rtmp7IUYRG’ ‘~/tmp/scratch/Rtmp7xlcFS’ ‘~/tmp/scratch/Rtmp8G4PDh’ ‘~/tmp/scratch/Rtmp8U1ISR’ ‘~/tmp/scratch/Rtmp8e5DSa’ ‘~/tmp/scratch/Rtmp96FhER’ ‘~/tmp/scratch/RtmpA6uB5G’ ‘~/tmp/scratch/RtmpA76Soi’ ‘~/tmp/scratch/RtmpAFF5fH’ ‘~/tmp/scratch/RtmpBSEUjR’ ‘~/tmp/scratch/RtmpDVRygP’ ‘~/tmp/scratch/RtmpDyzWxu’ ‘~/tmp/scratch/RtmpE6kMI8’ ‘~/tmp/scratch/RtmpERFsWh’ ‘~/tmp/scratch/RtmpFRAZMz’ ‘~/tmp/scratch/RtmpGKfbQM’ ‘~/tmp/scratch/RtmpGinL50’ ‘~/tmp/scratch/RtmpGxjy6q’ ‘~/tmp/scratch/RtmpH6skiy’ ‘~/tmp/scratch/RtmpJ6eCvo’ ‘~/tmp/scratch/RtmpK6KERe’ ‘~/tmp/scratch/RtmpKKN0Fu’ ‘~/tmp/scratch/RtmpKfZ9KZ’ ‘~/tmp/scratch/RtmpMEKYH1’ ‘~/tmp/scratch/RtmpMvP0bb’ ‘~/tmp/scratch/RtmpNjau5Z’ ‘~/tmp/scratch/RtmpOX7Qet’ ‘~/tmp/scratch/RtmpOinTLE’ ‘~/tmp/scratch/RtmpPK5jHN’ ‘~/tmp/scratch/RtmpPoIEJI’ ‘~/tmp/scratch/RtmpRIQTb1’ ‘~/tmp/scratch/RtmpRN8z84’ ‘~/tmp/scratch/RtmpRYoD5O’ ‘~/tmp/scratch/RtmpRw6wuM’ ‘~/tmp/scratch/RtmpS36saL’ ‘~/tmp/scratch/RtmpSsDCHX’ ‘~/tmp/scratch/RtmpTQ0Xu3’ ‘~/tmp/scratch/RtmpTaHOxg’ ‘~/tmp/scratch/RtmpTsvdQl’ ‘~/tmp/scratch/RtmpU0JLmI’ ‘~/tmp/scratch/RtmpUMyk6A’ ‘~/tmp/scratch/RtmpUm7jq6’ ‘~/tmp/scratch/RtmpV0HnGV’ ‘~/tmp/scratch/RtmpV145wC’ ‘~/tmp/scratch/RtmpVZh5J0’ ‘~/tmp/scratch/RtmpVnZRX0’ ‘~/tmp/scratch/RtmpWSKBwP’ ‘~/tmp/scratch/RtmpXPGZnI’ ‘~/tmp/scratch/RtmpXXqaTQ’ ‘~/tmp/scratch/RtmpXpYJQI’ ‘~/tmp/scratch/RtmpXu0NQG’ ‘~/tmp/scratch/RtmpYCjqAX’ ‘~/tmp/scratch/RtmpYv5DH9’ ‘~/tmp/scratch/RtmpZICtbR’ ‘~/tmp/scratch/RtmpZPhvJA’ ‘~/tmp/scratch/RtmpZVhlRR’ ‘~/tmp/scratch/RtmpZgixMT’ ‘~/tmp/scratch/Rtmpa9jqt0’ ‘~/tmp/scratch/RtmpaEwrrh’ ‘~/tmp/scratch/RtmpaO70cZ’ ‘~/tmp/scratch/RtmpaZRQZt’ ‘~/tmp/scratch/RtmpabGd0E’ ‘~/tmp/scratch/RtmpadqfPl’ ‘~/tmp/scratch/RtmpaqhIYr’ ‘~/tmp/scratch/RtmpbdB62f’ ‘~/tmp/scratch/RtmpcX91E3’ ‘~/tmp/scratch/Rtmpcx0q8B’ ‘~/tmp/scratch/Rtmpd7dbiK’ ‘~/tmp/scratch/RtmpdL3iix’ ‘~/tmp/scratch/RtmpdMCXWb’ ‘~/tmp/scratch/Rtmpdm4UaO’ ‘~/tmp/scratch/Rtmpdzr9Or’ ‘~/tmp/scratch/RtmpeUQFJn’ ‘~/tmp/scratch/RtmpfJMQTO’ ‘~/tmp/scratch/RtmpfqqiI7’ ‘~/tmp/scratch/Rtmpgha0Ak’ ‘~/tmp/scratch/Rtmph3mFvN’ ‘~/tmp/scratch/RtmphPq1zl’ ‘~/tmp/scratch/RtmphhHabD’ ‘~/tmp/scratch/RtmpiEXZL6’ ‘~/tmp/scratch/Rtmpj01Ej1’ ‘~/tmp/scratch/RtmpjFOnw3’ ‘~/tmp/scratch/RtmpjO3YsS’ ‘~/tmp/scratch/RtmpjnybZ8’ ‘~/tmp/scratch/Rtmpk62LvG’ ‘~/tmp/scratch/Rtmpk71xPm’ ‘~/tmp/scratch/RtmpkA3AD8’ ‘~/tmp/scratch/RtmpkUiAu4’ ‘~/tmp/scratch/RtmpkWWDmO’ ‘~/tmp/scratch/RtmpkZbKBh’ ‘~/tmp/scratch/RtmpkvK3wb’ ‘~/tmp/scratch/RtmplSseS4’ ‘~/tmp/scratch/Rtmpm2KZZT’ ‘~/tmp/scratch/RtmpmMqydC’ ‘~/tmp/scratch/RtmpnVAl3a’ ‘~/tmp/scratch/RtmpnxXnT9’ ‘~/tmp/scratch/RtmpoNwUzN’ ‘~/tmp/scratch/Rtmpomzjl7’ ‘~/tmp/scratch/RtmppuMnMS’ ‘~/tmp/scratch/Rtmpq0pt9K’ ‘~/tmp/scratch/Rtmpq3HioS’ ‘~/tmp/scratch/RtmpqIHvd5’ ‘~/tmp/scratch/RtmpqjoWBl’ ‘~/tmp/scratch/RtmpqpPZdV’ ‘~/tmp/scratch/RtmpqpqTXz’ ‘~/tmp/scratch/RtmprJw5N7’ ‘~/tmp/scratch/RtmprqtN7k’ ‘~/tmp/scratch/RtmprwzB3f’ ‘~/tmp/scratch/RtmpsQmXdN’ ‘~/tmp/scratch/RtmpsscjZw’ ‘~/tmp/scratch/Rtmpt5ccOF’ ‘~/tmp/scratch/RtmptBUe0A’ ‘~/tmp/scratch/RtmptGeuMr’ ‘~/tmp/scratch/RtmptoItX1’ ‘~/tmp/scratch/RtmpuEI5n5’ ‘~/tmp/scratch/RtmpuN4Qh0’ ‘~/tmp/scratch/Rtmpup82Rr’ ‘~/tmp/scratch/RtmpwRXNBH’ ‘~/tmp/scratch/RtmpxVQixq’ ‘~/tmp/scratch/RtmpyApbH8’ ‘~/tmp/scratch/RtmpyDflCg’ ‘~/tmp/scratch/RtmpyMuYtJ’ ‘~/tmp/scratch/Rtmpyc4Lvu’ ‘~/tmp/scratch/RtmpzjJSJn’ ‘~/tmp/scratch/xvfb-run.0tf3Q7’ ‘~/tmp/scratch/xvfb-run.2PxeVM’ ‘~/tmp/scratch/xvfb-run.2z16wG’ ‘~/tmp/scratch/xvfb-run.3SQPhb’ ‘~/tmp/scratch/xvfb-run.4Akt55’ ‘~/tmp/scratch/xvfb-run.5UVbmr’ ‘~/tmp/scratch/xvfb-run.6WZGFJ’ ‘~/tmp/scratch/xvfb-run.6YnsNA’ ‘~/tmp/scratch/xvfb-run.6jcoRT’ ‘~/tmp/scratch/xvfb-run.6pTKDe’ ‘~/tmp/scratch/xvfb-run.8gqbk3’ ‘~/tmp/scratch/xvfb-run.9b5Whk’ ‘~/tmp/scratch/xvfb-run.A06Mw8’ ‘~/tmp/scratch/xvfb-run.A4zvFl’ ‘~/tmp/scratch/xvfb-run.B68U9O’ ‘~/tmp/scratch/xvfb-run.CmaU5j’ ‘~/tmp/scratch/xvfb-run.D1nB1P’ ‘~/tmp/scratch/xvfb-run.Db6Afk’ ‘~/tmp/scratch/xvfb-run.EZr5yh’ ‘~/tmp/scratch/xvfb-run.GF5kb9’ ‘~/tmp/scratch/xvfb-run.IVxGQ6’ ‘~/tmp/scratch/xvfb-run.K7oFEZ’ ‘~/tmp/scratch/xvfb-run.LENSC6’ ‘~/tmp/scratch/xvfb-run.LqdOIx’ ‘~/tmp/scratch/xvfb-run.NGT8PD’ ‘~/tmp/scratch/xvfb-run.Nib914’ ‘~/tmp/scratch/xvfb-run.P4O1bb’ ‘~/tmp/scratch/xvfb-run.Qi6WqN’ ‘~/tmp/scratch/xvfb-run.Qjvz4r’ ‘~/tmp/scratch/xvfb-run.QsDOwo’ ‘~/tmp/scratch/xvfb-run.RdBwJv’ ‘~/tmp/scratch/xvfb-run.SGK2UM’ ‘~/tmp/scratch/xvfb-run.VHpOQZ’ ‘~/tmp/scratch/xvfb-run.WsqACM’ ‘~/tmp/scratch/xvfb-run.XEoqzn’ ‘~/tmp/scratch/xvfb-run.XPMHVW’ ‘~/tmp/scratch/xvfb-run.YsKXtI’ ‘~/tmp/scratch/xvfb-run.aQb3Li’ ‘~/tmp/scratch/xvfb-run.adSAp2’ ‘~/tmp/scratch/xvfb-run.bbvhbU’ ‘~/tmp/scratch/xvfb-run.cMHaab’ ‘~/tmp/scratch/xvfb-run.j5U3Ex’ ‘~/tmp/scratch/xvfb-run.jRgiAo’ ‘~/tmp/scratch/xvfb-run.k9BP4G’ ‘~/tmp/scratch/xvfb-run.kvA6wB’ ‘~/tmp/scratch/xvfb-run.lObAee’ ‘~/tmp/scratch/xvfb-run.o2Vio5’ ‘~/tmp/scratch/xvfb-run.owvJXG’ ‘~/tmp/scratch/xvfb-run.qdBiAU’ ‘~/tmp/scratch/xvfb-run.svrX4E’ ‘~/tmp/scratch/xvfb-run.tLcSiM’ ‘~/tmp/scratch/xvfb-run.tYQlCM’ ‘~/tmp/scratch/xvfb-run.uIzEBI’ ‘~/tmp/scratch/xvfb-run.v5YM7V’ ‘~/tmp/scratch/xvfb-run.ve6rrJ’ ‘~/tmp/scratch/xvfb-run.wm77hM’ ‘~/tmp/scratch/xvfb-run.xMIpji’ ‘~/tmp/scratch/xvfb-run.z1Rs2o’ ‘~/tmp/scratch/xvfb-run.zXkmxn’ ‘~/tmp/scratch/xvfb-run.zl7e7h’ Flavor: r-devel-linux-x86_64-debian-gcc

Version: 0.6.1
Check: tests
Result: ERROR Running ‘testthat.R’ [101s/127s] 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/RtmpcwV7Jt/file1600c1249c8767/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. [13:01:57] synthesize_synthpop: building synthpop args [13:01:57] 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'. [13:01:58] 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. [13:01:58] synthesize_synthpop: building synthpop args [13:01:58] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [13:01:58] synthesize_synthpop: synthpop done [13:01:58] synthesize_synthpop: building synthpop args [13:01:58] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40 Variable(s): group have been changed for synthesis from character to factor. [13:01:58] 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. [13:01:59] synthesize_synthpop: building synthpop args [13:01:59] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [13:01:59] 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. [13:02:03] synthesize_synthpop: building synthpop args [13:02:03] 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'. [13:02:03] 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. [13:02:05] synthesize_synthpop: building synthpop args [13:02:05] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8 [13:02:05] 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. [13:02:05] synthesize_synthpop: building synthpop args [13:02:05] 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'. [13:02: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. 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. [13:02:09] synthesize_synthpop: building synthpop args [13:02:09] 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'. [13:02: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 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. [13:02:12] synthesize_synthpop: building synthpop args [13:02:12] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12 [13:02:12] 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. [13:02:14] synthesize_synthpop: building synthpop args [13:02:14] 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'. [13:02:14] 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. [13:02:15] synthesize_synthpop: building synthpop args [13:02:15] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [13:02:15] 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. [13:02:17] synthesize_synthpop: building synthpop args [13:02:17] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [13:02:17] 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. [13:02:17] synthesize_synthpop: building synthpop args [13:02:17] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [13:02:17] 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. [13:02:18] synthesize_synthpop: building synthpop args [13:02:18] synthesize_synthpop: calling synthpop::syn() on 5 column(s), k=10 Variable(s): name, group have been changed for synthesis from character to factor. [13:02:18] 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. [13:02:19] synthesize_synthpop: building synthpop args [13:02:19] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:19] 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. [13:02:19] synthesize_synthpop: building synthpop args [13:02:19] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:19] 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. [13:02:20] synthesize_synthpop: building synthpop args [13:02:20] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:20] 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. [13:02:20] synthesize_synthpop: building synthpop args [13:02:20] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:20] 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. [13:02:20] synthesize_synthpop: building synthpop args [13:02:20] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:20] 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. [13:02:21] synthesize_synthpop: building synthpop args [13:02:21] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02: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 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. [13:02:21] synthesize_synthpop: building synthpop args [13:02:21] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02: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 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. [13:02:21] synthesize_synthpop: building synthpop args [13:02:21] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:22] 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. [13:02:22] synthesize_synthpop: building synthpop args [13:02:22] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02:22] 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. [13:02:23] synthesize_synthpop: building synthpop args [13:02:23] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02: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 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. [13:02:24] synthesize_synthpop: building synthpop args [13:02:24] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [13:02: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 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. [13:02:25] synthesize_synthpop: building synthpop args [13:02:25] 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'. [13:02:25] 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. [13:02:36] synthesize_synthpop: building synthpop args [13:02:36] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25 Variable(s): grp have been changed for synthesis from character to factor. [13:02:36] 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. [13:02:39] generate: starting on 200 row(s) x 10 column(s), engine=auto [13:02:39] generate: pipeline ... [13:02:39] synthesize_synthpop: building synthpop args [13:02:39] 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'. [13:02:40] 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 [13:02:41] generate: pipeline done: 1.37s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:41] generate: starting on 200 row(s) x 10 column(s), engine=auto [13:02:41] generate: pipeline ... [13:02:41] synthesize_synthpop: building synthpop args [13:02:41] 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'. [13:02:42] 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 [13:02:43] generate: pipeline done: 1.06s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:43] generate: starting on 200 row(s) x 10 column(s), engine=auto [13:02:43] generate: pipeline ... i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:44] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:44] generate: pipeline ... [13:02:44] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:45] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:45] generate: pipeline ... [13:02:45] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:46] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:46] generate: pipeline ... [13:02:46] 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. [13:02:47] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:47] generate: pipeline ... [13:02:47] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:47] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:47] generate: pipeline ... [13:02:47] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:48] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:48] generate: pipeline ... [13:02:48] generate: pipeline done: 0.00s [13:02:49] generate: starting on 3 row(s) x 1 column(s), engine=auto [13:02:49] generate: pipeline ... [13:02:49] 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. [13:02:51] generate: starting on 10 row(s) x 2 column(s), engine=auto [13:02:51] generate: pipeline ... [13:02:51] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:52] generate: starting on 3 row(s) x 4 column(s), engine=auto [13:02:52] generate: pipeline ... [13:02:52] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:52] generate: starting on 3 row(s) x 4 column(s), engine=auto [13:02:52] generate: pipeline ... [13:02:52] generate: pipeline done: 0.00s [13:02:53] generate: starting on 3 row(s) x 4 column(s), engine=auto [13:02:53] generate: pipeline ... [13:02:53] generate: pipeline done: 0.02s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:02:53] generate: starting on 3 row(s) x 4 column(s), engine=auto [13:02:53] generate: pipeline ... [13:02:53] generate: pipeline done: 0.00s [13:02:53] generate: starting on 3 row(s) x 4 column(s), engine=auto [13:02:53] generate: pipeline ... [13:02:53] generate: pipeline done: 0.03s [13:02:54] upload: profile_data ... [13:02:54] upload: profile_data done: 0.07s [13:02:55] upload: profile_data ... [13:02:56] upload: profile_data done: 0.05s [13:02:58] upload: profile_data ... [13:02:58] upload: profile_data done: 0.09s [13:03:00] upload: profile_data ... [13:03:00] upload: profile_data done: 0.09s [13:03:02] upload: profile_data ... [13:03:02] upload: profile_data done: 0.09s [13:03:04] upload: profile_data ... [13:03:04] upload: profile_data done: 0.06s [13:03:05] upload: profile_data ... [13:03:05] upload: profile_data done: 0.05s [13:03:09] upload: profile_data ... [13:03:09] upload: profile_data done: 0.02s [13:03:11] upload: profile_data ... [13:03:11] 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. [13:03:21] upload: profile_data ... [13:03:21] upload: profile_data done: 0.06s [13:03:22] upload: profile_data ... [13:03:22] upload: profile_data done: 0.05s [13:03:22] upload: profile_data ... [13:03:22] upload: profile_data done: 0.06s [13:03:23] upload: profile_data ... [13:03:23] upload: profile_data done: 0.04s [13:03:23] upload: profile_data ... [13:03:23] upload: profile_data done: 0.02s [13:03:24] upload: profile_data ... [13:03:24] upload: profile_data done: 0.05s 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. [13:03:27] synthesize_synthpop: building synthpop args [13:03:27] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): city, group have been changed for synthesis from character to factor. [13:03:27] 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. [13:03:28] synthesize_synthpop: building synthpop args [13:03:28] 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'. [13:03:28] 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-29 13:03:29.518764 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. [13:03:31] synthesize_synthpop: building synthpop args [13:03:31] 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'. [13:03:31] 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. [13:03:35] synthesize_synthpop: building synthpop args [13:03:35] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): y have been changed for synthesis from character to factor. [13:03:35] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:35] synthesize_synthpop: building synthpop args [13:03:35] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [13:03:35] synthesize_synthpop: synthpop done [13:03:35] synthesize_synthpop: building synthpop args [13:03:35] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [13:03:35] 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. [13:03:35] synthesize_synthpop: building synthpop args [13:03:35] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [13:03:35] 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" [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] 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'. [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] 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'. [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: marginal bridge for 1 column(s) i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=50 Variable(s): month, region have been changed for synthesis from character to factor. [13:03:37] synthesize_synthpop: synthpop done [13:03:37] synthesize_synthpop: marginal bridge for 1 column(s) i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:37] synthesize_synthpop: building synthpop args [13:03:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [13:03:37] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:38] synthesize_synthpop: building synthpop args [13:03:38] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400 [13:03:38] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:38] synthesize_synthpop: building synthpop args [13:03:38] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200 Variable(s): arm have been changed for synthesis from character to factor. [13:03:38] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:38] synthesize_synthpop: building synthpop args [13:03:38] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300 [13:03:38] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [13:03:38] synthesize_synthpop: building synthpop args [13:03:38] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [13:03:38] synthesize_synthpop: synthpop done [13:03:38] synthesize_synthpop: building synthpop args [13:03:38] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [13:03:38] 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/RtmpcwV7Jt/file1600c1173e8b2d/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/RtmpcwV7Jt/file1600c1231016d3/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpcwV7Jt/file1600c1231016d3/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/RtmpcwV7Jt/file1600c1231016d3/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/RtmpcwV7Jt/file1600c1f887b22/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpcwV7Jt/file1600c1f887b22/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/RtmpcwV7Jt/file1600c1f887b22/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

Version: 0.6.1
Check: tests
Result: ERROR Running ‘testthat.R’ [101s/123s] 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/RtmpXRJWWZ/file342f9d77f73c2f/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:54:59] synthesize_synthpop: building synthpop args [12:54:59] 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:54: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:55:00] synthesize_synthpop: building synthpop args [12:55: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:55:00] synthesize_synthpop: synthpop done [12:55:00] synthesize_synthpop: building synthpop args [12:55: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:55: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:55:00] synthesize_synthpop: building synthpop args [12:55:00] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [12:55: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:55:05] synthesize_synthpop: building synthpop args [12:55:05] 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:55:05] 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:55:07] synthesize_synthpop: building synthpop args [12:55:07] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8 [12:55:07] 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:55:07] synthesize_synthpop: building synthpop args [12:55:07] 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:55:08] 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:55:11] synthesize_synthpop: building synthpop args [12:55:11] 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:55:11] 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:55:14] synthesize_synthpop: building synthpop args [12:55:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12 [12:55:14] 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:55:16] synthesize_synthpop: building synthpop args [12:55:16] 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:55:16] 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:55:17] synthesize_synthpop: building synthpop args [12:55:17] 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:55:17] 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:55:18] synthesize_synthpop: building synthpop args [12:55:18] 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:55:18] 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:55:19] synthesize_synthpop: building synthpop args [12:55:19] 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:55:19] 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:55:20] synthesize_synthpop: building synthpop args [12:55:20] 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:55:20] 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:55:20] synthesize_synthpop: building synthpop args [12:55:20] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55:20] 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:55:20] synthesize_synthpop: building synthpop args [12:55:20] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55:20] 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:55:21] synthesize_synthpop: building synthpop args [12:55:21] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55: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 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:55:21] synthesize_synthpop: building synthpop args [12:55:21] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55:22] 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:55:22] synthesize_synthpop: building synthpop args [12:55:22] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55:22] 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:55:22] synthesize_synthpop: building synthpop args [12:55:22] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55:22] 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:55:23] synthesize_synthpop: building synthpop args [12:55:23] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55: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 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:55:23] synthesize_synthpop: building synthpop args [12:55:23] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55: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 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:55:23] synthesize_synthpop: building synthpop args [12:55:23] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55: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 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:55:24] synthesize_synthpop: building synthpop args [12:55:24] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55: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 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:55:24] synthesize_synthpop: building synthpop args [12:55:24] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 Variable(s): grp have been changed for synthesis from character to factor. [12:55: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 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:55:26] synthesize_synthpop: building synthpop args [12:55:26] 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:55:26] 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:55:35] synthesize_synthpop: building synthpop args [12:55:35] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25 Variable(s): grp have been changed for synthesis from character to factor. [12:55:35] 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:55:37] generate: starting on 200 row(s) x 10 column(s), engine=auto [12:55:37] generate: pipeline ... [12:55:37] synthesize_synthpop: building synthpop args [12:55: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:55:38] 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:55:38] generate: pipeline done: 0.94s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:39] generate: starting on 200 row(s) x 10 column(s), engine=auto [12:55:39] generate: pipeline ... [12:55:39] synthesize_synthpop: building synthpop args [12:55:39] 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:55:39] 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:55:40] generate: pipeline done: 0.96s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:41] generate: starting on 200 row(s) x 10 column(s), engine=auto [12:55:41] generate: pipeline ... i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:41] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:41] generate: pipeline ... [12:55:41] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:42] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:42] generate: pipeline ... [12:55:42] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:43] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:43] generate: pipeline ... [12:55:43] 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:55:44] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:44] generate: pipeline ... [12:55:44] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:44] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:44] generate: pipeline ... [12:55:44] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:45] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:45] generate: pipeline ... [12:55:45] generate: pipeline done: 0.00s [12:55:45] generate: starting on 3 row(s) x 1 column(s), engine=auto [12:55:45] generate: pipeline ... [12:55:45] 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:55:47] generate: starting on 10 row(s) x 2 column(s), engine=auto [12:55:47] generate: pipeline ... [12:55:47] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:48] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:55:48] generate: pipeline ... [12:55:48] generate: pipeline done: 0.00s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:48] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:55:48] generate: pipeline ... [12:55:48] generate: pipeline done: 0.00s [12:55:48] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:55:48] generate: pipeline ... [12:55:48] generate: pipeline done: 0.03s i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:55:49] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:55:49] generate: pipeline ... [12:55:49] generate: pipeline done: 0.00s [12:55:49] generate: starting on 3 row(s) x 4 column(s), engine=auto [12:55:49] generate: pipeline ... [12:55:49] generate: pipeline done: 0.04s [12:55:50] upload: profile_data ... [12:55:50] upload: profile_data done: 0.10s [12:55:51] upload: profile_data ... [12:55:51] upload: profile_data done: 0.05s [12:55:54] upload: profile_data ... [12:55:54] upload: profile_data done: 0.10s [12:55:56] upload: profile_data ... [12:55:56] upload: profile_data done: 0.05s [12:55:58] upload: profile_data ... [12:55:58] upload: profile_data done: 0.06s [12:55:59] upload: profile_data ... [12:55:59] upload: profile_data done: 0.05s [12:56:01] upload: profile_data ... [12:56:01] upload: profile_data done: 0.05s [12:56:05] upload: profile_data ... [12:56:05] upload: profile_data done: 0.02s [12:56:08] upload: profile_data ... [12:56:08] upload: profile_data done: 0.06s 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:56:19] upload: profile_data ... [12:56:19] upload: profile_data done: 0.05s [12:56:20] upload: profile_data ... [12:56:20] upload: profile_data done: 0.05s [12:56:20] upload: profile_data ... [12:56:20] upload: profile_data done: 0.06s [12:56:21] upload: profile_data ... [12:56:21] upload: profile_data done: 0.08s [12:56:22] upload: profile_data ... [12:56:22] upload: profile_data done: 0.03s [12:56:22] upload: profile_data ... [12:56:23] 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:56:26] synthesize_synthpop: building synthpop args [12:56:26] 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:56:26] 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:56:26] synthesize_synthpop: building synthpop args [12:56:26] 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:56:26] 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-25 12:56:27.859323 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:56:29] synthesize_synthpop: building synthpop args [12:56:29] 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:30] 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:56:34] synthesize_synthpop: building synthpop args [12:56:34] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30 Variable(s): y have been changed for synthesis from character to factor. [12:56:34] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:56:34] synthesize_synthpop: building synthpop args [12:56:34] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:56:34] synthesize_synthpop: synthpop done [12:56:34] synthesize_synthpop: building synthpop args [12:56:34] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:56:34] 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:34] synthesize_synthpop: building synthpop args [12:56:34] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:56:34] 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:56:36] synthesize_synthpop: building synthpop args [12:56:36] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 Variable(s): y have been changed for synthesis from character to factor. [12:56:36] synthesize_synthpop: synthpop done [12:56:36] synthesize_synthpop: building synthpop args [12:56:36] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10 [12:56:36] synthesize_synthpop: synthpop done [12:56:36] synthesize_synthpop: building synthpop args [12:56:36] 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:56:36] synthesize_synthpop: synthpop done [12:56:36] synthesize_synthpop: building synthpop args [12:56:36] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [12:56:36] synthesize_synthpop: synthpop done [12:56:36] synthesize_synthpop: building synthpop args [12:56:36] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20 [12:56:36] synthesize_synthpop: synthpop done [12:56:36] synthesize_synthpop: building synthpop args [12:56:37] synthesize_synthpop: building synthpop args [12:56:37] 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:56:37] synthesize_synthpop: synthpop done [12:56:37] 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:56:37] synthesize_synthpop: building synthpop args [12:56:37] 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:56:37] synthesize_synthpop: synthpop done [12:56:37] 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:56:37] synthesize_synthpop: building synthpop args [12:56:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60 [12:56:37] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:56:37] synthesize_synthpop: building synthpop args [12:56:37] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400 [12:56:37] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:56:37] synthesize_synthpop: building synthpop args [12:56:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200 Variable(s): arm have been changed for synthesis from character to factor. [12:56:37] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:56:37] synthesize_synthpop: building synthpop args [12:56:37] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300 [12:56:37] synthesize_synthpop: synthpop done i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing. [12:56:38] synthesize_synthpop: building synthpop args [12:56:38] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [12:56:38] synthesize_synthpop: synthpop done [12:56:38] synthesize_synthpop: building synthpop args [12:56:38] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80 Variable(s): grp have been changed for synthesis from character to factor. [12:56:38] 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/RtmpXRJWWZ/file342f9df93c8a/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/RtmpXRJWWZ/file342f9d5a3dd342/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpXRJWWZ/file342f9d5a3dd342/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/RtmpXRJWWZ/file342f9d5a3dd342/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/RtmpXRJWWZ/file342f9d224c855e/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpXRJWWZ/file342f9d224c855e/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/RtmpXRJWWZ/file342f9d224c855e/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-release-linux-x86_64