Last updated on 2026-08-04 09:51:17 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 | 6.85 | 123.55 | 130.40 | ERROR | |
| r-devel-linux-x86_64-fedora-clang | 0.6.1 | 18.00 | 290.10 | 308.10 | OK | |
| r-devel-linux-x86_64-fedora-gcc | 0.6.1 | 132.68 | 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 | 10.11 | 167.84 | 177.95 | 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 | 15.00 | 209.00 | 224.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 | 18.00 | 271.00 | 289.00 | OK |
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’ [72s/91s]
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/Rtmp7uxgFz/file90e7f7f4b49bd/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:28:57] synthesize_synthpop: building synthpop args
[16:28: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'.
[16:28: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.
[16:28:58] synthesize_synthpop: building synthpop args
[16:28:58] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40
Variable(s): group have been changed for synthesis from character to factor.
[16:28:58] synthesize_synthpop: synthpop done
[16:28:58] synthesize_synthpop: building synthpop args
[16:28:58] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=40
Variable(s): group have been changed for synthesis from character to factor.
[16:28: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.
[16:28:59] synthesize_synthpop: building synthpop args
[16:28:59] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60
[16:28: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.
[16:29:02] synthesize_synthpop: building synthpop args
[16:29:02] 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:29:02] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:03] synthesize_synthpop: building synthpop args
[16:29:03] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8
[16:29:03] 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:29:03] synthesize_synthpop: building synthpop args
[16:29: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'.
[16:29: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.
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:29:06] synthesize_synthpop: building synthpop args
[16:29:06] 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:29: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 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:29:08] synthesize_synthpop: building synthpop args
[16:29:08] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12
[16:29:08] 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:29:10] synthesize_synthpop: building synthpop args
[16:29: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'.
[16:29: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
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:11] synthesize_synthpop: building synthpop args
[16:29:11] 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:29:11] 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:29:12] synthesize_synthpop: building synthpop args
[16:29:12] 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:29:12] 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:29:13] synthesize_synthpop: building synthpop args
[16:29:13] 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:29:13] 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:29:13] synthesize_synthpop: building synthpop args
[16:29:13] 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:29:13] 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:29:13] synthesize_synthpop: building synthpop args
[16:29:13] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:13] 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:29:14] synthesize_synthpop: building synthpop args
[16:29:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:14] 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:29:14] synthesize_synthpop: building synthpop args
[16:29:14] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:14] 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:29:15] synthesize_synthpop: building synthpop args
[16:29:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29: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 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:29:15] synthesize_synthpop: building synthpop args
[16:29:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29: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 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:29:15] synthesize_synthpop: building synthpop args
[16:29:15] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29: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 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:29:16] synthesize_synthpop: building synthpop args
[16:29:16] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:16] 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:29:16] synthesize_synthpop: building synthpop args
[16:29:16] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:16] 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:29:16] synthesize_synthpop: building synthpop args
[16:29:16] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:16] 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:29:17] synthesize_synthpop: building synthpop args
[16:29:17] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29: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 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:29:17] synthesize_synthpop: building synthpop args
[16:29:17] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
Variable(s): grp have been changed for synthesis from character to factor.
[16:29: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 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:29:18] synthesize_synthpop: building synthpop args
[16:29:18] 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:29: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.
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:29:26] synthesize_synthpop: building synthpop args
[16:29:26] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=25
Variable(s): grp have been changed for synthesis from character to factor.
[16:29:26] 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:29:28] generate: starting on 200 row(s) x 10 column(s), engine=auto
[16:29:28] generate: pipeline ...
[16:29:28] synthesize_synthpop: building synthpop args
[16:29:28] 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:29: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
[16:29:29] generate: pipeline done: 0.66s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:29] generate: starting on 200 row(s) x 10 column(s), engine=auto
[16:29:29] generate: pipeline ...
[16:29:29] synthesize_synthpop: building synthpop args
[16:29:30] 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:29:30] 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:29:30] generate: pipeline done: 0.79s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:31] generate: starting on 200 row(s) x 10 column(s), engine=auto
[16:29:31] generate: pipeline ...
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:31] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:31] generate: pipeline ...
[16:29:31] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:32] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:32] generate: pipeline ...
[16:29:32] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:32] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:32] generate: pipeline ...
[16:29:32] 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:29:33] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:33] generate: pipeline ...
[16:29:33] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:33] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:33] generate: pipeline ...
[16:29:33] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:34] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:34] generate: pipeline ...
[16:29:34] generate: pipeline done: 0.00s
[16:29:34] generate: starting on 3 row(s) x 1 column(s), engine=auto
[16:29:34] generate: pipeline ...
[16:29:34] 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:29:35] generate: starting on 10 row(s) x 2 column(s), engine=auto
[16:29:35] generate: pipeline ...
[16:29:35] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:36] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:29:36] generate: pipeline ...
[16:29:36] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:36] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:29:36] generate: pipeline ...
[16:29:36] generate: pipeline done: 0.00s
[16:29:36] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:29:36] generate: pipeline ...
[16:29:36] generate: pipeline done: 0.01s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:29:37] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:29:37] generate: pipeline ...
[16:29:37] generate: pipeline done: 0.00s
[16:29:37] generate: starting on 3 row(s) x 4 column(s), engine=auto
[16:29:37] generate: pipeline ...
[16:29:37] generate: pipeline done: 0.02s
[16:29:38] upload: profile_data ...
[16:29:38] upload: profile_data done: 0.07s
[16:29:39] upload: profile_data ...
[16:29:39] upload: profile_data done: 0.07s
[16:29:41] upload: profile_data ...
[16:29:41] upload: profile_data done: 0.03s
[16:29:43] upload: profile_data ...
[16:29:43] upload: profile_data done: 0.03s
[16:29:44] upload: profile_data ...
[16:29:44] upload: profile_data done: 0.02s
[16:29:45] upload: profile_data ...
[16:29:45] upload: profile_data done: 0.04s
[16:29:46] upload: profile_data ...
[16:29:46] upload: profile_data done: 0.03s
[16:29:51] upload: profile_data ...
[16:29:51] upload: profile_data done: 0.01s
[16:29:52] upload: profile_data ...
[16:29:52] 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:29:59] upload: profile_data ...
[16:29:59] upload: profile_data done: 0.03s
[16:29:59] upload: profile_data ...
[16:29:59] upload: profile_data done: 0.03s
[16:29:59] upload: profile_data ...
[16:29:59] upload: profile_data done: 0.05s
[16:30:00] upload: profile_data ...
[16:30:00] upload: profile_data done: 0.02s
[16:30:00] upload: profile_data ...
[16:30:00] upload: profile_data done: 0.02s
[16:30:01] upload: profile_data ...
[16:30: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.
[16:30:03] synthesize_synthpop: building synthpop args
[16:30:03] 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:30:03] 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:30:04] synthesize_synthpop: building synthpop args
[16:30:04] 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:30:04] 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-08-03 16:30:04.829526
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:30:06] synthesize_synthpop: building synthpop args
[16:30:06] 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:30:06] 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:30:09] synthesize_synthpop: building synthpop args
[16:30:09] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=30
Variable(s): y have been changed for synthesis from character to factor.
[16:30:09] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:30:09] synthesize_synthpop: building synthpop args
[16:30:09] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:30:09] synthesize_synthpop: synthpop done
[16:30:09] synthesize_synthpop: building synthpop args
[16:30:09] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:30:09] 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:30:09] synthesize_synthpop: building synthpop args
[16:30:09] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:30:09] 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:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
Variable(s): y have been changed for synthesis from character to factor.
[16:30:10] synthesize_synthpop: synthpop done
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
[16:30:10] synthesize_synthpop: synthpop done
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] 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:30:10] synthesize_synthpop: synthpop done
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
[16:30:10] synthesize_synthpop: synthpop done
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
[16:30:10] synthesize_synthpop: synthpop done
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] 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:30:10] synthesize_synthpop: synthpop done
[16:30:10] 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:30:10] synthesize_synthpop: building synthpop args
[16:30:10] 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:30:10] synthesize_synthpop: synthpop done
[16:30:10] 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:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60
[16:30:10] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400
[16:30:10] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:30:10] synthesize_synthpop: building synthpop args
[16:30:10] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=200
Variable(s): arm have been changed for synthesis from character to factor.
[16:30:10] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:30:11] synthesize_synthpop: building synthpop args
[16:30:11] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300
[16:30:11] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[16:30:11] synthesize_synthpop: building synthpop args
[16:30:11] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80
Variable(s): grp have been changed for synthesis from character to factor.
[16:30:11] synthesize_synthpop: synthpop done
[16:30:11] synthesize_synthpop: building synthpop args
[16:30:11] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=80
Variable(s): grp have been changed for synthesis from character to factor.
[16:30:11] 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/Rtmp7uxgFz/file90e7f63a92045/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/Rtmp7uxgFz/file90e7f43133409/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/Rtmp7uxgFz/file90e7f43133409/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/Rtmp7uxgFz/file90e7f43133409/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/Rtmp7uxgFz/file90e7f4d9db6cb/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/Rtmp7uxgFz/file90e7f4d9db6cb/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/Rtmp7uxgFz/file90e7f4d9db6cb/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/Rtmp0Ccd95’ ‘~/tmp/scratch/Rtmp0S0seV’
‘~/tmp/scratch/Rtmp2ZEDjW’ ‘~/tmp/scratch/Rtmp2zCUb9’
‘~/tmp/scratch/Rtmp35njYI’ ‘~/tmp/scratch/Rtmp3B5W3X’
‘~/tmp/scratch/Rtmp3eXE5W’ ‘~/tmp/scratch/Rtmp4HDGzH’
‘~/tmp/scratch/Rtmp4OWO4W’ ‘~/tmp/scratch/Rtmp4w3MXK’
‘~/tmp/scratch/Rtmp5FzQwh’ ‘~/tmp/scratch/Rtmp5H5iiA’
‘~/tmp/scratch/Rtmp5vmP6i’ ‘~/tmp/scratch/Rtmp6SHGno’
‘~/tmp/scratch/Rtmp6mbwZo’ ‘~/tmp/scratch/Rtmp8TOcL3’
‘~/tmp/scratch/Rtmp9PYAu8’ ‘~/tmp/scratch/RtmpB33giY’
‘~/tmp/scratch/RtmpBbmTFK’ ‘~/tmp/scratch/RtmpBdgnEi’
‘~/tmp/scratch/RtmpBuiXoo’ ‘~/tmp/scratch/RtmpC8Ca8g’
‘~/tmp/scratch/RtmpDPVof2’ ‘~/tmp/scratch/RtmpESYds7’
‘~/tmp/scratch/RtmpEqt5q0’ ‘~/tmp/scratch/RtmpF8O8Ra’
‘~/tmp/scratch/RtmpFBd9gp’ ‘~/tmp/scratch/RtmpFbhCbf’
‘~/tmp/scratch/RtmpFlubZ9’ ‘~/tmp/scratch/RtmpG3Ok9w’
‘~/tmp/scratch/RtmpGR04sb’ ‘~/tmp/scratch/RtmpHGIwZA’
‘~/tmp/scratch/RtmpHP3Qg0’ ‘~/tmp/scratch/RtmpIaGYe9’
‘~/tmp/scratch/RtmpIhTmws’ ‘~/tmp/scratch/RtmpIlXbXl’
‘~/tmp/scratch/RtmpIxqvLx’ ‘~/tmp/scratch/RtmpJ8U4M4’
‘~/tmp/scratch/RtmpJjcnE4’ ‘~/tmp/scratch/RtmpKL3Zny’
‘~/tmp/scratch/RtmpKTrrWg’ ‘~/tmp/scratch/RtmpKhmswt’
‘~/tmp/scratch/RtmpKmwN2c’ ‘~/tmp/scratch/RtmpKsyswZ’
‘~/tmp/scratch/RtmpKweeIx’ ‘~/tmp/scratch/RtmpL46s7i’
‘~/tmp/scratch/RtmpL6rmfa’ ‘~/tmp/scratch/RtmpMOFycy’
‘~/tmp/scratch/RtmpMrCmZ2’ ‘~/tmp/scratch/RtmpN9WlfQ’
‘~/tmp/scratch/RtmpOEioOx’ ‘~/tmp/scratch/RtmpOZsOEv’
‘~/tmp/scratch/RtmpOztH35’ ‘~/tmp/scratch/RtmpP1eF9d’
‘~/tmp/scratch/RtmpP8x8fp’ ‘~/tmp/scratch/RtmpPHC3c1’
‘~/tmp/scratch/RtmpPTr7tP’ ‘~/tmp/scratch/RtmpPkpPqf’
‘~/tmp/scratch/RtmpPnTRiX’ ‘~/tmp/scratch/RtmpQ1ILY4’
‘~/tmp/scratch/RtmpQ87ehi’ ‘~/tmp/scratch/RtmpQ9Oe2t’
‘~/tmp/scratch/RtmpRlIf9n’ ‘~/tmp/scratch/RtmpRw8ccV’
‘~/tmp/scratch/RtmpTLiY5P’ ‘~/tmp/scratch/RtmpTStWcP’
‘~/tmp/scratch/RtmpTZTJQe’ ‘~/tmp/scratch/RtmpTtIkZI’
‘~/tmp/scratch/RtmpUKRf5F’ ‘~/tmp/scratch/RtmpVHBxWP’
‘~/tmp/scratch/RtmpVQSVOA’ ‘~/tmp/scratch/RtmpVk5e0u’
‘~/tmp/scratch/RtmpVkJiJP’ ‘~/tmp/scratch/RtmpWEXBTT’
‘~/tmp/scratch/RtmpWKbIZm’ ‘~/tmp/scratch/RtmpWW5qWX’
‘~/tmp/scratch/RtmpX8BEww’ ‘~/tmp/scratch/RtmpXUrkmC’
‘~/tmp/scratch/RtmpXvfoR0’ ‘~/tmp/scratch/RtmpYCuVPg’
‘~/tmp/scratch/RtmpYPWJTb’ ‘~/tmp/scratch/RtmpYXYApF’
‘~/tmp/scratch/RtmpYjjI90’ ‘~/tmp/scratch/RtmpZ7BSwK’
‘~/tmp/scratch/RtmpZs8wo1’ ‘~/tmp/scratch/Rtmpa6kJsT’
‘~/tmp/scratch/RtmpaS0Etu’ ‘~/tmp/scratch/Rtmpacg5tF’
‘~/tmp/scratch/RtmpayCWWV’ ‘~/tmp/scratch/Rtmpb0IRHu’
‘~/tmp/scratch/RtmpbVdDlm’ ‘~/tmp/scratch/RtmpcK72sc’
‘~/tmp/scratch/Rtmpck504W’ ‘~/tmp/scratch/RtmpdgeJqR’
‘~/tmp/scratch/Rtmpe0GUki’ ‘~/tmp/scratch/RtmpfFMhiX’
‘~/tmp/scratch/RtmpfSKX1o’ ‘~/tmp/scratch/RtmpfhUoi5’
‘~/tmp/scratch/Rtmpg0cBi7’ ‘~/tmp/scratch/RtmpghynU0’
‘~/tmp/scratch/Rtmph5ICBY’ ‘~/tmp/scratch/RtmphJ1vTV’
‘~/tmp/scratch/RtmphoqQIO’ ‘~/tmp/scratch/RtmphrqcOy’
‘~/tmp/scratch/RtmpiANv4c’ ‘~/tmp/scratch/RtmpjWY42y’
‘~/tmp/scratch/Rtmpjk9F7e’ ‘~/tmp/scratch/Rtmpk3exGt’
‘~/tmp/scratch/Rtmpkg0kff’ ‘~/tmp/scratch/RtmpkhOZ1D’
‘~/tmp/scratch/RtmpkqyQWP’ ‘~/tmp/scratch/RtmpljQMsA’
‘~/tmp/scratch/Rtmplry6gW’ ‘~/tmp/scratch/RtmpmVQpx0’
‘~/tmp/scratch/Rtmpmc5g6m’ ‘~/tmp/scratch/Rtmpmc8i0n’
‘~/tmp/scratch/RtmpmclIFB’ ‘~/tmp/scratch/RtmpnLg7sa’
‘~/tmp/scratch/RtmpnphmI0’ ‘~/tmp/scratch/RtmpoY1O35’
‘~/tmp/scratch/RtmppVRAIj’ ‘~/tmp/scratch/RtmppcWoTB’
‘~/tmp/scratch/RtmpqCsIQz’ ‘~/tmp/scratch/RtmpqJnnU3’
‘~/tmp/scratch/RtmpqMZIz7’ ‘~/tmp/scratch/RtmpqXaPtq’
‘~/tmp/scratch/RtmpsDMyel’ ‘~/tmp/scratch/RtmpsnkxFY’
‘~/tmp/scratch/RtmptOzNBQ’ ‘~/tmp/scratch/RtmptXBvAg’
‘~/tmp/scratch/Rtmpu41PwM’ ‘~/tmp/scratch/RtmpuzNkLD’
‘~/tmp/scratch/RtmpvLD7jq’ ‘~/tmp/scratch/Rtmpvy1ib0’
‘~/tmp/scratch/Rtmpw46anZ’ ‘~/tmp/scratch/Rtmpw67CEB’
‘~/tmp/scratch/RtmpxXU7oO’ ‘~/tmp/scratch/RtmpxykslK’
‘~/tmp/scratch/Rtmpyp2GjZ’ ‘~/tmp/scratch/RtmpypYRZn’
‘~/tmp/scratch/RtmpywwbAL’ ‘~/tmp/scratch/Rtmpz3fpEn’
‘~/tmp/scratch/RtmpzVj4Zn’ ‘~/tmp/scratch/RtmpzgVLAW’
‘~/tmp/scratch/xvfb-run.1GHsOJ’ ‘~/tmp/scratch/xvfb-run.1GyFOy’
‘~/tmp/scratch/xvfb-run.1zt0eE’ ‘~/tmp/scratch/xvfb-run.2cUtXi’
‘~/tmp/scratch/xvfb-run.2qgwA4’ ‘~/tmp/scratch/xvfb-run.349wlt’
‘~/tmp/scratch/xvfb-run.4jXZXD’ ‘~/tmp/scratch/xvfb-run.5AbxTW’
‘~/tmp/scratch/xvfb-run.5pedsB’ ‘~/tmp/scratch/xvfb-run.64O9vk’
‘~/tmp/scratch/xvfb-run.BgGoLb’ ‘~/tmp/scratch/xvfb-run.C9Xlus’
‘~/tmp/scratch/xvfb-run.DH9a9g’ ‘~/tmp/scratch/xvfb-run.Dc1Wfh’
‘~/tmp/scratch/xvfb-run.F11wce’ ‘~/tmp/scratch/xvfb-run.HGzEgo’
‘~/tmp/scratch/xvfb-run.HWwJoo’ ‘~/tmp/scratch/xvfb-run.HiYPHR’
‘~/tmp/scratch/xvfb-run.HpsRRj’ ‘~/tmp/scratch/xvfb-run.KUi1tZ’
‘~/tmp/scratch/xvfb-run.Kweffe’ ‘~/tmp/scratch/xvfb-run.LVd3vL’
‘~/tmp/scratch/xvfb-run.My0VKk’ ‘~/tmp/scratch/xvfb-run.NLWMRm’
‘~/tmp/scratch/xvfb-run.PWEJNN’ ‘~/tmp/scratch/xvfb-run.Qp7s6y’
‘~/tmp/scratch/xvfb-run.RdrigU’ ‘~/tmp/scratch/xvfb-run.TfpF6M’
‘~/tmp/scratch/xvfb-run.VFt3eA’ ‘~/tmp/scratch/xvfb-run.Y2frlq’
‘~/tmp/scratch/xvfb-run.YPK7qN’ ‘~/tmp/scratch/xvfb-run.ZSFeZC’
‘~/tmp/scratch/xvfb-run.aZAd4v’ ‘~/tmp/scratch/xvfb-run.b5WHJM’
‘~/tmp/scratch/xvfb-run.cxZm9d’ ‘~/tmp/scratch/xvfb-run.dPaz7O’
‘~/tmp/scratch/xvfb-run.e7p2bX’ ‘~/tmp/scratch/xvfb-run.fTmyPz’
‘~/tmp/scratch/xvfb-run.fvHs2l’ ‘~/tmp/scratch/xvfb-run.g6ZjFW’
‘~/tmp/scratch/xvfb-run.hRVKlT’ ‘~/tmp/scratch/xvfb-run.ilj358’
‘~/tmp/scratch/xvfb-run.jAI53x’ ‘~/tmp/scratch/xvfb-run.kDexbC’
‘~/tmp/scratch/xvfb-run.kzzt1O’ ‘~/tmp/scratch/xvfb-run.l1WS9y’
‘~/tmp/scratch/xvfb-run.lbPx63’ ‘~/tmp/scratch/xvfb-run.lqWadn’
‘~/tmp/scratch/xvfb-run.mHMKCF’ ‘~/tmp/scratch/xvfb-run.nAuXYh’
‘~/tmp/scratch/xvfb-run.r2Wy0Q’ ‘~/tmp/scratch/xvfb-run.rPYxB1’
‘~/tmp/scratch/xvfb-run.rneAhf’ ‘~/tmp/scratch/xvfb-run.uqrtA5’
‘~/tmp/scratch/xvfb-run.vC3CDA’ ‘~/tmp/scratch/xvfb-run.vL38wv’
‘~/tmp/scratch/xvfb-run.vds8qj’ ‘~/tmp/scratch/xvfb-run.wQl1Dd’
‘~/tmp/scratch/xvfb-run.xDlE5M’ ‘~/tmp/scratch/xvfb-run.xEe9Dw’
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’ [103s/145s]
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/RtmpKAgOI9/file397fa3123345c6/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:52] synthesize_synthpop: building synthpop args
[13:01:52] 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:52] 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:53] synthesize_synthpop: building synthpop args
[13:01:53] 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:53] synthesize_synthpop: synthpop done
[13:01:53] synthesize_synthpop: building synthpop args
[13:01:53] 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:53] 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:54] synthesize_synthpop: building synthpop args
[13:01:54] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60
[13:01:54] 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:01:59] synthesize_synthpop: building synthpop args
[13:01:59] 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:01:59] 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:01] synthesize_synthpop: building synthpop args
[13:02:01] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=8
[13:02:01] 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:02] synthesize_synthpop: building synthpop args
[13:02:02] 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:02] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
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:05] synthesize_synthpop: building synthpop args
[13:02:05] 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: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 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:09] synthesize_synthpop: building synthpop args
[13:02:09] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=12
[13:02:09] 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:11] synthesize_synthpop: building synthpop args
[13:02:11] 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: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 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 5 column(s), k=10
Variable(s): name, group have been changed for synthesis from character to factor.
[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.
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:13] synthesize_synthpop: building synthpop args
[13:02:13] 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:14] 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:14] synthesize_synthpop: building synthpop args
[13:02:14] 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:14] 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: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 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:16] synthesize_synthpop: building synthpop args
[13:02:16] 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:16] 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:16] synthesize_synthpop: building synthpop args
[13:02:16] 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:16] 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:17] synthesize_synthpop: building synthpop args
[13:02:17] 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: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 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:17] synthesize_synthpop: building synthpop args
[13:02:17] 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: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 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:18] synthesize_synthpop: building synthpop args
[13:02:18] 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: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 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:18] synthesize_synthpop: building synthpop args
[13:02:18] 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: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 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: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 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: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:23] synthesize_synthpop: building synthpop args
[13:02:23] 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:23] 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:35] synthesize_synthpop: building synthpop args
[13:02:35] 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: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.
[13:02:37] generate: starting on 200 row(s) x 10 column(s), engine=auto
[13:02:37] generate: pipeline ...
[13:02:37] synthesize_synthpop: building synthpop args
[13:02: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'.
[13:02: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
[13:02:38] generate: pipeline done: 0.99s
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.49s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:02:42] generate: starting on 200 row(s) x 10 column(s), engine=auto
[13:02:42] generate: pipeline ...
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:02:42] generate: starting on 3 row(s) x 1 column(s), engine=auto
[13:02:42] generate: pipeline ...
[13:02:42] generate: pipeline done: 0.00s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:02:43] generate: starting on 3 row(s) x 1 column(s), engine=auto
[13:02:43] generate: pipeline ...
[13:02:43] generate: pipeline done: 0.00s
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.
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.01s
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
[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.
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:49] generate: starting on 10 row(s) x 2 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.
[13:02:49] generate: starting on 3 row(s) x 4 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.
[13:02:50] generate: starting on 3 row(s) x 4 column(s), engine=auto
[13:02:50] generate: pipeline ...
[13:02:50] generate: pipeline done: 0.00s
[13:02:50] generate: starting on 3 row(s) x 4 column(s), engine=auto
[13:02:50] generate: pipeline ...
[13:02:50] generate: pipeline done: 0.03s
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:02:51] generate: starting on 3 row(s) x 4 column(s), engine=auto
[13:02:51] generate: pipeline ...
[13:02:51] generate: pipeline done: 0.00s
[13:02:51] generate: starting on 3 row(s) x 4 column(s), engine=auto
[13:02:51] generate: pipeline ...
[13:02:51] generate: pipeline done: 0.03s
[13:02:52] upload: profile_data ...
[13:02:52] upload: profile_data done: 0.06s
[13:02:54] upload: profile_data ...
[13:02:54] upload: profile_data done: 0.11s
[13:02:56] upload: profile_data ...
[13:02:56] upload: profile_data done: 0.11s
[13:02:59] upload: profile_data ...
[13:02:59] upload: profile_data done: 0.06s
[13:03:02] upload: profile_data ...
[13:03:02] upload: profile_data done: 0.10s
[13:03:04] upload: profile_data ...
[13:03:04] upload: profile_data done: 0.05s
[13:03:06] upload: profile_data ...
[13:03:06] upload: profile_data done: 0.05s
[13:03:12] upload: profile_data ...
[13:03:12] upload: profile_data done: 0.02s
[13:03:14] upload: profile_data ...
[13:03:14] 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.
[13:03:26] upload: profile_data ...
[13:03:26] upload: profile_data done: 0.07s
[13:03:27] upload: profile_data ...
[13:03:27] upload: profile_data done: 0.08s
[13:03:28] upload: profile_data ...
[13:03:28] upload: profile_data done: 0.04s
[13:03:28] upload: profile_data ...
[13:03:28] upload: profile_data done: 0.03s
[13:03:29] upload: profile_data ...
[13:03:29] upload: profile_data done: 0.03s
[13:03:29] upload: profile_data ...
[13:03:29] 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.
[13:03:33] synthesize_synthpop: building synthpop args
[13:03:33] 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:33] 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:33] synthesize_synthpop: building synthpop args
[13:03:33] 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:34] synthesize_synthpop: synthpop done
smoking_status changed from integer to numeric in original to match synthetic
*****************************************************************
Differences detected and corrections attempted check output above.
Synthetic data or original or both adjusted with synorig.compare to try to make them comparable
-- DataGangeR Profile ----------------------------------------------------------
3 rows x 1 column
-- Column types --
* numeric: 1
-- Missingness summary --
Total missing: 0 / 3 (0%)
-- Per-column details --
-- x (numeric)
* Missing: 0 (0%)
* Distinct values: 3
* Range: [1, 3]
* Mean (SD): 2 (1)
* Median (IQR): 2 (1.5 -- 2.5)
i Generated at 2026-08-01 13:03:35.115633
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:37] synthesize_synthpop: building synthpop args
[13:03: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'.
[13:03:37] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Not enough numeric columns (1) for correlation comparison.
Need at least 2 numeric columns with non-zero variance.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
-- DataGangeR Synthesis Spec ---------------------------------------------------
-- Purpose
"demo"
-- Level
"marginal"
-- Key settings
* Name strategy: "preserve"
* Coarsen dates: TRUE
* Merge rare levels: TRUE (min_n = 5)
* Minimum cell size (k-anonymity): 5
* Free text strategy: "drop"
* Preserve correlations: "none"
* Preserve missingness: "approx"
* Engine: "auto (derived from objective)"
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:42] synthesize_synthpop: building synthpop args
[13:03:42] 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:42] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:42] synthesize_synthpop: building synthpop args
[13:03:42] 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:42] synthesize_synthpop: synthpop done
[13:03:42] synthesize_synthpop: building synthpop args
[13:03:42] 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:42] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:42] synthesize_synthpop: building synthpop args
[13:03:42] 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:42] 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:44] synthesize_synthpop: building synthpop args
[13:03:44] 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:44] synthesize_synthpop: synthpop done
[13:03:44] synthesize_synthpop: building synthpop args
[13:03:44] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=10
[13:03:44] synthesize_synthpop: synthpop done
[13:03:44] synthesize_synthpop: building synthpop args
[13:03:44] 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:45] synthesize_synthpop: synthpop done
[13:03:45] synthesize_synthpop: building synthpop args
[13:03:45] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
[13:03:45] synthesize_synthpop: synthpop done
[13:03:45] synthesize_synthpop: building synthpop args
[13:03:45] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=20
[13:03:45] synthesize_synthpop: synthpop done
[13:03:45] synthesize_synthpop: building synthpop args
[13:03:45] synthesize_synthpop: building synthpop args
[13:03:45] 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:45] synthesize_synthpop: synthpop done
[13:03:45] 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:45] synthesize_synthpop: building synthpop args
[13:03:45] 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:45] synthesize_synthpop: synthpop done
[13:03:45] 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:45] synthesize_synthpop: building synthpop args
[13:03:45] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=60
[13:03:45] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:45] synthesize_synthpop: building synthpop args
[13:03:45] synthesize_synthpop: calling synthpop::syn() on 3 column(s), k=400
[13:03:46] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:46] synthesize_synthpop: building synthpop args
[13:03:46] 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:46] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:46] synthesize_synthpop: building synthpop args
[13:03:46] synthesize_synthpop: calling synthpop::syn() on 2 column(s), k=300
[13:03:46] synthesize_synthpop: synthpop done
i Development synthesis uses synthpop for correlation-aware output when installed; review privacy warnings before sharing.
[13:03:46] synthesize_synthpop: building synthpop args
[13:03:46] 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:46] synthesize_synthpop: synthpop done
[13:03:46] synthesize_synthpop: building synthpop args
[13:03:46] 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:46] 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/RtmpKAgOI9/file397fa3390a42aa/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/RtmpKAgOI9/file397fa335cf84ca/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpKAgOI9/file397fa335cf84ca/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/RtmpKAgOI9/file397fa335cf84ca/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/RtmpKAgOI9/file397fa34deb6b21/ex/synthetic_data.csv")`: '/home/hornik/tmp/scratch/RtmpKAgOI9/file397fa34deb6b21/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/RtmpKAgOI9/file397fa34deb6b21/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