* using log directory ‘/Users/ripley/R/packages/tests-devel/OpenLand.Rcheck’ * using R Under development (unstable) (2024-03-25 r86188) * using platform: aarch64-apple-darwin23.4.0 * R was compiled by Apple clang version 15.0.0 (clang-1500.3.9.4) GNU Fortran (GCC) 12.2.0 * running under: macOS Sonoma 14.4 * using session charset: UTF-8 * using option ‘--no-stop-on-test-error’ * checking for file ‘OpenLand/DESCRIPTION’ ... OK * this is package ‘OpenLand’ version ‘1.0.2’ * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘OpenLand’ can be installed ... OK * checking installed package size ... OK * checking package directory ... OK * checking ‘build’ directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... OK * checking whether the package can be loaded with stated dependencies ... OK * checking whether the package can be unloaded cleanly ... OK * checking whether the namespace can be loaded with stated dependencies ... OK * checking whether the namespace can be unloaded cleanly ... OK * checking loading without being on the library search path ... OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... OK * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking contents of ‘data’ directory ... OK * checking data for non-ASCII characters ... OK * checking LazyData ... OK * checking data for ASCII and uncompressed saves ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘testthat.R’ ERROR Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(OpenLand) > > test_check("OpenLand") [ FAIL 2 | WARN 1 | SKIP 0 | PASS 110 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test_plots.R:57:3'): Behavior of the other plots ────────────────── `str\(barplotLand\(demo_cont\$lulc_Multistep, demo_cont\$tb_legend\)\)` does not match "List of 9". Actual value: "List of 11\\n \$ data : gropd_df \[30 × 4\] \(S3: grouped_df/tbl_df/tbl/data\.frame\)\\n \.\.\$ Year : int \[1:30\] 2001 2001 2001 2001 2001 2002 2002 2002 2002 2002 \.\.\.\\n \.\.\$ lulc : Factor w/ 5 levels "GUP","OZS","PSN",\.\.: 1 2 3 4 5 1 2 3 4 5 \.\.\.\\n \.\.\$ area : num \[1:30\] 0\.00191 0\.00199 0\.002 0\.002 0\.0021 \.\.\.\\n \.\.\$ \.group: int \[1:30\] 2 2 2 2 2 3 3 3 3 3 \.\.\.\\n \.\.- attr\(\*, "groups"\)= tibble \[6 × 2\] \(S3: tbl_df/tbl/data\.frame\)\\n \.\. \.\.\$ Year : int \[1:6\] 2000 2001 2002 2003 2004 2005\\n \.\. \.\.\$ \.rows: list \[1:6\] \\n \.\. \.\. \.\.\$ : int \[1:5\] 26 27 28 29 30\\n \.\. \.\. \.\.\$ : int \[1:5\] 1 2 3 4 5\\n \.\. \.\. \.\.\$ : int \[1:5\] 6 7 8 9 10\\n \.\. \.\. \.\.\$ : int \[1:5\] 11 12 13 14 15\\n \.\. \.\. \.\.\$ : int \[1:5\] 16 17 18 19 20\\n \.\. \.\. \.\.\$ : int \[1:5\] 21 22 23 24 25\\n \.\. \.\. \.\.@ ptype: int\(0\) \\n \.\. \.\.- attr\(\*, "\.drop"\)= logi TRUE\\n \$ layers :List of 1\\n \.\.\$ :Classes 'LayerInstance', 'Layer', 'ggproto', 'gg' \\n aes_params: list\\n compute_aesthetics: function\\n compute_geom_1: function\\n compute_geom_2: function\\n compute_position: function\\n compute_statistic: function\\n computed_geom_params: NULL\\n computed_mapping: NULL\\n computed_stat_params: NULL\\n constructor: call\\n data: waiver\\n draw_geom: function\\n finish_statistics: function\\n geom: \\n aesthetics: function\\n default_aes: uneval\\n draw_group: function\\n draw_key: function\\n draw_layer: function\\n draw_panel: function\\n extra_params: just na\.rm orientation\\n handle_na: function\\n non_missing_aes: xmin xmax ymin ymax\\n optional_aes: \\n parameters: function\\n rename_size: TRUE\\n required_aes: x y\\n setup_data: function\\n setup_params: function\\n use_defaults: function\\n super: \\n geom_params: list\\n inherit\.aes: TRUE\\n layer_data: function\\n map_statistic: function\\n mapping: uneval\\n position: \\n compute_layer: function\\n compute_panel: function\\n preserve: total\\n required_aes: \\n setup_data: function\\n setup_params: function\\n width: NULL\\n super: \\n print: function\\n setup_layer: function\\n show\.legend: NA\\n stat: \\n aesthetics: function\\n compute_group: function\\n compute_layer: function\\n compute_panel: function\\n default_aes: uneval\\n dropped_aes: \\n extra_params: na\.rm\\n finish_layer: function\\n non_missing_aes: \\n optional_aes: \\n parameters: function\\n required_aes: \\n retransform: TRUE\\n setup_data: function\\n setup_params: function\\n super: \\n stat_params: list\\n super: \\n \$ scales :Classes 'ScalesList', 'ggproto', 'gg' \\n add: function\\n add_defaults: function\\n add_missing: function\\n backtransform_df: function\\n clone: function\\n find: function\\n get_scales: function\\n has_scale: function\\n input: function\\n map_df: function\\n n: function\\n non_position_scales: function\\n scales: list\\n train_df: function\\n transform_df: function\\n super: \\n \$ guides :Classes 'Guides', 'ggproto', 'gg' \\n add: function\\n assemble: function\\n build: function\\n draw: function\\n get_custom: function\\n get_guide: function\\n get_params: function\\n get_position: function\\n guides: NULL\\n merge: function\\n missing: \\n add_title: function\\n arrange_layout: function\\n assemble_drawing: function\\n available_aes: any\\n build_decor: function\\n build_labels: function\\n build_ticks: function\\n build_title: function\\n draw: function\\n draw_early_exit: function\\n elements: list\\n extract_decor: function\\n extract_key: function\\n extract_params: function\\n get_layer_key: function\\n hashables: list\\n measure_grobs: function\\n merge: function\\n override_elements: function\\n params: list\\n process_layers: function\\n setup_elements: function\\n setup_params: function\\n train: function\\n transform: function\\n super: \\n package_box: function\\n print: function\\n process_layers: function\\n setup: function\\n subset_guides: function\\n train: function\\n update_params: function\\n super: \\n \$ mapping :List of 2\\n \.\.\$ x: language ~as\.character\(Year\)\\n \.\. \.\.- attr\(\*, "\.Environment"\)= \\n \.\.\$ y: language ~area\\n \.\. \.\.- attr\(\*, "\.Environment"\)= \\n \.\.- attr\(\*, "class"\)= chr "uneval"\\n \$ theme :List of 1\\n \.\.\$ plot\.title:List of 11\\n \.\. \.\.\$ family : NULL\\n \.\. \.\.\$ face : NULL\\n \.\. \.\.\$ colour : NULL\\n \.\. \.\.\$ size : NULL\\n \.\. \.\.\$ hjust : num 0\.5\\n \.\. \.\.\$ vjust : NULL\\n \.\. \.\.\$ angle : NULL\\n \.\. \.\.\$ lineheight : NULL\\n \.\. \.\.\$ margin : NULL\\n \.\. \.\.\$ debug : NULL\\n \.\. \.\.\$ inherit\.blank: logi FALSE\\n \.\. \.\.- attr\(\*, "class"\)= chr \[1:2\] "element_text" "element"\\n \.\.- attr\(\*, "complete"\)= logi FALSE\\n \.\.- attr\(\*, "validate"\)= logi TRUE\\n \$ coordinates:Classes 'CoordCartesian', 'Coord', 'ggproto', 'gg' \\n aspect: function\\n backtransform_range: function\\n clip: on\\n default: TRUE\\n distance: function\\n expand: TRUE\\n is_free: function\\n is_linear: function\\n labels: function\\n limits: list\\n modify_scales: function\\n range: function\\n render_axis_h: function\\n render_axis_v: function\\n render_bg: function\\n render_fg: function\\n setup_data: function\\n setup_layout: function\\n setup_panel_guides: function\\n setup_panel_params: function\\n setup_params: function\\n train_panel_guides: function\\n transform: function\\n super: \\n \$ facet :Classes 'FacetNull', 'Facet', 'ggproto', 'gg' \\n compute_layout: function\\n draw_back: function\\n draw_front: function\\n draw_labels: function\\n draw_panels: function\\n finish_data: function\\n init_scales: function\\n map_data: function\\n params: list\\n setup_data: function\\n setup_params: function\\n shrink: TRUE\\n train_scales: function\\n vars: function\\n super: \\n \$ plot_env : \\n \$ layout :Classes 'Layout', 'ggproto', 'gg' \\n coord: NULL\\n coord_params: list\\n facet: NULL\\n facet_params: list\\n finish_data: function\\n get_scales: function\\n layout: NULL\\n map_position: function\\n panel_params: NULL\\n panel_scales_x: NULL\\n panel_scales_y: NULL\\n render: function\\n render_labels: function\\n reset_scales: function\\n resolve_label: function\\n setup: function\\n setup_panel_guides: function\\n setup_panel_params: function\\n train_position: function\\n super: \\n \$ labels :List of 4\\n \.\.\$ title: NULL\\n \.\.\$ y : chr "Area \(km2 or pixel\)"\\n \.\.\$ x : chr "Year"\\n \.\.\$ fill : chr "LUC Categories"\\n - attr\(\*, "class"\)= chr \[1:2\] "gg" "ggplot"" Backtrace: ▆ 1. └─testthat::expect_output(...) at test_plots.R:57:3 2. └─testthat::expect_match(...) 3. └─testthat:::expect_match_(...) ── Failure ('test_plots.R:59:3'): Behavior of the other plots ────────────────── `str\(netgrossplot\(demo_cont\$lulc_Multistep, demo_cont\$tb_legend\)\)` does not match "List of 9". Actual value: "List of 11\\n \$ data : tibble \[200 × 5\] \(S3: tbl_df/tbl/data\.frame\)\\n \.\.\$ Period : chr \[1:200\] "2000-2001" "2000-2001" "2000-2001" "2000-2001" \.\.\.\\n \.\.\$ area_gross: num \[1:200\] 0\.000388 0\.000379 0\.00038 0\.000411 0\.000403 0\.000416 0\.000368 0\.000445 0\.000387 0\.000399 \.\.\.\\n \.\.\$ From : Factor w/ 5 levels "GUP","OZS","PSN",\.\.: 3 3 3 3 4 4 4 4 2 2 \.\.\.\\n \.\.\$ To : Factor w/ 5 levels "GUP","OZS","PSN",\.\.: 4 2 1 5 3 2 1 5 3 4 \.\.\.\\n \.\.\$ changes : chr \[1:200\] "Gain" "Gain" "Gain" "Gain" \.\.\.\\n \$ layers :List of 4\\n \.\.\$ :Classes 'LayerInstance', 'Layer', 'ggproto', 'gg' \\n aes_params: list\\n compute_aesthetics: function\\n compute_geom_1: function\\n compute_geom_2: function\\n compute_position: function\\n compute_statistic: function\\n computed_geom_params: NULL\\n computed_mapping: NULL\\n computed_stat_params: NULL\\n constructor: call\\n data: waiver\\n draw_geom: function\\n finish_statistics: function\\n geom: \\n aesthetics: function\\n default_aes: uneval\\n draw_group: function\\n draw_key: function\\n draw_layer: function\\n draw_panel: function\\n extra_params: just na\.rm orientation\\n handle_na: function\\n non_missing_aes: xmin xmax ymin ymax\\n optional_aes: \\n parameters: function\\n rename_size: TRUE\\n required_aes: x y\\n setup_data: function\\n setup_params: function\\n use_defaults: function\\n super: \\n geom_params: list\\n inherit\.aes: TRUE\\n layer_data: function\\n map_statistic: function\\n mapping: uneval\\n position: \\n compute_layer: function\\n compute_panel: function\\n fill: FALSE\\n required_aes: \\n reverse: FALSE\\n setup_data: function\\n setup_params: function\\n type: NULL\\n vjust: 1\\n super: \\n print: function\\n setup_layer: function\\n show\.legend: NA\\n stat: \\n aesthetics: function\\n compute_group: function\\n compute_layer: function\\n compute_panel: function\\n default_aes: uneval\\n dropped_aes: \\n extra_params: na\.rm\\n finish_layer: function\\n non_missing_aes: \\n optional_aes: \\n parameters: function\\n required_aes: \\n retransform: TRUE\\n setup_data: function\\n setup_params: function\\n super: \\n stat_params: list\\n super: \\n \.\.\$ :Classes 'LayerInstance', 'Layer', 'ggproto', 'gg' \\n aes_params: list\\n compute_aesthetics: function\\n compute_geom_1: function\\n compute_geom_2: function\\n compute_position: function\\n compute_statistic: function\\n computed_geom_params: NULL\\n computed_mapping: NULL\\n computed_stat_params: NULL\\n constructor: call\\n data: tbl_df, tbl, data\.frame\\n draw_geom: function\\n finish_statistics: function\\n geom: \\n aesthetics: function\\n default_aes: uneval\\n draw_group: function\\n draw_key: function\\n draw_layer: function\\n draw_panel: function\\n extra_params: just na\.rm orientation\\n handle_na: function\\n non_missing_aes: xmin xmax ymin ymax\\n optional_aes: \\n parameters: function\\n rename_size: TRUE\\n required_aes: x y\\n setup_data: function\\n setup_params: function\\n use_defaults: function\\n super: \\n geom_params: list\\n inherit\.aes: FALSE\\n layer_data: function\\n map_statistic: function\\n mapping: uneval\\n position: \\n compute_layer: function\\n compute_panel: function\\n fill: FALSE\\n required_aes: \\n reverse: FALSE\\n setup_data: function\\n setup_params: function\\n type: NULL\\n vjust: 1\\n super: \\n print: function\\n setup_layer: function\\n show\.legend: NA\\n stat: \\n aesthetics: function\\n compute_group: function\\n compute_layer: function\\n compute_panel: function\\n default_aes: uneval\\n dropped_aes: \\n extra_params: na\.rm\\n finish_layer: function\\n non_missing_aes: \\n optional_aes: \\n parameters: function\\n required_aes: \\n retransform: TRUE\\n setup_data: function\\n setup_params: function\\n super: \\n stat_params: list\\n super: \\n \.\.\$ :Classes 'LayerInstance', 'Layer', 'ggproto', 'gg' \\n aes_params: list\\n compute_aesthetics: function\\n compute_geom_1: function\\n compute_geom_2: function\\n compute_position: function\\n compute_statistic: function\\n computed_geom_params: NULL\\n computed_mapping: NULL\\n computed_stat_params: NULL\\n constructor: call\\n data: tbl_df, tbl, data\.frame\\n draw_geom: function\\n finish_statistics: function\\n geom: \\n aesthetics: function\\n default_aes: uneval\\n draw_group: function\\n draw_key: function\\n draw_layer: function\\n draw_panel: function\\n extra_params: na\.rm\\n handle_na: function\\n non_missing_aes: linetype linewidth\\n optional_aes: \\n parameters: function\\n rename_size: TRUE\\n required_aes: x y xend\|yend\\n setup_data: function\\n setup_params: function\\n use_defaults: function\\n super: \\n geom_params: list\\n inherit\.aes: TRUE\\n layer_data: function\\n map_statistic: function\\n mapping: uneval\\n position: \\n compute_layer: function\\n compute_panel: function\\n required_aes: \\n setup_data: function\\n setup_params: function\\n super: \\n print: function\\n setup_layer: function\\n show\.legend: NA\\n stat: \\n aesthetics: function\\n compute_group: function\\n compute_layer: function\\n compute_panel: function\\n default_aes: uneval\\n dropped_aes: \\n extra_params: na\.rm\\n finish_layer: function\\n non_missing_aes: \\n optional_aes: \\n parameters: function\\n required_aes: \\n retransform: TRUE\\n setup_data: function\\n setup_params: function\\n super: \\n stat_params: list\\n super: \\n \.\.\$ :Classes 'LayerInstance', 'Layer', 'ggproto', 'gg' \\n aes_params: list\\n compute_aesthetics: function\\n compute_geom_1: function\\n compute_geom_2: function\\n compute_position: function\\n compute_statistic: function\\n computed_geom_params: NULL\\n computed_mapping: NULL\\n computed_stat_params: NULL\\n constructor: call\\n data: data\.frame\\n draw_geom: function\\n finish_statistics: function\\n geom: \\n aesthetics: function\\n check_constant_aes: FALSE\\n default_aes: uneval\\n draw_group: function\\n draw_key: function\\n draw_layer: function\\n draw_panel: function\\n extra_params: na\.rm\\n handle_na: function\\n non_missing_aes: \\n optional_aes: \\n parameters: function\\n rename_size: TRUE\\n required_aes: yintercept\\n setup_data: function\\n setup_params: function\\n use_defaults: function\\n super: \\n geom_params: list\\n inherit\.aes: FALSE\\n layer_data: function\\n map_statistic: function\\n mapping: uneval\\n position: \\n compute_layer: function\\n compute_panel: function\\n required_aes: \\n setup_data: function\\n setup_params: function\\n super: \\n print: function\\n setup_layer: function\\n show\.legend: FALSE\\n stat: \\n aesthetics: function\\n compute_group: function\\n compute_layer: function\\n compute_panel: function\\n default_aes: uneval\\n dropped_aes: \\n extra_params: na\.rm\\n finish_layer: function\\n non_missing_aes: \\n optional_aes: \\n parameters: function\\n required_aes: \\n retransform: TRUE\\n setup_data: function\\n setup_params: function\\n super: \\n stat_params: list\\n super: \\n \$ scales :Classes 'ScalesList', 'ggproto', 'gg' \\n add: function\\n add_defaults: function\\n add_missing: function\\n backtransform_df: function\\n clone: function\\n find: function\\n get_scales: function\\n has_scale: function\\n input: function\\n map_df: function\\n n: function\\n non_position_scales: function\\n scales: list\\n train_df: function\\n transform_df: function\\n super: \\n \$ guides :Classes 'Guides', 'ggproto', 'gg' \\n add: function\\n assemble: function\\n build: function\\n draw: function\\n get_custom: function\\n get_guide: function\\n get_params: function\\n get_position: function\\n guides: NULL\\n merge: function\\n missing: \\n add_title: function\\n arrange_layout: function\\n assemble_drawing: function\\n available_aes: any\\n build_decor: function\\n build_labels: function\\n build_ticks: function\\n build_title: function\\n draw: function\\n draw_early_exit: function\\n elements: list\\n extract_decor: function\\n extract_key: function\\n extract_params: function\\n get_layer_key: function\\n hashables: list\\n measure_grobs: function\\n merge: function\\n override_elements: function\\n params: list\\n process_layers: function\\n setup_elements: function\\n setup_params: function\\n train: function\\n transform: function\\n super: \\n package_box: function\\n print: function\\n process_layers: function\\n setup: function\\n subset_guides: function\\n train: function\\n update_params: function\\n super: \\n \$ mapping :List of 2\\n \.\.\$ x: language ~To\\n \.\. \.\.- attr\(\*, "\.Environment"\)= \\n \.\.\$ y: language ~area_gross\\n \.\. \.\.- attr\(\*, "\.Environment"\)= \\n \.\.- attr\(\*, "class"\)= chr "uneval"\\n \$ theme :List of 1\\n \.\.\$ plot\.title:List of 11\\n \.\. \.\.\$ family : NULL\\n \.\. \.\.\$ face : NULL\\n \.\. \.\.\$ colour : NULL\\n \.\. \.\.\$ size : NULL\\n \.\. \.\.\$ hjust : num 0\.5\\n \.\. \.\.\$ vjust : NULL\\n \.\. \.\.\$ angle : NULL\\n \.\. \.\.\$ lineheight : NULL\\n \.\. \.\.\$ margin : NULL\\n \.\. \.\.\$ debug : NULL\\n \.\. \.\.\$ inherit\.blank: logi FALSE\\n \.\. \.\.- attr\(\*, "class"\)= chr \[1:2\] "element_text" "element"\\n \.\.- attr\(\*, "complete"\)= logi FALSE\\n \.\.- attr\(\*, "validate"\)= logi TRUE\\n \$ coordinates:Classes 'CoordCartesian', 'Coord', 'ggproto', 'gg' \\n aspect: function\\n backtransform_range: function\\n clip: on\\n default: TRUE\\n distance: function\\n expand: TRUE\\n is_free: function\\n is_linear: function\\n labels: function\\n limits: list\\n modify_scales: function\\n range: function\\n render_axis_h: function\\n render_axis_v: function\\n render_bg: function\\n render_fg: function\\n setup_data: function\\n setup_layout: function\\n setup_panel_guides: function\\n setup_panel_params: function\\n setup_params: function\\n train_panel_guides: function\\n transform: function\\n super: \\n \$ facet :Classes 'FacetNull', 'Facet', 'ggproto', 'gg' \\n compute_layout: function\\n draw_back: function\\n draw_front: function\\n draw_labels: function\\n draw_panels: function\\n finish_data: function\\n init_scales: function\\n map_data: function\\n params: list\\n setup_data: function\\n setup_params: function\\n shrink: TRUE\\n train_scales: function\\n vars: function\\n super: \\n \$ plot_env : \\n \$ layout :Classes 'Layout', 'ggproto', 'gg' \\n coord: NULL\\n coord_params: list\\n facet: NULL\\n facet_params: list\\n finish_data: function\\n get_scales: function\\n layout: NULL\\n map_position: function\\n panel_params: NULL\\n panel_scales_x: NULL\\n panel_scales_y: NULL\\n render: function\\n render_labels: function\\n reset_scales: function\\n resolve_label: function\\n setup: function\\n setup_panel_guides: function\\n setup_panel_params: function\\n train_position: function\\n super: \\n \$ labels :List of 7\\n \.\.\$ title : NULL\\n \.\.\$ y : chr "Area \(Km2\)"\\n \.\.\$ x : chr "LUC category"\\n \.\.\$ fill : chr "Changes"\\n \.\.\$ xend : chr "as\.numeric\(To\) \+ 0\.3"\\n \.\.\$ yend : chr "area"\\n \.\.\$ yintercept: chr "yintercept"\\n - attr\(\*, "class"\)= chr \[1:2\] "gg" "ggplot"" Backtrace: ▆ 1. └─testthat::expect_output(...) at test_plots.R:59:3 2. └─testthat::expect_match(...) 3. └─testthat:::expect_match_(...) [ FAIL 2 | WARN 1 | SKIP 0 | PASS 110 ] Error: Test failures Execution halted * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [17s/17s] OK * checking PDF version of manual ... OK * checking HTML version of manual ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR See ‘/Users/ripley/R/packages/tests-devel/OpenLand.Rcheck/00check.log’ for details. 101.21 real 92.12 user 6.30 sys